如何用MATLAB在一个图中用以下3组数据画三条直线?

2024-11-22 21:17:04
推荐回答(2个)
回答1:

首先画第一个图;
然后敲入hold on 再画第二个图
然后敲入hold on 再画第三个图
hold off
就可以了
昨天网坏了。补上
这个过程很复杂
首先你得拟合出方程表达式:
1)、下面是生成方程系数:
>> RL=[0 10 20 30 50 100 300 500 1000 5000 10000];
I=[100.3 91.4 83.9 77.5 67.2 50.2 25.2 16.9 9.3 1.98 1.01];
UO=[9.96 9.07 8.32 7.68 6.66 5.00 2.48 1.66 0.90 0.195 0.098];
UL=[0 0.88 1.63 2.27 3.30 4.98 7.51 8.34 9.09 9.81 9.91];
xs1=polyval(RL,I)
xs2=polyval(RL,UO)
xs3=polyval(RL,UL)
xs1 =
1.0e+019 *
1.0481 0.4551 0.2110 0.1035 0.0288 0.0021 0.0000 0.0000 0.0000 0.0000 0.0000
xs2 =
1.0e+010 *
1.1937 0.5258 0.2475 0.1233 0.0359 0.0031 0.0000 0.0000 0.0000 0.0000 0.0000
xs3 =
1.0e+010 *
0.0000 0.0000 0.0000 0.0000 0.0001 0.0030 0.1015 0.2527 0.5360 1.0449 1.1421
2)、生成具体的方程:
这一步我查了好多资料可惜没有现成的命令将其转化成数值方程,非数值在后面无法画出图形,所以你只能自己手动敲了。我给你敲个例子:
>> x=0:1:10000;
>> f1=1.0e+019*1.0481*x.^10+1.0e+019*0.4551*x.^9+1.0e+019*0.2110*x.^8+1.0e+019*0.1035*x.^7+1.0e+019*0.0288*x.^6+1.0e+019*0.0021*x.^5;
>> plot(x,f1)
如插入。
画出第一个之后不要关闭图片窗口,在command windows中敲入hold on 回车
再以同样的方法敲
f2=...
plot(x,f2)
hold on
f3=...
plot(x,f3)
hold off
就全部画在一张图上了
想复制下来,可以按Edit—Copy Figure随便粘在哪里就可以了。

回答2:

>> x1=[1 2 3 4 5 6];
x2=[1 2 3 4 5 6];
x3=[1 2 3 4 5 6];
X=[x1;x2;x3];
y1=[174.9 166 161.2 157 155.5 154.8];
y2=[80.4 93.6 102.2 107.8 110 112.5];
y3=[67.2 67.2 67.2 67.2 67.2 67.2];
Y=[y1;y2;y3];

plot(X',Y')
grid