beginner question :subject : For loops , while loops , index variable

Write a MATLAB statements required to calculate y(t) from the equation
y(t)= -3*t^2 + 5 when t >= 0, y(t)= 3*t^2 + 5 when t < 0
The values of t between -9 and 9 in steps of 0.5. (Use loops and branches)
??????????????is this correct ?????????????????????????
OR DO I HAVE TO PRE-ALLOCATE TIME (t) before I START THE LOOP
my program:
t = -9:0.5:9; % initialize the control expression
for ii = 1:length(t)
if t(ii) >= 0
y = -3*t.^2 + 5;
else
y = 3*t.^2 + 5;
end
end
if true

回答(3 个)

When you display "y" afterwards, is the number of values the same as the number of values in "t" ?
This is what I would do:
for k=1:length(t)
if t(k)<=0
y4(k)=3*t(k)^2 + 5;
else
y4(k)=-3*t(k)^2 + 5;
end
end
You don't need the point after t here y = -3*t.^2 + 5;
Compare with the answer with no loops and branches
>> t2=0:0.5:9;
>> y2=-3*t2.^2 + 5;
>> t1=-9:0.5:-0.5;
>> y1=3*t1.^2 + 5;
>> y=[y1 y2];
>> isequal(y,y4)
ans =
1
Thanks Carlos and Walter , but it is still not clear to me... nonetheless, your advice helps alot. I just have to practice a lil bit

类别

在 帮助中心 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by