24小时热门版块排行榜    

查看: 660  |  回复: 2

繁花似镜

铁虫 (小有名气)

[求助] 关于matlab双坐标的求助!

程序如下
data = xlsread('data.xls');
x=data(:,1);
y1=data(:,2);
y2=data(:,3);
n=5
p1=polyfit(x,y1,n);%5次多项式
p2=polyfit(x,y2,n);%5次多项式
dp1=polyder(p1);%导函数
dp2=polyder(p2);%导函数
t=linspace(0,480,97);
plot(x,y1,'ro',x,y2,'+');hold on
a=plotyy(t,polyval(p1,t),t,polyval(dp1,t));hold on;
b=plotyy(t,polyval(p2,t),t,polyval(dp2,t));
legend('秸秆体系温度','秸秆拟合曲线','location','southwest');hold on;
a=legend(a(2),'秸秆升温速率','location','southeast');hold on;
set(a,'color','w') ;hold on
legend('水体系温度','水拟合曲线','location','southwest')
b=legend(b(2),'水升温速率','location','southeast');
set(a,'color','b') ;
问题:现在
a=plotyy(t,polyval(p1,t),t,polyval(dp1,t));hold on;
b=plotyy(t,polyval(p2,t),t,polyval(dp2,t));
这两句里的右侧双坐标的范围不一致,坐标值重合,
关于设置标题栏的部分,完全一窍不通,最后只显示水体系部分!
legend('秸秆体系温度','秸秆拟合曲线','location','southwest');hold on;
a=legend(a(2),'秸秆升温速率','location','southeast');hold on;
set(a,'color','w') ;hold on
legend('水体系温度','水拟合曲线','location','southwest')
b=legend(b(2),'水升温速率','location','southeast');
set(a,'color','b') ;
这部分语言,单独针对一个秸秆体系的温度点、拟合线以及求导的显示都没问题,但一旦有秸秆和水两个体系,我就蒙了。求大神指导,优化这段程序
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ausir

木虫 (正式写手)

能把你的原始数据上传吗?
2楼2013-06-04 13:09:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

justyet

金虫 (著名写手)

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
ben_ladeng: 金币+2, 退还悬赏金币 2013-11-15 09:29:28
ben_ladeng: 把给楼主的评语给你了,抱歉哈 2013-11-15 09:30:21
双坐标的时候,最好人为设置xtick 和ytick。
这样做的目的是为了保证两个坐标系下,xtick 和ytick分成同样多的份数(比如两个y坐标都是5个格子)
语法是set(ax1,'XTick',[xMin : xStep:xMax])
具体设置的例子参考help Using Multiple X- and Y-Axes
3楼2013-06-05 01:14:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 繁花似镜 的主题更新
信息提示
请填处理意见