EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
自然状态下,用plot画的是折线,而不是平滑曲线。 有两种方法可以画平滑曲线,第一种是拟合的方法,第二种是用spcrv,其实原理应该都一样就是插值。下面是源程序,大家可以根据需要自行选择,更改拟合的参数。 clc,clear;5 y) b( Q# P1 i' x& C& y; [3 d
a = 1:1:6; %横坐标4 B8 O/ `; l3 E/ C& z$ N$ Y
b = [8.0 9.0 10.0 15.0 35.0 40.0]; %纵坐标1 W& s# S5 k$ K+ c+ t2 \- H
plot(a, b, 'b'); %自然状态的画图效果* g- ?; m, y5 c+ v3 l
hold on;
z5 V$ D7 q0 n! x8 ]%第一种,画平滑曲线的方法
: c' i3 n1 C9 ?: {. i4 h F% e' \c = polyfit(a, b, 2); %进行拟合,c为2次拟合后的系数
, S) L9 X3 y& Z0 w& Bd = polyval(c, a, 1); %拟合后,每一个横坐标对应的值即为d
- B4 Y1 ~& `% E( y0 eplot(a, d, 'r'); %拟合后的曲线 plot(a, b, '*'); %将每个点 用*画出来
4 Q& i E* T9 D* I+ v8 b) chold on;" u7 X/ | E; L! r/ s6 b# s
%第二种,画平滑曲线的方法5 i$ \: k9 P5 g. g$ Q. Q
values = spcrv([[a(1) a a(end)];[b(1) b b(end)]],3);
! I. k7 R2 S* r8 M8 Qplot(values(1,: ),values(2,: ), 'g'); 效果:
* ~! P' d* P: ? O( I+ u( S" {
|