我有方程F(f)=a*f^3+b*f+c
。我已經知道數據的向量,p
,自變量'f'。我需要找到值a
,b
,c
。 我試了一下:使用MATLAB在等式中查找常量值
function [ val ] = myfunc(par_fit,f,p)
% This gives me a,b,c
% p= af^3 +bf +c
val = norm(p - (par_fit(1)*(f.^3))+ (par_fit(2)*f) + (par_fit(3)));
end
my_par = fminsearch(@(par_fit) myfunc(par_fit,f,p),rand(1,3));
這讓我my_par = [1.9808 -2.2170 -24.8039]
,或者a=1.9808
,b=-2.2170
和c=-24.8039
,但我需要b
應大於5,和c
應大於零。
'c'不是零,它是-24.8039。有什麼問題? – David 2014-10-28 02:57:32
對不起,我編輯過,c不能小於或等於零。 – Biparite 2014-10-28 03:01:02
嘗試'val = norm(p - par_fit(1)* f。^ 3 - par_fit(2)* f - par_fit(3));'當您正在爲'p - a * f^3 - b * f - c' – Cheery 2014-10-28 03:07:51