Program using both conditional and loop

1 次查看(过去 30 天)
I don't know how to make continuos plot with different condition, i attach the formula and expected output. Thank you so much!

回答(1 个)

Walter Roberson
Walter Roberson 2021-2-7
For example
for t = 0:.01:3
if t < 0.2
Y = t.^2 + 1;
elseif t <= 1
Y = (t - 1/4).^3 - t.^2 + sin(pi*t);
else
Y = cot(t .* pi);
end
Now record t
Now record Y
end
plot(recorded_t, recorded_Y)
  2 个评论
Felvie Valerie Leong
I can't run the 'Now record t' and 'Now record Y' code
Walter Roberson
Walter Roberson 2021-2-7
function Now(flaff, varname)
assert(strcmp(flaff, 'record'), 'Now what??')
persistent recorded_t recorded_Y
switch varname
case 't'
current_t = evalin('caller', 't');
recorded_t(end+1) = current_t;
case 'Y'
current_Y = evalin('caller', 'Y');
recorded_Y(end+1) = current_Y;
otherwise
error('Now can only record t or Y');
end
end

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Symbolic Math Toolbox 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by