任何人都可以帮助我吗?我不能用不同的颜色显示传说中的线条。我该怎么做?
a1 = 0; b1 = 4;
a2 = 4; b2 = 10;
a3 = 6; b3 = 20;
x1=a1:.01:b1;
x2=a2:.01:b2;
x3=a3:.01:b3;
f1 = 1 ./ (b1 - a1);
f2 = 1 ./ (b2 - a2);
f3 = 1 ./ (b3 - a3);
plot(x1,f1,'r',x2,f2,'b',x3,f3,'y');
grid
xlabel('0 < x < 7 , 0.01 örnek aralığında') % x ekseni başlığı
ylabel('Üstel dağılımın olasılık yoğunluk fonksiyonu') % y ekseni başlığı
legend('s1','s2','s3')
答案 0 :(得分:2)
您正在针对标量x1
,x2
,x3
绘制向量f1
,f2
,f3
。来自plot()
的文档:
如果X或Y中的一个是标量而另一个是矢量,那么该图 函数将矢量绘制为标量值处的离散点。
矢量中的每个数据点都相对于相应的f值绘制为单独的lineseries,为您提供2403个单独的线序列。在您的图例调用中,您可以为前3行系列添加图例字符串,这些字符串全部为红色,因为前401个字体为红色。如果您希望绘制水平线,可以使用repmat()
f
变量创建向量
使用您的示例:
a1 = 0; b1 = 4;
a2 = 4; b2 = 10;
a3 = 6; b3 = 20;
x1=a1:.01:b1;
x2=a2:.01:b2;
x3=a3:.01:b3;
f1 = repmat((1 ./ (b1 - a1)), size(x1));
f2 = repmat((1 ./ (b2 - a2)), size(x2));
f3 = repmat((1 ./ (b3 - a3)), size(x3));
plot(x1,f1,'r',x2,f2,'b',x3,f3,'y');
grid
xlabel('0 < x < 7 , 0.01 örnek aralığında') % x ekseni başlığı
ylabel('Üstel dağılımın olasılık yoğunluk fonksiyonu') % y ekseni başlığı
legend('s1','s2','s3')