24小时热门版块排行榜    

查看: 2420  |  回复: 9

willow.322

金虫 (初入文坛)

[求助] 采用matlab中nlinfit拟合,出现问题了,不知道是哪错了,该怎么解决,求高手指点一下

我要拟合的模型是一个二元的非线性方程:y=B*x1*(x2^b)+A*(x2^a)

我用matlab拟合的代码和错误如下

>> x1=[10 5 3.3333 2.5 2 2.5 2.5 2.5 2.5];
>> x2=[30 30 30 30 30 10 20 40 50];
>> y=[0.8776 0.5662 0.4278 0.3060 0.2332 0.6769 0.4029 0.2441 0.2329];
>> myfunc=inline('beta(1)*x1*x2^beta(2)+beta(3)*x2^beta(4)','beta','x1','x2');
>> beta=nlinfit(x1,x2,y,myfunc,[0.5 0.5 0.5 0.5]);
??? Undefined command/function 'nlinfit'.

红色部分是出现的问题,这是怎么回事呢?我该怎么改进呢?
我使用的matlab7.0

还有我想问下除了用nlinfit来模拟的话,还有别的方法吗?要是多元非线性的模拟。。。
希望有高手能帮我解决,在这先谢过了
回复此楼
加油发文章,加油!
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wmc_1979

金虫 (小有名气)

【答案】应助回帖

willow.322(金币+20): 得到的结果应该是合理的,就是这个M文件,我不懂,还想请问下具体怎么写M文件? 2011-08-24 09:29:27
主窗口为:
x1=[10 5 3.3333 2.5 2 2.5 2.5 2.5 2.5];
x2=[30 30 30 30 30 10 20 40 50];
y=[0.8776 0.5662 0.4278 0.3060 0.2332 0.6769 0.4029 0.2441 0.2329];
X=[x1' x2']
y=y';
beta=nlinfit(X,y,'fun44',[0.5 0.5 0.5 0.5])
fun44 的编写为(M文件)
function yy=fun44(beta,X)
   yy=beta(1)*X(:,1).*(X(:,2).^beta(2))+beta(3)*X(:,2).^beta(4);
结果为:
beta =

    0.3336   -0.4255    3.7457   -1.0139
不知是否正确.
2楼2011-08-23 23:20:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

willow.322

金虫 (初入文坛)

引用回帖:
2楼: Originally posted by wmc_1979 at 2011-08-23 23:20:21:
主窗口为:
x1=[10 5 3.3333 2.5 2 2.5 2.5 2.5 2.5];
x2=[30 30 30 30 30 10 20 40 50];
y=[0.8776 0.5662 0.4278 0.3060 0.2332 0.6769 0.4029 0.2441 0.2329];
X=[x1' x2']
y=y';
beta=nlinfit(X,y,' ...

最好,将从一开始到出结果的代码都帮忙贴上来,我再给你金币哈,我只学会matlab一点点,就是为了模拟这个模型的,万分感谢哈!
加油发文章,加油!
3楼2011-08-24 09:40:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wmc_1979

金虫 (小有名气)

引用回帖:
3楼: Originally posted by willow.322 at 2011-08-24 09:40:43:
最好,将从一开始到出结果的代码都帮忙贴上来,我再给你金币哈,我只学会matlab一点点,就是为了模拟这个模型的,万分感谢哈!

已经是所有的代码了,只有M文件的编写这样的:
    点file->new->M-file.
进入后把:
4楼2011-08-24 17:04:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wmc_1979

金虫 (小有名气)

引用回帖:
4楼: Originally posted by wmc_1979 at 2011-08-24 17:04:01:
已经是所有的代码了,只有M文件的编写这样的:
    点file->new->M-file.
进入后把:

function yy=fun44(beta,X)
   yy=beta(1)*X(:,1).*(X(:,2).^beta(2))+beta(3)*X(:,2).^beta(4);
拷进去就可以了,注意用fun44文件名保存就可以了.然后在主窗口输入:
5楼2011-08-24 17:06:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wmc_1979

金虫 (小有名气)

引用回帖:
5楼: Originally posted by wmc_1979 at 2011-08-24 17:06:16:
function yy=fun44(beta,X)
   yy=beta(1)*X(:,1).*(X(:,2).^beta(2))+beta(3)*X(:,2).^beta(4);
拷进去就可以了,注意用fun44文件名保存就可以了.然后在主窗口输入:

x1=[10 5 3.3333 2.5 2 2.5 2.5 2.5 2.5];
x2=[30 30 30 30 30 10 20 40 50];
y=[0.8776 0.5662 0.4278 0.3060 0.2332 0.6769 0.4029 0.2441 0.2329];
X=[x1' x2']
y=y';
beta=nlinfit(X,y,'fun44',[0.5 0.5 0.5 0.5])
就可以有结果了
6楼2011-08-24 17:08:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

willow.322

金虫 (初入文坛)

引用回帖:
6楼: Originally posted by wmc_1979 at 2011-08-24 17:08:24:
x1=[10 5 3.3333 2.5 2 2.5 2.5 2.5 2.5];
x2=[30 30 30 30 30 10 20 40 50];
y=[0.8776 0.5662 0.4278 0.3060 0.2332 0.6769 0.4029 0.2441 0.2329];
X=[x1' x2']
y=y';
beta=nlinfit(X,y,'fun44',[0.5 0. ...

可是,我按照你说的写了一遍,还是出现那个问题:
??? Undefined command/function 'nlinfit'.
这是怎么回事?是我版本的问题吗?版本里没有nlinfit这个函数吗?
谢谢您!
加油发文章,加油!
7楼2011-08-24 18:49:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wmc_1979

金虫 (小有名气)

引用回帖:
7楼: Originally posted by willow.322 at 2011-08-24 18:49:34:
可是,我按照你说的写了一遍,还是出现那个问题:
??? Undefined command/function 'nlinfit'.
这是怎么回事?是我版本的问题吗?版本里没有nlinfit这个函数吗?
谢谢您!

可能是这个原因!matlb7.0安装程序应该有1G以上的,有一些包可能你没有安装
8楼2011-08-24 22:04:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

willow.322

金虫 (初入文坛)

引用回帖:
8楼: Originally posted by wmc_1979 at 2011-08-24 22:04:43:
可能是这个原因!matlb7.0安装程序应该有1G以上的,有一些包可能你没有安装

啊,我刚看了一下,确实我装的才500M,那你用的是什么版本的,或是从那个网址上下下来的?可否发一个给我,谢谢!
加油发文章,加油!
9楼2011-08-25 09:04:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wmc_1979

金虫 (小有名气)

引用回帖:
9楼: Originally posted by willow.322 at 2011-08-25 09:04:45:
啊,我刚看了一下,确实我装的才500M,那你用的是什么版本的,或是从那个网址上下下来的?可否发一个给我,谢谢!

太大了,基本上很难发!你可以去买一张光盘.
10楼2011-08-25 13:33:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 willow.322 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 哪位老哥知道今年的国自然具体哪一天放榜? +9 Ldrop2023 2026-08-13 9/450 2026-08-16 13:24 by wukun_007
[基金申请] 欢迎发来filecode的Mz6后的代码验证其规律 +32 医学老男孩 2026-08-13 72/3600 2026-08-16 13:15 by 医学老男孩
[基金申请] 我的国基提前知道中了,可是同事的操作让我实在接受不了,怎么会有这样的人 +11 家与远方 2026-08-10 16/800 2026-08-16 10:28 by ray43
[基金申请] 有时候,自然基金真的不能太认真 (我的申报经验) +10 majunge000 2026-08-11 12/600 2026-08-16 08:18 by xli1984
[基金申请] 时间戳又变了8-15 +12 archvillain 2026-08-15 23/1150 2026-08-15 20:47 by foyo404
[基金申请] filecode=后面第一个是大写字母 +6 wangze12014 2026-08-14 7/350 2026-08-15 20:12 by gltch
[基金申请] 小木虫上这么多卖论文的,真有人买论文么?感觉没必要啊 +12 Tide man 2026-08-10 13/650 2026-08-15 16:34 by 氺木
[基金申请] 关于Filecode分析方法 +10 majunge000 2026-08-10 13/650 2026-08-15 12:26 by hanpeng972
[基金申请] 是这周出结果还是下周出结果? +4 yuleib84 2026-08-11 4/200 2026-08-14 23:05 by lfy8008
[基金申请] 奇怪,两个人的filecode固定段从头到尾一模一样 +8 布布和一二 2026-08-10 11/550 2026-08-14 14:58 by Equinoxhua
[硕博家园] 请教兼职经验 +3 是阿文鸭 2026-08-09 3/150 2026-08-14 12:07 by HER12025
[硕博家园] 读博的好处 +4 lnee 2026-08-11 4/200 2026-08-14 10:20 by ahsoarli
[基金申请] 不应该看fileCode +7 且听虎啸 2026-08-12 9/450 2026-08-13 14:27 by flydreamws
[基金申请] 分享一下我之前已中青C的计划书的filecode +4 布布和一二 2026-08-11 5/250 2026-08-13 12:56 by cratir
[基金申请] 2019年青年基金涵评意见,大家看看几个A,几个B? +11 Tide man 2026-08-11 11/550 2026-08-13 07:35 by 撸猫猫
[基金申请] 综述论文作为代表作会不会影响评审专家的印象分? +11 yufeiwaner 2026-08-09 13/650 2026-08-12 08:17 by yufeiwaner
[基金申请] 帮忙看看fileCode +7 wwncly 2026-08-10 13/650 2026-08-11 19:36 by 冰心玉壶晴
[基金申请] 确定了,国自然21号放榜 +6 布布和一二 2026-08-10 7/350 2026-08-10 19:15 by 2000zf36392
[基金申请] 国自然结果 +4 Vierhys 2026-08-10 8/400 2026-08-10 15:06 by Vierhys
[基金申请] 面上项目filecode邪修 +5 西山十月 2026-08-09 7/350 2026-08-10 07:32 by 仁砚薪传
信息提示
请填处理意见