matlab双坐标各两条曲线

问题描述:

matlab双坐标各两条曲线
K=[4.1 3.24 2.88 2.34 2.08 1.9 1.82 1.5 1.44...
1.12 1.05 1.02 0.95 0.92 0.83 0.72 0.66 0.54];
II=[0 0.1 0.2 0.3 0.36 0.4 0.42 0.48 0.5...
0.57 0.6 0.7 0.78 0.8 0.9 1.0 1.05 1.1];
YY=[31.6 32.3 33.4 35.1 36.2 37.2 37.5 39.0 39.4...
40.9 40.1 37.1 34.0 33.6 29.5 24.1]/1000;
nB1=[ 1787 1776 1752 1720 1699 1680 1674 1646 1638 1610 1625 1682 1741 1748 1827 1931 ];
nB= [2031 2028 2023 2016 2013 2008 2007 2001 1997 1975 1987 2008 2021 2023 2040 2063 ];
MB1=[ 207 209 210.3 213 214.3 215.4 215.5 216.7 216.8 217.5 217.2 215.3 211.4 210.6 202 184.3];
MB =[267.3 272.5 280.5 280.5 292.7 300.6 307.6 309.7 320.2 322.3 327.4 306.9 284.8 281.9 251.8 210.5];
clear nT MT NTi;
for j=1:1:16;
nT1(j)=nB1(j)*II(j);
nT(j)=nB(j)*II(j);
MT1(j)=MB1(j)*K(j);
MT(j)=MB(j)*K(j);
NT1(j)=(0.147*(10.^3)*MT1(j)*nT1(j))*(10.^(-4));
NT(j)=(0.147*(10.^3)*MT(j)*nT(j))*(10.^(-4));
end
hold on;
xx1=0:1:2000;
xx2=0:1:2000;
xx3=0:1:2000;
xx4=0:1:2000;
yy1=spline(nT1,MT1,xx1);
yy2=spline(nT1,NT1,xx2);
yy3=spline(nT,MT,xx3);
yy4=spline(nT,NT,xx4);
[AX,H1,H2]=plotyy([xx1,xx3],[yy1,yy3],[xx2,xx4],[yy2,yy4],'plot');
左边坐标轴画xx1,yy1,xx3,yy3,右边坐标轴,xx2,yy2,xx4,yy4,现在这样画多出两条线,有没办法能画出需要的图,然后调整这个双坐标轴的纵坐标范围,前面的数组和公式只是计算
1个回答 分类:综合 2014-11-01

问题解答:

我来补答
K=[4.1 3.24 2.88 2.34 2.08 1.9 1.82 1.5 1.44...
1.12 1.05 1.02 0.95 0.92 0.83 0.72 0.66 0.54];
II=[0 0.1 0.2 0.3 0.36 0.4 0.42 0.48 0.5...
0.57 0.6 0.7 0.78 0.8 0.9 1.0 1.05 1.1];
YY=[31.6 32.3 33.4 35.1 36.2 37.2 37.5 39.0 39.4...
40.9 40.1 37.1 34.0 33.6 29.5 24.1]/1000;
nB1=[ 1787 1776 1752 1720 1699 1680 1674 1646 1638 1610 1625 1682 1741 1748 1827 1931 ];
nB= [2031 2028 2023 2016 2013 2008 2007 2001 1997 1975 1987 2008 2021 2023 2040 2063 ];
MB1=[ 207 209 210.3 213 214.3 215.4 215.5 216.7 216.8 217.5 217.2 215.3 211.4 210.6 202 184.3];
MB =[267.3 272.5 280.5 280.5 292.7 300.6 307.6 309.7 320.2 322.3 327.4 306.9 284.8 281.9 251.8 210.5];
clear nT MT NTi;
for j=1:1:16;
nT1(j)=nB1(j)*II(j); nT(j)=nB(j)*II(j); MT1(j)=MB1(j)*K(j);
MT(j)=MB(j)*K(j); NT1(j)=(0.147*(10.^3)*MT1(j)*nT1(j))*(10.^(-4));
NT(j)=(0.147*(10.^3)*MT(j)*nT(j))*(10.^(-4));
end
xx1=0:1:2000; xx2=0:1:2000; xx3=0:1:2000; xx4=0:1:2000;
yy1=spline(nT1,MT1,xx1); yy2=spline(nT1,NT1,xx2);
yy3=spline(nT,MT,xx3); yy4=spline(nT,NT,xx4);
%方法1
[AX_1,H1_1,H2_1]=plotyy(xx1,yy1,xx2,yy2);
hold on
[AX_2,H1_2,H2_2]=plotyy(xx3,yy3,xx4,yy4);
%%方法2,借用1楼的,先建立双坐标轴,然后分别画
% [AX,H1,H2]=plotyy(xx1,yy1,xx2,yy2);set(gcf,'CurrentAxes',AX(1));
% hold on;
% plot(xx3,yy3);set(gcf,'CurrentAxes',AX(2));
% hold on;
% plot(xx4,yy4);
只是两个图的结果有些不一样,应该是我哪里做的有点问题,可根据情况修改,有问题再讨论.
 
 
展开全文阅读
剩余:2000
上一页:圆向量