EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
自然状态下,用plot画的是折线,而不是平滑曲线。 有两种方法可以画平滑曲线,第一种是拟合的方法,第二种是用spcrv,其实原理应该都一样就是插值。下面是源程序,大家可以根据需要自行选择,更改拟合的参数。 clc,clear;# ~( w5 }; @$ p, F" @" v
a = 1:1:6; %横坐标1 L7 j, F: b0 ~) @+ G
b = [8.0 9.0 10.0 15.0 35.0 40.0]; %纵坐标
2 D/ o9 U4 L3 s& w1 n; o7 Iplot(a, b, 'b'); %自然状态的画图效果 m. J* n5 n$ K6 {6 P8 D: n# p8 s+ s
hold on;
5 z/ e; w7 k$ P( F, A%第一种,画平滑曲线的方法
+ Q! i! p1 g' B; Ac = polyfit(a, b, 2); %进行拟合,c为2次拟合后的系数
+ Z( @* y- H+ Fd = polyval(c, a, 1); %拟合后,每一个横坐标对应的值即为d- k( q% I$ |9 E& B/ f
plot(a, d, 'r'); %拟合后的曲线 plot(a, b, '*'); %将每个点 用*画出来
" \. F- n! H6 }/ q/ ~7 z; w; Q6 ]hold on;8 X$ {. l2 r- U" g
%第二种,画平滑曲线的方法& w7 \2 \# a. i; o9 v8 W
values = spcrv([[a(1) a a(end)];[b(1) b b(end)]],3);
9 p S7 N: v% s( q1 k2 @! h8 mplot(values(1,: ),values(2,: ), 'g'); 效果:
$ z3 c) y1 z2 p+ R- B# x |