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訊號源和一個比較點,把他們之間連起來,再接一個負反饋到比較點,就完成了 如果這個直...