multiple graphs are coming but I need only one

1 回表示 (過去 30 日間)
MINATI
MINATI 2019 年 2 月 27 日
編集済み: MINATI 2019 年 2 月 28 日
function main
S = 1; c = -1.25; Pr = 0.7; n = 0.8;
% n=input('n=') %%n=-0.3,-0.5
x = [3 -1];
x1 = fsolve(@solver, x);
function F = solver(x)
[t, u] = ode45(@equation,[0,5], [S, c, x(1), 1, x(2)]);
F = [u(end, 2)-1 u(end, 4)];
figure(1)
plot(t, u(:,4), 'b-');
hold on
end
function dy = equation(t, y)
dy = zeros(5,1);
dy(1) = y(2);
dy(2) = y(3);
dy(3) = y(2)^2 - y(1) * y(3) - 1;
dy(4) = y(5);
dy(5) = Pr * (n * y(2) * y(4) - y(1) * y(5));
end
end
%%The present code gives multiple graphs instead of 1
  2 件のコメント
Geoff Hayes
Geoff Hayes 2019 年 2 月 27 日
Minati - by multiple graphs do you mean multiple figures or multpile plots?
MINATI
MINATI 2019 年 2 月 27 日
Dear Geoff
- by multiple graphs do you mean multiple figures or multpile plots?
its multiple curves in one fig. but I need only one curve.
If I strike out "hold on" option then only one curve is comming.
But for different inputs of 'n'.,different curves should come into picture,which are not coming.

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

採用された回答

Walter Roberson
Walter Roberson 2019 年 2 月 27 日
Move the plotting out of solver() and put it after the fsolve() call before the definition of the function solver.
  3 件のコメント
Walter Roberson
Walter Roberson 2019 年 2 月 27 日
MINATI
MINATI 2019 年 2 月 28 日
編集済み: MINATI 2019 年 2 月 28 日
how can we take 'c' in x-axis(continuous range.[-1.3:0.02:-1.1])
with this code.
still unable to draw

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeDirected Graphs についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by