24小时热门版块排行榜    

CyRhmU.jpeg
查看: 2206  |  回复: 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的回帖

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的回帖
查看全部 13 个回答

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的回帖
信息提示
请填处理意见