Curve fitting with a known coefficient

6 ビュー (過去 30 日間)
Mahesha MG
Mahesha MG 2013 年 7 月 4 日
コメント済み: Valentin Fazenda 2020 年 3 月 9 日
I want to fit set of data points (x,y) to the equation 'g*x+a*(x/248.7860)^3*c'. Here g and a are unknown coefficients and x is independent variable. c is coefficient which is an array of size same as x (c varies with x but it is not weight) c is known. How to do the fitting? I tried the following: ft = fittype( 'g*x+a*(x/248.7860)^3*c', 'independent', 'x','independent', 'c', 'dependent', 'y' ); But it is not working. Any other way to solve?
  1 件のコメント
Valentin Fazenda
Valentin Fazenda 2020 年 3 月 9 日
I have the same problem but with a complex equation :
PA=fittype('(Fz*(b1*Fz+b2))*sind(b0*atand((((b3*(Fz^2)+b4*Fz)*exp(-b5*Fz))/(b0*(Fz*(b1*Fz+b2))))*(x+(b9*Fz+b10))-((b6*Fz^2+b7*Fz+b8)*(1-b13*sind(x+(b9*Fz+b10))))*((((b3*(Fz^2)+b4*Fz)*exp(-b5*Fz))/(b0*(Fz*(b1*Fz+b2))))*(x+(b9*Fz+b10))-atand((((b3*(Fz^2)+b4*Fz)*exp(-b5*Fz))/(b0*(Fz*(b1*Fz+b2))))*(x+(b9*Fz+b10))))))+(b11*Fz+b12)','problem', 'Fz');
where Fz is known and is an (known) array of size same as x and i dont' know how write it so that Fz will not anymore be calaculated but used by the computer

サインインしてコメントする。

回答 (2 件)

David Sanchez
David Sanchez 2013 年 7 月 4 日
You can use the curve fitting tool. Type:
cftool
at the command window. Then, select " custom equation " as your target and type your equation on the right box.
  1 件のコメント
Mahesha MG
Mahesha MG 2013 年 7 月 4 日
編集済み: Mahesha MG 2013 年 7 月 4 日
I tried this. But it takes c as unknown coefficient and gives some value for it.

サインインしてコメントする。


Matt J
Matt J 2013 年 7 月 4 日
編集済み: Matt J 2013 年 7 月 4 日
Functions from the Curve Fitting Toolbox seem like overkill here, considering that you have a very simple, linear fitting to do:
A=[x(:), (x(:)/248.7860).^3.*c(:)];
p=A\y(:);
g=p(1);
a=p(2);

カテゴリ

Help Center および File ExchangeGet Started with Curve Fitting Toolbox についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by