How to define which variable is x and which variable is y axis?

5 ビュー (過去 30 日間)
John
John 2014 年 10 月 7 日
編集済み: Matt J 2014 年 10 月 7 日
I have an equation like "2*c^2 - 4*b = 0" with b ranging from 0 to 10. I want to plot a graph of b verses c with b on the x axis. How would I tell the program to plot b on the x axis and c on the y axis?

回答 (4 件)

Mischa Kim
Mischa Kim 2014 年 10 月 7 日
編集済み: Mischa Kim 2014 年 10 月 7 日
John, simply use
plot(b,c)
The first argument is the x the second the y axis. Or, if you want to show both solution branches
b = 0:0.1:10;
c = sqrt(2*b);
plot(b,c,b,-c)

Star Strider
Star Strider 2014 年 10 月 7 日
First, a bit of algebra to create ‘c’ as a function of ‘b’, then it’s simply another plot:
b = linspace(0,10);
c = [-sqrt(2*b); sqrt(2*b)];
figure(1)
plot(b, c)
grid
  4 件のコメント
Star Strider
Star Strider 2014 年 10 月 7 日
My pleasure!
The sincerest expression of appreciation here on MATLAB Answers is to Accept the Answer that most closely solves your problem.
Andrew Reibold
Andrew Reibold 2014 年 10 月 7 日
編集済み: Andrew Reibold 2014 年 10 月 7 日
Alternatively, PayPal is accepted too xD

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


John
John 2014 年 10 月 7 日
Thanks that clears up a lot however if I can't separate b into one term is there a way to plot it. This is the actual equation:
V=[pi+arctan(b/(1-b))^(1/2)+arctan((b+2)(1-b))^(1/2)]/(1-b)^(1/2)
I want V to be the x axis from 0 to 15. I want to solve for b and plot the results on the y axis.

Matt J
Matt J 2014 年 10 月 7 日
編集済み: Matt J 2014 年 10 月 7 日
f = @(V,b)V-(pi+atan(b./(1-b)).^(1./2)+atan((b+2).*(1-b)).^(1./2))./(1-b).^(1./2);
ezplot(f,[0,1.1,15,100]);
  3 件のコメント
Mohammad Abouali
Mohammad Abouali 2014 年 10 月 7 日
編集済み: Mohammad Abouali 2014 年 10 月 7 日
Yes, with x being V and y being b. so xmin=0 xmax=15
and again put b=1.1 and check what your V turns out to be.
ff=@(b) (pi+atan(b./(1-b)).^(1./2)+atan((b+2).*(1-b)).^(1./2))./(1-b).^(1./2);
V would be a complex number
He wants 0<V<15 on x axis
Matt J
Matt J 2014 年 10 月 7 日
編集済み: Matt J 2014 年 10 月 7 日
Right you are (although I think it is the real part and not the norm that is being plotted). Here's a modification that fixes that issue,
function doPlot
ezplot(@(V,b) f(V,b),[0,15,0,1]);
function fval = f(V,b)
fval = V-(pi+atan(b./(1-b)).^(1./2)+atan((b+2).*(1-b)).^(1./2))./(1-b).^(1./2);
fval=fval/(imag(fval)==0);
end
end

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

カテゴリ

Help Center および File ExchangeAxis Labels についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by