Matlab畫平滑曲線的兩種方法( 擬合或插值後再用plot即可)

來源:互聯網
上載者:User

自然狀態下,用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');

效果:

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.