Program using both conditional and loop

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 日

0 投票

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
Felvie Valerie Leong 2021 年 2 月 7 日
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

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeSymbolic Math Toolbox についてさらに検索

タグ

質問済み:

2021 年 2 月 7 日

コメント済み:

2021 年 2 月 7 日

Community Treasure Hunt

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

Start Hunting!

Translated by