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那种图例。
展开
1个回答
展开全部
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-')
来自:求助得到的回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询