声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1011|回复: 6

[编程技巧] 请教一个语句问题!!!

[复制链接]
发表于 2009-3-16 20:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
function nnn
xdata= [3.6 7.7 9.3 4.1 8.6 2.8 1.3 7.9 10.0 5.4];
ydata= [16.5 150.6 263.1 24.7 208.5 9.9 2.7 163.9 325.0 54.3];
zdata= [95.09 23.11 60.63 48.59 89.12 76.97 45.68 1.84 82.17 44.47];
data=[xdata; ydata];
a0=[10,10,10];
[a,resnorm]=lsqcurvefit(@myfun,a0,data,zdata)
Maximum number of function evaluations exceeded;
increase options.MaxFunEvals


function F = myfun(a, data)
x = data(1,:);
y = data(2,:);
F= a(1)*y.*x.^2+a(2)*sin(x)+a(3)*y.^3;

红色语句报警了!请问问题出在哪里?另外[a,resnorm]是什么意思?
回复
分享到:

使用道具 举报

发表于 2009-3-17 10:18 | 显示全部楼层
什么错误  贴出错误信息
 楼主| 发表于 2009-3-17 14:02 | 显示全部楼层

回复 沙发 yufeng 的帖子

运行function nnn后出现错误如下:
??? function nnn
    |
Error: Function definitions are not permitted at the prompt or in scripts.

另外,脚本文件里一楼里的红色语句报警说有问题,中括号里面的内容下边标有红线。

[ 本帖最后由 ChaChing 于 2009-3-17 22:14 编辑 ]
发表于 2009-3-17 17:22 | 显示全部楼层
  1. function shiyan
  2. xdata= [3.6 7.7 9.3 4.1 8.6 2.8 1.3 7.9 10.0 5.4];
  3. ydata= [16.5 150.6 263.1 24.7 208.5 9.9 2.7 163.9 325.0 54.3];
  4. zdata= [95.09 23.11 60.63 48.59 89.12 76.97 45.68 1.84 82.17 44.47];
  5. data=[xdata; ydata];
  6. a0=[10,10,10];
  7. [a,resnorm]=lsqcurvefit(@myfun,a0,data,zdata)
  8. % Maximum number of function evaluations exceeded;
  9. % increase options.MaxFunEvals

  10. function F = myfun(a, data)
  11. x = data(1,:);
  12. y = data(2,:);
  13. F= a(1)*y.*x.^2+a(2)*sin(x)+a(3)*y.^3;
复制代码

运行结果(并未出现楼主说的情况):
Optimization terminated: relative function value
changing by less than OPTIONS.TolFun.
a =
    0.0074  -19.9642   -0.0000

resnorm =
  2.1959e+004

评分

1

查看全部评分

发表于 2009-3-17 22:20 | 显示全部楼层
Why?!

运行结果(R2006a)
Maximum number of function evaluations exceeded;
increase options.MaxFunEvals
a =
    0.0089  -34.5896   -0.0000
resnorm =
  2.2665e+004

运行结果(v6.5)
Maximum number of function evaluations exceeded;
   increase options.MaxFunEvals
a =
    0.0097  -35.1962   -0.0000
resnorm =
  2.2706e+004
发表于 2009-3-18 00:56 | 显示全部楼层

回复 5楼 ChaChing 的帖子

我用的是R2008a,估计在新版本中,对lsqcurvefit又进行了调整

评分

1

查看全部评分

 楼主| 发表于 2009-3-19 14:57 | 显示全部楼层

回复 地板 friendchj 的帖子

很奇怪,我把你的程序考到我的matlab里,做成m文件后运行,还是出现同样的错误!可能是我的软件有问题,能不能共享一个你的matlab软件啊!谢谢了!我的QQ437862810.MSN:damen313@163.com。邮箱也是damen313@163.com
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-6 10:00 , Processed in 0.070010 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表