主题:问一个简单的画图问题
liyt100
[专家分:0] 发布于 2007-12-08 12:05:00
各位高手 我是菜鸟,是这样的
我想对分段函数画图
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个回复)
沙发
DingSun [专家分:730] 发布于 2007-12-08 17:13:00
先去看看matlab的运算符那部分
板凳
ruanqiang [专家分:30] 发布于 2007-12-11 00:13:00
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 楼
liyt100 [专家分:0] 发布于 2007-12-11 16:58:00
我遇到的问题是这样的,部分程序如下 大家可以不去看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 楼
laoaren [专家分:0] 发布于 2007-12-11 22:36:00
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--')
我来回复