24小时热门版块排行榜    

CyRhmU.jpeg
查看: 2357  |  回复: 28
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

liangyufei0

木虫 (著名写手)

[求助] 求助Matlab曲线拟合参数求解已有3人参与

求各位大侠帮助!!!十分感激!!
问题描述如下:
已知实验数据x=[0.0019 0.0031 0.0049 0.0093 0.0168 0.0330]; y=[0.698 0.609 0.520 0.350 0.223 0.130];
要用函数http://muchongimg.xmcimg.com/data/b ... _1456729728_303.png进行拟合,求拟合参数a、b、c。

求助Matlab曲线拟合参数求解
图片1.png
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

512095518

专家顾问 (正式写手)

引用回帖:
20楼: Originally posted by 514741735 at 2016-08-30 20:13:52
方程一是初始二阶微分方程,方程二是求解出的y'的隐函数表达式,方程三是最终求解出的方程一的解...

这个微分方程,我不会解。你自己如果确定最后的形式,我可以帮你求参
没有极限,只有超越!
22楼2016-08-30 23:06:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 29 个回答

hellosu

木虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
liangyufei0: 金币+10, ★★★很有帮助, 很有帮助,但尚未解决,多谢! 2016-02-29 16:04:44
x=[0.0019 0.0031 0.0049 0.0093 0.0168 0.0330];
y=[0.698 0.609 0.520 0.350 0.223 0.130];
f=@(c,x) 1-((c(3)*x)^c(2)/(1+(c(3)*x)*c(2)))^c(1);
c0=[1 1 1];
[c,resnorm]=lsqcurvefit(f,c0,x,y);
plot(x,y,'.-',x,f(c,x),'r:x')
legend('原始数据','拟合数据')
2楼2016-02-29 15:40:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

liangyufei0

木虫 (著名写手)

引用回帖:
2楼: Originally posted by hellosu at 2016-02-29 15:40:38
x=;
y=;
f=@(c,x) 1-((c(3)*x)^c(2)/(1+(c(3)*x)*c(2)))^c(1);
c0=;
=lsqcurvefit(f,c0,x,y);
plot(x,y,'.-',x,f(c,x),'r:x')
legend('原始数据','拟合数据')...

首先感谢hellosu应助!
但程序运行出现如下错误,新手,不知如何解决,还请高手再次相助!
??? Error using ==> mpower
Matrix must be square.

Error in ==> @(c,x)1-((c(3)*x)^c(2)/(1+(c(3)*x)^c(2)))^c(1)


Error in ==> lsqncommon at 152
            fuser = funfcn{3}(xargin{:},varargin{:});

Error in ==> lsqcurvefit at 186
[x,Resnorm,FVAL,EXITFLAG,OUTPUT,LAMBDA,JACOB] = ...

Caused by:
    Failure in initial user-supplied objective function evaluation. LSQCURVEFIT cannot continue.
3楼2016-02-29 16:03:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hellosu

木虫 (小有名气)

引用回帖:
3楼: Originally posted by liangyufei0 at 2016-02-29 16:03:15
首先感谢hellosu应助!
但程序运行出现如下错误,新手,不知如何解决,还请高手再次相助!
??? Error using ==> mpower
Matrix must be square.

Error in ==> @(c,x)1-((c(3)*x)^c(2)/(1+(c(3)*x)^c(2 ...

clear
clc
x=[0.0019 0.0031 0.0049 0.0093 0.0168 0.0330];
y=[0.698 0.609 0.520 0.350 0.223 0.130];
f=@(c,x) (1-((c(3).*x).^c(2)/(1+(c(3).*x).*c(2))).^c(1));
c0=[1 1 1];
[c,resnorm]=lsqcurvefit(f,c0,x,y);
plot(x,y,'.-',x,f(c,x),'r:x')
legend('原始数据','拟合数据')

%%%这样运行后还是出错,可能你的数据点太少了
4楼2016-02-29 19:46:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见