Matlab je založený na práci s maticemi, proto bych doporučil při implementaci kódu z Matlabu do Javy použít některou ze specializovaných knihoven pro lineární algebru, konkrétně za sebe můžu doporučit http://math.nist.gov/javanumerics/jama/ . Je zbytečné vymýšlet kolo a znova vymýšlet kód pro inicializování matic a počítání s nimi. Navíc dobrá knihovna nabídne některé optimalizace (typicky třeba u násobení matic, ty to asi u tohohle příkladu nepostřehneš, ale u násobení matic velikostí 1e6 x 1e6 už je to znát poměrně hodně). U JAMA jsem viděl, že to pár lidí, které znám, používalo pro implementaci algoritmů pro strojové učení v Javě.
Zbytek vysvětlím na příkladech:
t = (0:deltaT:T);
Př. t = (0:0.1:1);
ti vygeneruje vektor [0 0.1 0.2 ...... 0.9 1]
v = zeros(length(t), 3);
Př. v=zeros(2,3);
ti do proměnné v uloží nulovou matici 2x3, tedy
[0 0 0]
[0 0 0]
v(1, :) = v0;
Př. v(1,:) = 2;
udělá z matice
[0 0 0]
[0 0 0]
následující matici, vlastně nahradí první řádek dvojkami, tedy hodnotou v0
[2 2 2]
[0 0 0]
Zbytek už jsou prosté operace s maticemi a vektory. Jinak pozor - určitě nestačí udělat si třídu jenom pro třírozměrný vektor, vektory můžou být obecně n rozměrné, klidně můžou mít 1000 prvků. U matic je to podobné.