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 CenterFile Exchange에서 Axis Labels에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by