MATLAB: How to plot two graphs combined

combinefor loopgraphloopmultipleplot

I need to plot P=0.5+thetax on 0<x<0.33 and then P=theta(x-1) on 0.33<x<1. Do i use a for loop to do this? And if so how? Here is my code so far
x=linspace(0,1,50);
g=10;
A=0.33
M=0.125
s=(A-0.5)*M.*g-(A^2)/4;
theta=s./(2*M.*(A-0.5)^2+2*M+(A^2-A+1/3)/2);
P=(1/2)+theta*(x-1);
plot(x,P)
axis([0,1,-2,2])

Best Answer

Maybe something like this:
x=linspace(0,1,50)
g=10;
A=0.33
M=0.125
s=(A-0.5)*M.*g-(A^2)/4;
theta=s./(2*M.*(A-0.5)^2+2*M+(A^2-A+1/3)/2);
P=(1/2)+theta*(x-1);
xS = x< 0.33 % define x < 0.33
xL = x>0.33 % define x > 0.33
figure
plot(x(xS),0.5+theta*x(xS))
hold on
plot(x(xL),theta*(x(xL)-1))
hold off
axis([0,1,-2,2])
Related Question