1樓:墨汁諾
%第一種,畫平滑曲線的方法
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');
擬合簡介
在matlab中可以用polyfit 來擬合多項式。擬合以及插值還有逼近是數值分析的三大基礎工具,通俗意義上它們的區別在於:擬合是已知點列,從整體上靠近它們;插值是已知點列並且完全經過點列;逼近是已知曲線,或者點列,通過逼近使得構造的函式無限靠近它們。
2樓:皮蛋吃稀飯
準備工具:
matlab
具體步驟:
1、首先準備兩列資料,作為xy座標值,使用plot命令作圖如下。
2、然後進行資料擬合,這裡使用matlab的polyfit命令。如果資料的規律性很差的話,polyfit後面設定的引數要足夠大才能保證擬合精度,在這個資料中選擇15。
3、擬合後與原來資料對比後的std約為0.1287.y的平均值為113.精度值根據不同的需要設計不同的擬合值。
4、matlab下的命令為polyder。求導後得到的資料作圖如下。可以看到在比區間上,導數有兩處為0,這與原來曲線相符。
5、最後就完成了。
matlab優勢特點:
1) 高效的數值計算及符號計算功能,能使使用者從繁雜的數**算分析中解脫出來;
2) 具有完備的圖形處理功能,實現計算結果和程式設計的視覺化;
3) 友好的使用者介面及接近數學表示式的自然化語言,使學者易於學習和掌握;
4) 功能豐富的應用工具箱(如訊號處理工具箱、通訊工具箱等) ,為使用者提供了大量方便實用的處理工具。
3樓:匿名使用者
有兩種方法可以畫平滑曲線,第一種是擬合的方法,第二種是用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');
如何根據matlab擬合的曲線讀出影象中點的座標值
樓主的意思是 已知 上的一條曲線,如何獲取該曲線上點的座標 x,y 下面有段程式,是本人讀曲線座標所寫,看看對樓主是否有幫助 clcclear all im1 imread runx2.jpg 樓主在此替換成自己的 im rgb2gray im1 im im end 1 1,imshow im m,...
請問Matlab中如何將離散點連成曲線,謝謝了
a羅網天下 x 0 1 2 3 4 5 6 7 8 8.85 y 13 12.1 11 10.5 10.1 9.9 9.6 9.3 9.0 8.9 matlab中輸入x及y的數值 xx 0 0.01 10 對x軸進行劃分成若干等份,設定好引數 yy spline x,y,xx 三次方樣條資料插值 p...
cad如何使曲線閉合,cad中如何建立一個閉合的曲線
楊柳風 直接做面域,不存在有斷線問題。閉合曲線完全沒有必要,如果面域做不出,就應該是你的圖形在倒角或者連線方面有細小的斷點,需要你自己放大找出來,然後連線好,再做面域,面域做出來,你轉軟體生成nc入機器內就不應該有你所述情況發生。cad中如何建立一個閉合的曲線? 海邊的風 要建立閉合的曲線,可以用 ...