MATLAB怎麼求兩條非線性曲線的相似程度

時間 2021-09-14 22:09:16

1樓:4終

1、首先在電腦桌面找到matlab,建立一個m檔案fun_ex5.m檔案,輸入程式如下。

2、新建的檔案如下圖所示,是一個m檔案,m檔案只能通過matlab開啟,不能在桌面上直接雙擊開啟。

3、在建立一個m檔案,檔名為mycon_ex5.m,定義非線性的約束,程式如下。

4、然後儲存之後,輸入程式,如下圖所示。

5、接著輸入程式,記住字母書寫的方式以及輸入狀態。

6、最後可以看到如下圖所示,最優值為fval=-28.7000,最優解為x=2.91551.8708,就完成了。

2樓:匿名使用者

有很多種方法,比如相關:

corrcoef(y1, y2)

比如r-square (vaf):

norm(y1 - mean(y2))^2/norm(y2 - mean(y2))^2

比如rms (root mean square):

sqrt(sum((y1 - y2).^2)/length(y1));

3樓:弭瑩

請問您解決了嗎,我也有同樣的問題,希望得到您的幫助

4樓:潭念真

同問,請問解決了嗎?

matlab:比較兩個函式曲線的相似度

5樓:匿名使用者

把你的x向量組代入方程,算出一組y1,用y1減去對應的資料組的y2,直接畫殘差圖。

第二個問題,你畫圖時規定一下起始範圍

已經有兩條曲線了,現在要判斷這兩條曲線的重合度,相似度,求高手解答,不知matlab裡面應該用什麼函式

6樓:匿名使用者

如果曲線是可以顯式表copy達的,即可以表示成y=f(x)形式的,那麼可以按y=y1(x)-y2(x)來度量在相同x取值時,對應於函式值y的差別,為了消除正負號,建議加距離尺度,即y=|y1(x)-y2(x)|的平方,即殘差平方和。

7樓:回憶與想法

y=mx+b y=nx+c 先看 m和bain是否du相zhi

等dao

版 ,再看

權 b和c是否相等

如果是ax+by+c=0 mx+ny+d=0 看-a/b和-m/n是否相等 再看-c/b和-d/n

怎麼利用matlab軟體進行非線性曲線模型的模擬?比如richards曲線的模擬,求引數,並要r平方值(擬合度)

8樓:匿名使用者

由於richards曲線方程是非線性函式,所以應用lsqcurvefit()函式來擬合。擬合步驟如下:

t=[0 7 14 21 28];

y=[0.2480 0.7677 1.4190 1.5782 1.6712];

func=inline('a(1)./(1+a(2).*exp(-a(3).*t).^a(4))','a','t');

b=[0.95717      0.48538      0.80028      0.14189];

a=lsqcurvefit(func,b,t,y);

disp(['係數a:',num2str(a(1))])

disp(['係數b:',num2str(a(2))])

disp(['係數k:',num2str(a(3))])

disp(['係數n:',num2str(a(4))])

t1=0:0.5:28;

y1=func(a,t1);

plot(t,y,'ro',t1,y1,'p-','linewidth',2),grid on,xlabel('天數'),ylabel('重量')

legend('擬合前的資料','擬合後的資料')

輸出的圖形

求Matlab大神給解下面這個非線性方程組的方法

可以用fsolve直接求出。計算方法如下 1 p x 1 q x 2 例如資料x隨機給出 x round 100 rand 10,1 n length x f x sum x.x 1 log x sum x.x 1 1 x 1 sum log x n x 2 sum x.x 1 n 1 x 1 op...

若已知兩條直線的方程,怎樣求這兩條直線的角平分線

隋遠賞衣 首先,不是方程,是一次函式表示式。先用餘弦定理求這2條直線的夾角 o 再加上直線1 2中斜率小的指線的方位角 即斜率的反正切 p 這時你就有了角平分線的方位角了,根據方位角求出斜率。再根據1 2直線的交點也是平分線上的點,就可以求出其方程了。 初運旺茹辛 已知 直線l1 a1x b1y c...

matlab中,如何將兩條曲線畫在座標系裡,plot x

plot有如下用法 plot y plot x1,y1,xn,yn plot x1,y1,linespec,xn,yn,linespec plot x1,y1,linespec,propertyname propertyvalue plot axes handle,x1,y1,linespec,pr...