永发信息网

急!急!急!谁能帮我把这个MATLAB程序中的图改的平滑些?clear allclcfigure(1

答案:2  悬赏:80  手机版
解决时间 2021-01-31 23:33
  • 提问者网友:未信
  • 2021-01-31 15:54
急!急!急!谁能帮我把这个MATLAB程序中的图改的平滑些?clear allclcfigure(1
最佳答案
  • 五星知识达人网友:轻雾山林
  • 2021-01-31 17:21
看起来你的y1,y2都是根据某公式计算出来的,最准确的方法是把x的分辨率增大,然后用公式重新计算,这样计算出的结果是真实的,就算不平滑也是有依据的.如果选择就以现在的数据想平滑一些,可以用三次样条进行差值.以figure(1)为例:x=[0.3 0.4 0.45 0.8 0.9 1 1.2 1.4 1.9 2.1 3 4 5 6 7 8 9 10];y1=[0.5 0.45 0.43 0.32 0.29 0.26 0.21 0.18 0.10 0.08 0.05 0.03 0.02 0.02 0.015 0.010 0.009 0.005];y2=[0.5 0.46 0.44 0.38 0.35 0.31 0.26 0.24 0.19 0.18 0.15 0.12 0.10 0.08 0.078 0.075 0.073 0.07];%xx=0.3:0.05:10;yy1=interp1(x,y1,xx,'spline');yy2=interp1(x,y2,xx,'spline');plot(xx,yy1,'-s'),hold onplot(xx,yy2,'-'),axis([0 10 0 0.5]);xlabel('n/u'),ylabel('Pr(H=0)'),legend('不考虑瑞利衰落','考虑瑞利衰落')这种方法至少保证在已知点的值是准确的.如果还不够平滑,可以进行多项式拟合,那连已知点的准确性也不能保证了.x=[0.3 0.4 0.45 0.8 0.9 1 1.2 1.4 1.9 2.1 3 4 5 6 7 8 9 10];y1=[0.5 0.45 0.43 0.32 0.29 0.26 0.21 0.18 0.10 0.08 0.05 0.03 0.02 0.02 0.015 0.010 0.009 0.005];y2=[0.5 0.46 0.44 0.38 0.35 0.31 0.26 0.24 0.19 0.18 0.15 0.12 0.10 0.08 0.078 0.075 0.073 0.07];%xx=0.3:0.05:10;p=polyfit(x,y1,5); % 5阶多项式,阶数的选择会影响最后的
全部回答
  • 1楼网友:风格不统一
  • 2021-01-31 17:37
这个问题的回答的对
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯