diamondyang 发表于 2009-3-16 20:15

请教一个语句问题!!!

function nnn
xdata= ;
ydata= ;
zdata= ;
data=;
a0=;
=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;
红色语句报警了!请问问题出在哪里?另外是什么意思?

yufeng 发表于 2009-3-17 10:18

什么错误贴出错误信息

diamondyang 发表于 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 编辑 ]

friendchj 发表于 2009-3-17 17:22

function shiyan
xdata= ;
ydata= ;
zdata= ;
data=;
a0=;
=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;
运行结果(并未出现楼主说的情况):
Optimization terminated: relative function value
changing by less than OPTIONS.TolFun.
a =
    0.0074-19.9642   -0.0000

resnorm =
2.1959e+004

ChaChing 发表于 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

friendchj 发表于 2009-3-18 00:56

回复 5楼 ChaChing 的帖子

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

diamondyang 发表于 2009-3-19 14:57

回复 地板 friendchj 的帖子

很奇怪,我把你的程序考到我的matlab里,做成m文件后运行,还是出现同样的错误!可能是我的软件有问题,能不能共享一个你的matlab软件啊!谢谢了!我的QQ437862810.MSN:damen313@163.com。邮箱也是damen313@163.com
页: [1]
查看完整版本: 请教一个语句问题!!!