In an assignment A(I) = B, the number of elements in B and I must be the same.
1 view (last 30 days)
Show older comments
t=0 : dt : tmax;
mpts=length(t);
for i=1:mpts
if (t>=0) & (t<=t1)
rd(i)=a1*t.^3+b1*t.^2;
r(i)=((1/4)*a1*t.^4)+((1/3)*b1*t.^3);
elseif (t>t1) & (t<=t2)
rd(i)=m;
r(i)=m*(t-t1)+k1;
else
rd(i)=a3*t.^3+b3*t.^2+c3*t+d3;
r(i)=a3/4*(t.^4-t2.^4)+b3/3*(t.^3-t2.^3)+c3/2*(t.^2-t2.^2)+d3*(t-t2)+k2;
end
end
The error occurs at the final 'rd(i)' section, I'm at a loss as to why! t1, t2 and t3 are all defined above this section of code. As is m, k1 and k2.
Any help is much appreciated!
0 Comments
Accepted Answer
James Tursa
on 3 Dec 2015
Edited: James Tursa
on 3 Dec 2015
t is a vector, so the expressions involving t that you have written will be vectors. You can't stuff a vector into a single element like rd(i) or r(i). I think you just need to index into t on your rhs equations. E.g.,
if (t(i)>=0) & (t(i)<=t1)
rd(i)=a1*t(i)^3+b1*t(i)^2;
r(i)=((1/4)*a1*t(i)^4)+((1/3)*b1*t(i)^3);
:
etc.
0 Comments
More Answers (0)
See Also
Categories
Find more on Startup and Shutdown in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!