EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
自然状态下,用plot画的是折线,而不是平滑曲线。 有两种方法可以画平滑曲线,第一种是拟合的方法,第二种是用spcrv,其实原理应该都一样就是插值。下面是源程序,大家可以根据需要自行选择,更改拟合的参数。 clc,clear;) v5 w( ]: J9 V/ v7 [4 V0 m
a = 1:1:6; %横坐标
- [ q% C8 J+ w4 L# i0 rb = [8.0 9.0 10.0 15.0 35.0 40.0]; %纵坐标
+ E' ~+ s9 c0 |, E& N4 zplot(a, b, 'b'); %自然状态的画图效果7 u# ^8 D. O- ^1 s, w
hold on;
3 y! T" q9 K8 b" _5 k# n%第一种,画平滑曲线的方法1 f7 R |. }( k: l3 U: ^' ^( z
c = polyfit(a, b, 2); %进行拟合,c为2次拟合后的系数/ @" T& i! w* `( v( g$ ~$ \, ?0 y
d = polyval(c, a, 1); %拟合后,每一个横坐标对应的值即为d9 i& G: [7 d4 S [' ^
plot(a, d, 'r'); %拟合后的曲线 plot(a, b, '*'); %将每个点 用*画出来* W- G3 N4 G; y' N. H+ o$ g
hold on;: L0 L# J0 [( J9 \ W
%第二种,画平滑曲线的方法
* N U5 _- _5 v9 Zvalues = spcrv([[a(1) a a(end)];[b(1) b b(end)]],3);
& [' I) b# I# T9 n. Nplot(values(1, ,values(2, , 'g'); 效果:
个人感觉后一种方法要好一些
% Q: ^+ M4 h- X; i. Z |