EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
自然状态下,用plot画的是折线,而不是平滑曲线。 有两种方法可以画平滑曲线,第一种是拟合的方法,第二种是用spcrv,其实原理应该都一样就是插值。下面是源程序,大家可以根据需要自行选择,更改拟合的参数。 clc,clear;
$ ^1 s7 ^6 j7 I& o s7 pa = 1:1:6; %横坐标/ I( k! s& s$ z* t& _
b = [8.0 9.0 10.0 15.0 35.0 40.0]; %纵坐标8 d1 s2 b* D7 b& r. j0 k% k
plot(a, b, 'b'); %自然状态的画图效果+ s8 X b9 `5 c: H
hold on;( P- J* \6 T# O# l' S
%第一种,画平滑曲线的方法
- n# S Q& \) Q9 ~2 ac = polyfit(a, b, 2); %进行拟合,c为2次拟合后的系数( Y$ Y: v9 @ S# C8 q7 B
d = polyval(c, a, 1); %拟合后,每一个横坐标对应的值即为d
3 }; r2 z' _0 o( `6 Rplot(a, d, 'r'); %拟合后的曲线 plot(a, b, '*'); %将每个点 用*画出来
/ V# D' \, Y8 `' ^" Hhold on;) Y5 ~- v: I$ e% W4 f9 l
%第二种,画平滑曲线的方法
. G) A) k/ a: ]# b9 ?5 j+ r3 evalues = spcrv([[a(1) a a(end)];[b(1) b b(end)]],3);
* [6 p1 D! i* l" Xplot(values(1, ,values(2, , 'g'); 效果:
个人感觉后一种方法要好一些 & A: o) C8 ~# N
|