EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
自然状态下,用plot画的是折线,而不是平滑曲线。 有两种方法可以画平滑曲线,第一种是拟合的方法,第二种是用spcrv,其实原理应该都一样就是插值。下面是源程序,大家可以根据需要自行选择,更改拟合的参数。 clc,clear;
# U1 g% U; y8 [: T3 F1 o6 ~a = 1:1:6; %横坐标
7 u, W& e% }8 J+ s/ D% Cb = [8.0 9.0 10.0 15.0 35.0 40.0]; %纵坐标
& ^- ^ W4 y# }4 Gplot(a, b, 'b'); %自然状态的画图效果
: B( R# H7 L3 D1 jhold on;
% h6 C. ?5 C! K. b& r%第一种,画平滑曲线的方法
) T g$ J4 S& ~7 R1 Pc = polyfit(a, b, 2); %进行拟合,c为2次拟合后的系数
0 }3 c6 a# f4 z5 ]d = polyval(c, a, 1); %拟合后,每一个横坐标对应的值即为d, U/ e f, p- [7 ~# p
plot(a, d, 'r'); %拟合后的曲线 plot(a, b, '*'); %将每个点 用*画出来* {' ^5 a8 p: ]0 ~* ~
hold on;# X1 N% r0 j e2 T& Y6 C; [
%第二种,画平滑曲线的方法
; x; u, s# Q9 p! H- X! Wvalues = spcrv([[a(1) a a(end)];[b(1) b b(end)]],3);
6 W) E: n6 L5 T- Mplot(values(1,: ),values(2,: ), 'g'); 效果:
0 |5 h( |3 L# v2 Y |