自然狀態下,用plot畫的是折線,而不是平滑曲線。
有兩種方法可以畫平滑曲線,第一種是擬合的方法,第二種是用spcrv,其實原理應該都一樣就是插值。下面是源程序,大家可以根據需要自行選擇,更改擬合的參數。
clc,clear;
a = 1:1:6; %橫坐標
b = [8.0 9.0 10.0 15.0 35.0 40.0]; %縱坐標
plot(a, b, 'b'); %自然狀態的畫圖效果
hold on;
%第一種,畫平滑曲線的方法
c = polyfit(a, b, 2); %進行擬合,c為2次擬合后的系數
d = polyval(c, a, 1); %擬合后,每一個橫坐標對應的值即為d
plot(a, d, 'r'); %擬合后的曲線
plot(a, b, '*'); %將每個點 用*畫出來
hold on;
%第二種,畫平滑曲線的方法
values = spcrv([[a(1) a a(end)];[b(1) b b(end)]],3);
plot(values(1,:),values(2,:), 'g');
效果:
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
