matlab中如何對同一座標中多個曲線擬合成一條曲線

2021-03-26 08:25:06 字數 4584 閱讀 4726

1樓:匿名使用者

首先,用已知f(x1)、f(x2)、f(x3)、f(x4)函式,求出x=xi值對應的y1、y2、y3、y4值,

然後,用求出y1、y2、y3、y4的平均值yi

最後,用最小二乘逼近其對應的擬合函式,如matlab的nlinfit()函式或lsqcurvefit()函式等

在matlab裡幾條曲線怎麼進行擬合為一條曲線

2樓:島嶼

如果只是平面上的10個點,就在命令視窗輸入cftool,敲回車,開啟平面曲線擬合工具箱;

如果是空間中的10個點,就在命令視窗中輸入sftool,敲回車,開啟空間曲線擬合工具箱;

使用擬合工具箱是比較簡單的辦法,你也可以自己在命令框裡使用matlab命令完成曲線擬合,polyfit二項式擬合,lsqcurvefit曲線擬合,regress一元迴歸,即使沒有工具箱,matlab也可以通過各種命令完成任務,不要像樓上一樣偷懶哦

如何使用matlab擬合多條曲線在一個座標系

3樓:匿名使用者

用plot()函copy數,就可以將擬合多條曲線繪製在一個座標系中。

實施過程為

plot(x1,y1,x2,y2,x3,y3,.....)其中:x1,y1為擬合曲線1某個區間的若干個(x1(i),y1(i))點的行(列)向量

x2,y2為擬合曲線2某個區間的若干個(x2(i),y2(i))點的行(列)向量

x3,y3為擬合曲線3某個區間的若干個(x3(i),y3(i))點的行(列)向量

matlab中如何在一幅圖中畫很多條曲線?

4樓:那_年夏天

如果曲線的bai條數比較少du,例如3條,使

用plot命令就可完成zhi任務,具體命令如下:dao

plot(x1,y1,x2,y2,x3,y3);

hold這個命版令設定是否保持當前權figure的屬性,如果執行hold

off,表示每次呼叫plot時都將當前figure設定成預設狀態,即清空前面的曲線;如果執行hold

on,表示每次呼叫plot時都只是在當前figure上新增曲線,以前的曲線繼續保留。

假設30條曲線的座標存在矩陣x、y中,每行表示一條曲線,則畫曲線的示意命令如下所示:figure;hold on;for i=1:30

5樓:du瓶邪

下面**所示了用不同顏色畫出多條曲線

專的過程。

filepath='c:\users\test\desktop\20110303\';

txtfiles=dir(fullfile(filepath,'/*.txt'));%過濾屬

matrix=ones(288,4);

for i=1:4

txtname=txtfiles(i,1).name;

data=load(txtname);

matrix(:,i)=data;

endx=1:288;

y1=matrix(:,1);

y2=matrix(:,2);

y3=matrix(:,3);

y4=matrix(:,4);

plot(x,y1,'r-',x,y2,'b-',x,y3,'g-',x,y4,'m-');

急,求助matlab對多條曲線擬合出一條平均趨勢線

6樓:科技數碼答疑

最好的辦法為:求平均值的擬合曲線

實際上,擬合的函式型別是多種多樣的

1、多項式型

2、三角函式型

3、指數型等等

不知道你選哪種呢???

簡單的函式直接採用plot選單工具裡面basic fitting

怎樣用matlab去擬合已知曲線的一部分?比如只需擬合一條曲線的尾部?

7樓:匿名使用者

在擬合前提取出變數的最後一部分資料。

假設,你的資料橫座標變數為x,縱座標變數為y,擬合函式y=f(x),可以採用如下方法提取出所要的部分資料:

index=intersect(find(x>=4000),find(x<=5000));

xx=x(index);

yy=y(index);

然後對xx和yy進行擬合就可以了。

8樓:自由地驢

請問你的用意是什麼了?

如果你只想要尾部重合的話,那就只用尾部的資料來計算新曲線,其餘部分一般都不會重合的。

所以我不太明白你為什麼要這樣的曲線?

或者說其餘部分的不重合有嚴格的數學要求?

9樓:匿名使用者

合適的模型。

function hhhh

clc;clear;

a=[...

25.0 500.7 0.

06808379950.0 455.7 0.

06196482475.0 427.0 0.

058062277100.0 389.3 0.

052935935150.0 357.7 0.

048639055200.0 333.7 0.

045375602250.0 309.0 0.

042016964]x=a(:,1);y=a(:,2);y1=a(:

,3);

plotyy(x,y,x,y1)

a=y./y1

beta0=[1 1 1];

beta=nlinfit(x,y,@fun,beta0)x=25:250;

y=beta(1)*x.^beta(2)+beta(3);

figure

plot(x,y,'o',x,y)

function yhat=fun(beta,x)yhat=beta(1)*x.^beta(2)+beta(3);

結果:beta =

-171.7423 0.2014 830.8742圖形見:

10樓:匿名使用者

可以用polyfit

11樓:崔翊卓秀逸

matlab軟體提供了基本的曲線擬合函式的命令.1多項式函式擬合:a=polyfit(xdata,ydata,n)其中n表示多項式的最

高階數,xdata,ydata為將要擬合的資料,它是用陣列的方式輸入.輸出引數a為擬合多項式

的係數多項式在x處的值y可用下面程式計算.y=polyval(a,x)

2一般的曲線擬合:p=curvefit(『fun』,p0,xdata,ydata)

其中fun表示函式fun(p,data)的m函式檔案,p0表示函式的初值.curvefit()命令的求解問題形式是

若要求解點x處的函式值可用程式f=fun(p,x)計算.例如已知函式形式

,並且已知資料點

要確定四個未知引數a,b,c,d.

使用curvefit命令,資料輸入

;初值輸

;並且建立函式

的m檔案(fun.m).若定義

,則輸出

又如引例的求解,matlab程式:

t=[l:16];

%資料輸人

y=[4

6.48

8.49.28

9.59.7

9.86

10.2

10.32

10.42

10.5

10.55

10.58

10.6]

;plot(t,y,』o』)

%畫散點圖

p=polyfit(t,y,2)

(二次多項式擬合)計算結果:p=-0.04451.0711

4.3252

%二次多項式的係數

由此得到某化合物的濃度y與時間t的擬合函式。

請採納答案,支援我一下。

matlab中我知道多個曲線了,能擬合成一條曲線嗎?求高手

12樓:匿名使用者

具體問題要具bai體分析,du

你說的太簡單zhi了。

不過也是可以解決的。dao

很顯然你內的5條曲線都容

知道了,那在上面取離散點沒問題吧。你在每條曲線上取適量的的點,然後用離散點擬合不就行了。

取點有講究,要根據你5條函式的特點。比如有沒有1個x對應多個y的情況,若果有就錯開等距取點。沒有的話就直接等距取點就可以了。

你問題的說明就這麼簡單,我也就只能這麼簡單的回答了,給你個思路,具體問題你要在具體分析了。

13樓:匿名使用者

如果是離散的點還行吧,

matlab多條擬合曲線在同一個座標系顯示

14樓:轉基因牛

hold on 函式可以實現在同一座標軸下畫不同的曲線

15樓:匿名使用者

plot裡可以不止三個引數,這樣寫:

plot(x,y,'*',x1,y1,'*',x2,y2,'*')

在matlab中怎麼將幾條擬合好的曲線放在同一個圖中?

兩個一次函式y ax b與y bx a在同一座標系中的影象大致是什麼

1 如copy果a 0,b 0都是增不行 2 如果a 0,b 0前增後減,y ax b與y軸交負軸,與x軸交交正,y bx a與y軸交正,與x交正所以b行 3 如果a 0,b 0前減後增y ax b與y軸交正軸,與x軸交交正,y bx a與y軸交負,與x交正所以b行 4 如果a 0,b 0都要減與y...

已知兩直線y1 2x 3,y2 6 x1)在同一座標系中作出它們的圖象2)求它們的交點

過點 0,3 3,3 作直線一,過 0,6 3,3 作直線二。2 交點 3,3 3 x 3時,y2 y1 x 3時 y2 y1 x 3時 y2 4 這兩條直線與x軸所圍成的 abc的面積 9 3 2 13.5.一個方程你帶兩個座標進去算,在把兩個點連起來,就得到了圖形,你就會計算了。已知兩條直線y1...

MATLAB中如何用simulink對系統的開環傳遞函式進行

先開啟simulink,新建模型檔案,然後從模組庫裡拖出傳遞函式模組,雙擊,設定傳遞函式的表示式,你這種最好用零極點模型,然後在拖出來一個延遲模組,雙擊設定延遲時間tao。接著把這兩個模組串聯起來。然後拖出一個step訊號源和一個比較點,把他們之間連起來,再接一個負反饋到比較點,就完成了 如果這個直...