Array indices must be positive integers or logical values

Hello, help me to solve this. I'm not into Matlab but doing this just for my assignment purpose. Had googled it but don't understand.
i=0:0.1:1;
for i = i
xt(i) = @(t) (-0.05)*t(i)^5+0.25*t(i)^4+t(i)+2-exp(-t(i));
yt(i) = @(t) t(i)^3+1;
zt(i) = @(t) (0.25*t(i)^4)+t(i)-exp(-t(i));
end
Array indices must be positive integers or logical values.

1 Kommentar

Ankit
Ankit am 25 Jan. 2022
Bearbeitet: Ankit am 25 Jan. 2022
It is clear from the error that your index should be positive integer ("Integers that are greater than zero are positive integers" i.e. 1,2,3...etc)

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

KSSV
KSSV am 25 Jan. 2022
t=0:0.1:1;
nt = length(t) ;
xt = zeros(nt,1) ;
for i = 1:length(t)
xt(i) = (-0.05)*t(i)^5+0.25*t(i)^4+t(i)+2-exp(-t(i));
yt(i) = t(i)^3+1;
zt(i) = (0.25*t(i)^4)+t(i)-exp(-t(i));
end
Actually you can do the same without loop.
i=0:0.1:1;
xt = (-0.05)*t.^5+0.25*t.^4+t+2-exp(-t);
yt = t.^3+1;
zt = (0.25*t.^4)+t-exp(-t);

Weitere Antworten (0)

Kategorien

Produkte

Version

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by