[英]How can I find equation of a plot connecting data points in Matlab?
我有各種圖( hold on
),如下圖所示:
我想知道如何在Matlab中找到這六個曲線的方程式。 謝謝。
我發現Matlab中的交互式擬合工具簡單而有用,盡管范圍有所限制:
上圖似乎是線性插值。 給定數據的向量X和Y,其中X包含參數,Y包含功能點,則可以
f = interp1(X, Y, x)
得到線性插值f(x)。 例如,如果數據是
X = [0 1 2 3 4 5];
Y = [0 1 4 9 16 25];
然后
y = interp1(X, Y, 1.5)
應該給你一個非常近似的1.5^2
。 interp1
會與圖形完全匹配,但是您可能會對更interp1
曲線擬合操作感興趣,例如樣條曲線逼近等。
盡管可能會有更好的答案,但我的建議是:嘗試查看曲線的增長率。 例如,如果增加速度看起來很快並找到多項式並計算偏差誤差,則三次方比二次方更具代表性。 對於不規則曲線,您可以嘗試樣條曲線擬合。 我想在matlab中還有一個用於樣條擬合的工具箱。
有一種方法可以從圖形中提取具有當前圖形句柄(gcf)的信息。
例如,您可以獲得繪制在圖中的系列:
% Some figure is created and data are plotted on it
figure;
hold on;
A = [ 1 2 3 4 5 7] % Dummy data
B = A.*A % Some other dummy data
plot(A,B);
plot(A.*3,B-1);
% Those three lines of code will get you series that were plotted on your graph
lh=findall(gcf,'type','line'); % Extract the plotted line from the figure handle
xp=get(lh,'xdata'); % Extract the Xs
yp=get(lh,'ydata'); % Extract the Ys
您必須從“ findall(gcf,...)”方法中獲得其他信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.