在一个图上绘制多个函数

时间:2015-06-22 15:50:00

标签: matlab matlab-figure

我正努力在一个人物上绘制多个功能。

以下是我的代码:

syms t a;
a=0.9514;
F1=0.5*sqrt(3*t^2);
F2=-0.28375*t^2+1.155*a*(t-a)+1;
F3=1;
E1=diff(F1,t);
E2=diff(F2,t);
E3=diff(F3,t);

我想绘制E1,E2和E3,每个只在一定范围内,以制作“复合”线。

我尝试使用ezplot绘图,但只绘制了最后一个。 plotfplot会出错。

ezplot((3^(1/2)*t)/(2*(t^2)^(1/2)),[0,0.5*a])
hold on
ezplot((231*a)/200 - (231*t)/400,[0.5*a,2*a])
hold on
ezplot(0,[2*a,2.5*a])

(E3 = 0)

如何让函数一次性绘制所有内容?

3 个答案:

答案 0 :(得分:2)

2件事:

1.-代码的最后一行会引发错误。错了。

2.-情节在那里,它只是你没有'看他们。尝试添加axis([0 1 0 1])以缩小!试着弄清楚哪些是你的极限(肯定不是0-1,0-1))

答案 1 :(得分:1)

我认为你错过了x限制。

google.maps.event.addDomListener(window, 'load', initialize);

答案 2 :(得分:0)

我建议使用t的一系列数字代替符号,

a=0.9514;
t1 = linspace(0.,0.5*a,1000);
t2 = linspace(0.5*a,2*a,1000);
t3 = linspace(2*a,2.5*a,1000);

F1=0.5*sqrt(3*t1.^2);
F2=-0.28375*t2.^2+1.155*a*(t2-a)+1;
F3=ones(size(t3));
E1=diff(F1)./diff(t1);
E2=diff(F2)./diff(t2);
E3=diff(F3)./diff(t3);
plot(t1(1:end-1), E1)
hold all
plot(t2(1:end-1), E2)
plot(t3(1:end-1), E3)

其中给出了以下内容,

enter image description here