24小时热门版块排行榜    

查看: 2493  |  回复: 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 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 352求调剂 +4 大米饭! 2026-03-22 4/200 2026-03-26 16:40 by 不吃魚的貓
[考研] 一志愿 南京邮电大学 288分 材料考研 求调剂 +3 jl0720 2026-03-26 3/150 2026-03-26 13:39 by zzll406
[考研] 化学调剂一志愿上海交通大学336分-本科上海211 +4 小鱼爱有机 2026-03-25 4/200 2026-03-26 10:19 by aa331100
[考研] 一志愿天津大学339材料与化工求调剂 +3 江往卖鱼 2026-03-26 3/150 2026-03-26 09:42 by 王小欠i
[考研] 299求调剂 +4 15188958825 2026-03-25 4/200 2026-03-25 22:56 by 418490947
[考研] 材料求调剂 +4 .m.. 2026-03-25 4/200 2026-03-25 21:30 by peike
[考研] 290分调剂求助 +3 吉祥止止陈 2026-03-25 3/150 2026-03-25 19:58 by barlinike
[考研] 材料学硕,求调剂 6+4 糖葫芦888ll 2026-03-22 9/450 2026-03-25 11:19 by greychen00
[考研] 085600材料与化工调剂 +9 A-哆啦Z梦 2026-03-23 15/750 2026-03-25 11:18 by Ainin_
[考研] 080500求调剂 +3 zzzzfan 2026-03-24 3/150 2026-03-24 16:38 by barlinike
[考研] 291求调剂 +3 HanBeiNingZC 2026-03-24 3/150 2026-03-24 16:34 by barlinike
[考研] 321求调剂 +4 Ymlll 2026-03-24 4/200 2026-03-24 14:44 by sprinining
[考研] 333求调剂 +3 ALULU4408 2026-03-23 3/150 2026-03-23 19:04 by macy2011
[考研] 336求调剂 +4 收到VS 2026-03-20 4/200 2026-03-23 19:02 by macy2011
[考研] 接收2026硕士调剂(学硕+专硕) +4 allen-yin 2026-03-23 6/300 2026-03-23 15:04 by 汪!?!
[考研] 308求调剂 +3 墨墨漠 2026-03-21 3/150 2026-03-22 16:54 by i_cooler
[考研] 求调剂 +3 白QF 2026-03-21 3/150 2026-03-21 13:12 by zhukairuo
[考研] 332求调剂 +3 凤凰院丁真 2026-03-20 3/150 2026-03-21 10:27 by luoyongfeng
[考研] 085601调剂 358分 +3 zzzzggh 2026-03-20 4/200 2026-03-21 10:21 by luoyongfeng
[考研] 求调剂 +3 eation27 2026-03-20 3/150 2026-03-20 19:32 by JourneyLucky
信息提示
请填处理意见