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 Comment

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)

Sign in to comment.

 Accepted Answer

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);

More Answers (0)

Categories

Find more on Language Fundamentals in Help Center and File Exchange

Products

Release

R2021b

Asked:

on 25 Jan 2022

Commented:

on 25 Jan 2022

Community Treasure Hunt

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

Start Hunting!