matlab输出图片的图例不正确?

x1=[0.092,0.153,0.212,0.302,0.412,1.235,2.023]x2=[0.075,0.132,0.196,0.252,0.311,0.432... x1=[0.092,0.153,0.212,0.302,0.412,1.235,2.023]x2=[0.075,0.132,0.196,0.252,0.311,0.432,1.062]x3=[0.068,0.121,0.188,0.232,0.291,0.403,0.983]y[11.55,28.88,46.19,57.74,69.30,86.60,109.70]t=1:7;ts=1:0.01:7;x1s=spline(t,x1,ts);ys=spline(t,y,ts);plot(x1s,ys,x1,y,'o')hold onx2s=spline(t,x2,ts);ys=spline(t,y,ts);plot(x2s,ys,x2,y,'x')hold onx3s=spline(t,x3,ts);ys=spline(t,y,ts);plot(x3s,ys,x3,y,'d')legend('x1','x2','x3')这段代码得到图例X1 X2 X3不完整,怎么解决?我想生成图2那种图例。 展开
 我来答
lhmhz
高粉答主

2020-02-22 · 专注matlab等在各领域中的应用。
lhmhz
采纳数:7264 获赞数:17014

向TA提问 私信TA
展开全部

matlab输出图片的图例不正确的原因,是plot函数中没有标识内容,还有plot函数中只需用插值后的数据就可以了。

所以,题主的问题只要修改plot函数中的内容就可以了。即

plot(x1s,ys,'b.-') %,x1,y 去掉

plot(x2s,ys,'r*-')%,x2,y 去掉

plot(x3s,ys,'mo-') %,x3,y 去掉

其他问题,ts=1:0.01:7;的步长取太小了,取0.1就可以了。即

将ts=1:0.01:7;  改为  ts=1:0.1:7;

修改后运行可得



追问
这个曲线标记太密集了,怎么能够不显示那么多标记,而且还要保持曲线的平滑?
追答
那你可以这样改一下
plot(x1s,ys,'b-')
plot(x2s,ys,'r-')
plot(x3s,ys,'m-')
来自:求助得到的回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式