24小时热门版块排行榜    

查看: 2360  |  回复: 12

albertazhao

铜虫 (初入文坛)

[求助] 非线性回归中,函数表达式错误Matrix dimensions must agree????

非线性回归中,函数表达式错误Matrix dimensions must agree????
怎么回事呢?急急急!!!
程序如下
x =
    1.1200
    1.2400
    1.3000
    1.1700
    1.1600
    0.9760
    0.8090
    0.8100
    0.4440
    0.4290
y =
    1.5900
    1.6300
    1.8600
    1.7700
    1.7300
    1.4500
    1.3600
    1.2000
    0.9520
    0.8280
ab=[1 2];
f=inline('y-(a(2)*(1.1*sqrt(x)+a(1))./(0.5*x+52))','x','y','a');
[a,r]=lsqnonlin(f,ab,[ ],[ ],[ ],x,y)


albertazhao@gmail.com
回复此楼
7777777777
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖置顶 ( 共有3个 )

csgt0

荣誉版主 (著名写手)

彩色挂图

【答案】应助回帖

★ ★ ★ ★ ★
albertazhao: 回帖置顶 2012-07-19 14:06:09
albertazhao: 金币+5, ★★★很有帮助 2012-07-19 14:06:35
CODE:
function alb
x =[ 1.1200;1.2400;1.3000;1.1700;1.1600;0.9760;0.8090;0.8100;0.4440;0.4290];
y =[ 1.5900;1.6300;1.8600;1.7700;1.7300;1.4500;1.3600;1.2000;0.9520;0.8280];
ab=[1 2];
f=inline('y-(a(2)*(1.1*sqrt(x)+a(1))./(0.5*x+52))','x','y','a');
[a,r]=lsqnonlin(@(a)f(x,y,a),ab)
end

showmethemoney
9楼2012-07-17 17:37:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

csgt0

荣誉版主 (著名写手)

彩色挂图

【答案】应助回帖


臭水沟: 金币+1, 谢谢交流~~ 2012-07-17 22:29:55
albertazhao: 回帖置顶 2012-07-19 14:01:35
引用回帖:
8楼: Originally posted by albertazhao at 2012-07-17 17:30:59
ab=;
f=inline('y-(a(2)*(1.1*sqrt(x)+a(1))./(0.5*x+52))','a','x','y');
=lsqnonlin(@(a)f(x,y,a),ab)   
我的运行错误,为什么?
Error in inline expression ==> y-(a(2)*(1.1*sqrt(x)+a(1))./(0.5*x+5 ...

问题在于定义f时是a,x,y的顺序,调用时是x,y,a的顺序,改成一致应该就可以了

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

showmethemoney
10楼2012-07-17 17:47:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

csgt0

荣誉版主 (著名写手)

彩色挂图

★ ★ ★
albertazhao: 回帖置顶 2012-07-19 16:37:15
xiegangmai: 金币+3, 谢谢应助! 2012-07-20 00:19:24
引用回帖:
11楼: Originally posted by albertazhao at 2012-07-19 13:59:50
可以运行了,
为什么是这个顺序
另外我换了数据,为什么就得不到结果,结果还是初始值
cftool命令也不能得到稳定数值,运行一次得到的数值和运行第二次不同
我拟合公式
拟合方程-非线性回归-Matlab lsqnonlin ...

要保证你使用时的顺序跟你定义时的顺序是一致的,前面用axy,后面就要用axy,前面用xya,后面就要用xya。当然,前面用xya,后面你也可以用yxa,但是y和x就反了,但是你不能用xay,因为你的a是2个元素,y是一个元素。
拟合不出来是因为你的y太大了,ab的变化对y的影响很小。需要自己改写函数

更详细的在matlab帮助里搜索Local Minimum Possible就可以看到了
showmethemoney
12楼2012-07-19 15:20:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

mei3014

金虫 (正式写手)

木有头屑

哪个是自变量?
一勤天下无难事,处世无难忍最高。
2楼2012-07-17 12:00:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

albertazhao

铜虫 (初入文坛)

引用回帖:
2楼: Originally posted by mei3014 at 2012-07-17 12:00:38
哪个是自变量?

http://zhidao.baidu.com/question/451848649.html#replyask-62449207
不能附图,问题在这里详细描述
我在百度知道悬赏提问了。
7777777777
3楼2012-07-17 13:28:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

albertazhao

铜虫 (初入文坛)

引用回帖:
3楼: Originally posted by albertazhao at 2012-07-17 13:28:50
http://zhidao.baidu.com/question/451848649.html#replyask-62449207
不能附图,问题在这里详细描述
我在百度知道悬赏提问了。...

General model:
     f(x) = b*(1.1*sqrt(x)+a)/(0.5*x+52)
Coefficients (with 95% confidence bounds):
       a =     -0.2423  (-0.3988, -0.08585)
       b =       92.99  (75.48, 110.5)

Goodness of fit:
  SSE: 0.05727
  R-square: 0.9482
  Adjusted R-square: 0.9417
  RMSE: 0.08461
这个是用Matlab 的cftool命令做的。是交互式,我想知道用程序哪里出错,怎么解决。
7777777777
4楼2012-07-17 13:54:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

albertazhao

铜虫 (初入文坛)

引用回帖:
2楼: Originally posted by mei3014 at 2012-07-17 12:00:38
哪个是自变量?

用1stOpt:

Function y=a2*(1.1*sqrt(x)+a1)/(0.5*x+52);
Data;
x=1.1200,1.2400,1.3000,1.1700,1.1600,0.9760,0.8090,0.8100,0.4440,0.4290;
y=1.5900,1.6300,1.8600,1.7700,1.7300,1.4500,1.3600,1.2000,0.9520,0.8280;
复制代码
均方差(RMSE): 0.075677672378937
残差平方和(SSE): 0.0572711009669372
相关系数(R): 0.973733426792748
相关系数之平方(R^2): 0.948156786453548
决定系数(DC): 0.948156780435072
卡方系数(Chi-Square): 0.0203090417650265
F统计(F-Statistic): 154.311404020362

参数        最佳估算
----------        -------------
a2        92.9877941634666
a1        -0.242321929529164
7777777777
5楼2012-07-17 13:55:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

albertazhao

铜虫 (初入文坛)

引用回帖:
5楼: Originally posted by albertazhao at 2012-07-17 13:55:18
用1stOpt:

Function y=a2*(1.1*sqrt(x)+a1)/(0.5*x+52);
Data;
x=1.1200,1.2400,1.3000,1.1700,1.1600,0.9760,0.8090,0.8100,0.4440,0.4290;
y=1.5900,1.6300,1.8600,1.7700,1.7300,1.4500,1.3600,1.2000,0 ...

这个也可以公式变形,简化为直线方程进行拟合,结果如下y(0.5x+52)=1.1b*sqrt(x)+ab
b = 93.0213
a = -0.2426
我想知道lsqnonlin函数问题出在哪里。
7777777777
6楼2012-07-17 14:23:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

csgt0

荣誉版主 (著名写手)

彩色挂图

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
臭水沟: 金币+2, 谢谢交流~~ 2012-07-17 22:29:45
[a,r]=lsqnonlin(@(a)f(x,y,a),ab,[ ],[ ],[ ])



a =

   -0.2423   92.9878


r =

    0.0573
showmethemoney
7楼2012-07-17 16:05:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

albertazhao

铜虫 (初入文坛)

引用回帖:
7楼: Originally posted by csgt0 at 2012-07-17 16:05:29
=lsqnonlin(@(a)f(x,y,a),ab,,,)



a =

   -0.2423   92.9878


r =

    0.0573

ab=[1 2];
f=inline('y-(a(2)*(1.1*sqrt(x)+a(1))./(0.5*x+52))','a','x','y');
[a,r]=lsqnonlin(@(a)f(x,y,a),ab)   
我的运行错误,为什么?
Error in inline expression ==> y-(a(2)*(1.1*sqrt(x)+a(1))./(0.5*x+52))
Matrix dimensions must agree.

可否给我你的完整程序,谢谢
7777777777
8楼2012-07-17 17:30:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 albertazhao 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 一志愿北京化工大学 070300 学硕 336分 求调剂 +5 vv迷 2026-03-22 5/250 2026-03-23 07:36 by Iveryant
[考研] 317求调剂 +12 申子申申 2026-03-19 18/900 2026-03-22 22:23 by luoyongfeng
[考研] 306求调剂 +5 来好运来来来 2026-03-22 5/250 2026-03-22 16:17 by BruceLiu320
[考研] 319求调剂 +4 小力气珂珂 2026-03-20 4/200 2026-03-22 15:53 by ColorlessPI
[考研] 285求调剂 +6 ytter 2026-03-22 6/300 2026-03-22 12:09 by 星空星月
[考博] 招收博士1-2人 +3 QGZDSYS 2026-03-18 4/200 2026-03-22 10:25 by QGZDSYS
[考研] 286求调剂 +10 Faune 2026-03-21 10/500 2026-03-21 23:34 by 314126402
[考研] 297求调剂 +11 戏精丹丹丹 2026-03-17 12/600 2026-03-21 17:47 by ColorlessPI
[考研] 22 350 本科985求调剂,求老登收留 +3 李轶男003 2026-03-20 3/150 2026-03-21 13:28 by 搏击518
[考研] 一志愿中国石油大学(华东) 本科齐鲁工业大学 +3 石能伟 2026-03-17 3/150 2026-03-21 02:22 by JourneyLucky
[考研] 一志愿武理材料305分求调剂 +6 想上岸的鲤鱼 2026-03-18 7/350 2026-03-21 01:03 by JourneyLucky
[考研] 材料专硕英一数二306 +7 z1z2z3879 2026-03-18 7/350 2026-03-20 23:48 by JourneyLucky
[考研] 一志愿南京理工大学085701资源与环境302分求调剂 +4 葵梓卫队 2026-03-18 6/300 2026-03-20 23:02 by JourneyLucky
[考研] 290求调剂 +7 ^O^乜 2026-03-19 7/350 2026-03-20 21:43 by JourneyLucky
[考研] 材料学求调剂 +4 Stella_Yao 2026-03-20 4/200 2026-03-20 20:28 by ms629
[考研] 求调剂 +3 eation27 2026-03-20 3/150 2026-03-20 19:32 by JourneyLucky
[考研] 生物学调剂招人!!! +3 山海天岚 2026-03-17 4/200 2026-03-19 21:34 by 怎么释怀
[考研] 085600材料与化工调剂 324分 +10 llllkkkhh 2026-03-18 12/600 2026-03-19 14:33 by llllkkkhh
[考研] 286求调剂 +6 lemonzzn 2026-03-16 10/500 2026-03-19 14:31 by lemonzzn
[考研] 085601求调剂 +4 Du.11 2026-03-16 4/200 2026-03-17 17:08 by ruiyingmiao
信息提示
请填处理意见