回 帖 发 新 帖 刷新版面

主题:问一个简单的画图问题

各位高手 我是菜鸟,是这样的
我想对分段函数画图
M1q =-2*x^2;
M2q =6*x-6-2*x^2;
M3q =-2*(3-x)^2;

应该怎么画?
我用以下程序为何不行?
x=(0:0.01:1);plot(x,M1q);hold on;
x=(1:0.01:2);plot(x,M2q);hold on;
x=(2:0.01:3);plot(x,M3q);

高手们~~帮帮忙啊。。。这个小问题在你们眼里一定是很简单的啊~~

回复列表 (共4个回复)

沙发


先去看看matlab的运算符那部分

板凳

x1=(0:0.1:1)
 x2=(1:0.1:2)
x3=(2:0.1:3)
y1=(-2)*x1.^2;
>> y2=6*x2-2*x2.^2-6;
>> y3=-2*(3-x3)^2;
plot(x1,y1,'r+-',x2,y2,'bo:',x3,y3,'y--')

3 楼

我遇到的问题是这样的,部分程序如下  大家可以不去看if 那些语句,那些都是相关的条件判断,关键是判断完成后,的到M1,M1是又MF1,或MF3等加起来的,它们分别为关于x的函数,可为什么最后画不出图??出错为??? Error using ==> plot
Conversion to double from sym is not possible
啥意思?

键入M1 发现其为一个函数式,而不是一个矩阵。。。不解啊,,,高手们 帮俺看看
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
x=A(1):0.01:A(2);
if(pf1<=A(1))&(pf2>=A(2)) 
    M1=M1+MF1;
elseif(pf2<=A(1))&(pf3>=A(2))
     M1=M1+MF2;
elseif(pf3<=A(1))&(pf4>=A(2))
     M1=M1+MF3;
else
    M1=M1+MF4;
end;


if(pm1<=A(1))&(pm2>=A(2)) 
    M1=M1+MM1;
elseif(pm2<=A(1))&(pm3>=A(2))
     M1=M1+MM2;
elseif(pm3<=A(1))&(pm4>=A(2))
     M1=M1+MM3;
else
    M1=M1+MM4;
end;


if(pq1<=A(1))&(pq2>=A(2)) 
    M1=M1+Mq1;
elseif(pq2<=A(1))&(pq3>=A(2))
     M1=M1+Mq2;
else
     M1=M1+Mq3;
 end;
plot(x,M1);hold on;
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

4 楼

x1=(0:0.1:1);
 x2=(1:0.1:2);
x3=(2:0.1:3);
y1=(-2).*x1.^2;
y2=6.*x2-2.*x2.^2-6;
y3=-2.*(3-x3)^2;
plot(x1,y1,'r+-',x2,y2,'bo:',x3,y3,'y--')

我来回复

您尚未登录,请登录后再回复。点此登录或注册