24小时热门版块排行榜    

查看: 2487  |  回复: 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
回复此楼

» 本帖已获得的红花(最新10朵)

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

512095518

专家顾问 (正式写手)

引用回帖:
8楼: Originally posted by 514741735 at 2016-08-26 16:49:48
您好,在程序里怎么加入对拟合度的检验部分?比如输出均方差(RMSE)、残差平方和(SSE)、相关系数(R)、相关系数之平方(R^2)、决定系数(DC)、卡方系数(Chi-Square)、F统计(F-Statistic)。尤其是相关系数(R),谢谢了...

接着上面的代码继续写
yn = f(c,x);%计算得到拟合方程中x所对应的y值
r = corrcoef(y,yn);%计算相关系数
R = r(2);%相关系数R
R_square = R^2;%计算R平方

其他参数,你查统计学方面的数据,都是比较你原始数据的y值和计算得到yn之间的关系

» 本帖已获得的红花(最新10朵)

没有极限,只有超越!
9楼2016-08-26 16:56:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

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的回帖

512095518

专家顾问 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
liangyufei0: 金币+5, ★★★很有帮助, 很有帮助,多谢! 2016-03-03 08:53:37
二楼的方法正确,但是拟合是数值运算,所以在构造函数f时应该采用点除和点乘这类元素运算,而不是矩阵运算。楼主直接运行下面的函数不会出错
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('原始数据','拟合数据')
没有极限,只有超越!
5楼2016-03-01 16:58:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

512095518

专家顾问 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
liangyufei0: 金币+15, ★★★★★最佳答案, 多谢大侠,结果很好! 2016-03-03 08:53:17
matlab拟合程度的选择与初始值选择有很大的关系。我改下初始值,这个拟合程度非常好。
a=0.770311398382774       
b=1.02743657844741       
c=142.278261696316

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 100];
c=lsqcurvefit(f,c0,x,y);
plot(x,y,'.-',x,f(c,x),'r:x')
legend('原始数据','拟合数据')
没有极限,只有超越!
6楼2016-03-01 17:09:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

独孤神宇

版主 (知名作家)

【答案】应助回帖

感谢参与,应助指数 +1
看图
求助Matlab曲线拟合参数求解-1
QQ截图20160302200328.jpg

数值计算
7楼2016-03-02 20:04:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

514741735

银虫 (小有名气)

引用回帖:
6楼: Originally posted by 512095518 at 2016-03-01 17:09:46
matlab拟合程度的选择与初始值选择有很大的关系。我改下初始值,这个拟合程度非常好。
a=0.770311398382774       
b=1.02743657844741       
c=142.278261696316

clear,clc
x=;
y=;
f=@(c,x) (1-((c(3).*x).^c(2)./( ...

您好,在程序里怎么加入对拟合度的检验部分?比如输出均方差(RMSE)、残差平方和(SSE)、相关系数(R)、相关系数之平方(R^2)、决定系数(DC)、卡方系数(Chi-Square)、F统计(F-Statistic)。尤其是相关系数(R),谢谢了
自助者天助
8楼2016-08-26 16:49:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

514741735

银虫 (小有名气)

送红花一朵
引用回帖:
9楼: Originally posted by 512095518 at 2016-08-26 16:56:57
接着上面的代码继续写
yn = f(c,x);%计算得到拟合方程中x所对应的y值
r = corrcoef(y,yn);%计算相关系数
R = r(2);%相关系数R
R_square = R^2;%计算R平方

其他参数,你查统计学方面的数据,都是比较你原始数 ...

谢谢啦
自助者天助
10楼2016-08-26 18:42:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 Lz_jiang 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 279 分 求调剂 +3 睡个好觉_16 2026-03-24 3/150 2026-03-26 15:43 by zzll406
[考研] 081700 调剂 267分 +11 迷人的哈哈 2026-03-23 11/550 2026-03-26 15:41 by zzll406
[考研] 一志愿 西北大学 ,070300化学学硕,总分287,双非一本,求调剂。 +5 晨昏线与星海 2026-03-20 5/250 2026-03-26 13:47 by 一直走不要停
[材料工程] 一志愿C9材料与化工专业总分300求调剂 +5 曼111 2026-03-24 6/300 2026-03-26 13:04 by 13756423260
[考研] 一志愿哈工大,085400,320,求调剂 +4 gdlf9999 2026-03-24 4/200 2026-03-25 23:01 by boxking200
[考研] 一志愿吉林大学材料与化工303分求调剂 +4 为学666 2026-03-24 4/200 2026-03-25 11:27 by BruceLiu320
[考研] 求调剂 一志愿 本科 北科大 化学 343 +4 13831862839 2026-03-24 5/250 2026-03-25 09:47 by 无际的草原
[考研] B区考研调剂 +4 yqdszhdap- 2026-03-22 5/250 2026-03-25 08:51 by baoball
[考研] 材料学求调剂 +6 Stella_Yao 2026-03-20 6/300 2026-03-25 00:37 by baoball
[考研] 311求调剂 +3 冬十三 2026-03-24 3/150 2026-03-24 21:31 by peike
[考研] 361求调剂 +3 Glack 2026-03-22 3/150 2026-03-23 22:03 by fuyu_
[考研] 生物学一志愿985,分数349求调剂 +6 zxts12 2026-03-21 9/450 2026-03-23 18:37 by macy2011
[考研] 336化工调剂 +4 王大坦1 2026-03-23 5/250 2026-03-23 18:32 by allen-yin
[考研] 求调剂院校信息 +6 CX 330 2026-03-21 6/300 2026-03-22 15:25 by 无懈可击111
[考研] 生物学调剂 +5 Surekei 2026-03-21 5/250 2026-03-22 14:39 by tcx007
[考研] 求调剂 +7 Auroracx 2026-03-22 7/350 2026-03-22 12:38 by 素颜倾城1988
[考研] 初试 317 +7 半拉月丙 2026-03-20 7/350 2026-03-21 22:26 by peike
[考研] 0805材料320求调剂 +3 深海物语 2026-03-20 3/150 2026-03-21 15:46 by 无际的草原
[考研] 材料与化工(0856)304求 B区 调剂 +3 邱gl 2026-03-21 3/150 2026-03-21 13:47 by lature00
[考研] 求调剂 +3 @taotao 2026-03-20 3/150 2026-03-20 19:35 by JourneyLucky
信息提示
请填处理意见