longe329 发表于 2007-3-27 13:07

为什么我编的程序总有错误提示?

各位编程高手请指教,小弟日前正在学习matlab优化设计,可是一旦变成函数,就总是有错误提示,我的函数是这样的:
                         function myfun(x)
                           f=sin(x)+3;
                              x0=2
                         =fminsearch(@myfun,x0);
其红色的错误提示是:Error in ==> C:\MATLAB6p5\work\myfun.m
                           On line 2==> f=sin(x)+3;
请问一下这是为什么,帮忙解答一下呀,我网上找了一下好像都没有答案似的,而且在书上也是这样编成的但是为什么就能直接运行出结果呢?

[ 本帖最后由 xinyuxf 于 2007-7-22 12:10 编辑 ]

心灯 发表于 2007-3-27 13:26

你是怎么运行程序的呢? 你这么写的话,是需要用命令来调用这个函数的。
建议好好看看matlab基本的教程资料。

心灯 发表于 2007-3-27 13:33

你的这个函数也可以说是子程序,子程序是供主程序调用的。呵呵

[ 本帖最后由 心灯 于 2007-3-27 13:34 编辑 ]

amygod 发表于 2007-3-27 13:54

将下面行数存为M文件
function myfun=myfun(x)
myfun=sin(x)+3;
再在命令窗口中输入下列语句试试:                        
x0=2;
=fminsearch(@myfun,x0);

xinyuxf 发表于 2007-3-27 17:00

你把
                         function myfun(x)
                           f=sin(x)+3;
直接换成amygod所提供的
       function myfun=myfun(x)
       myfun=sin(x)+3;
应该就可以了

eight 发表于 2007-3-27 17:17

原帖由 longe329 于 2007-3-27 13:07 发表
各位编程高手请指教,小弟日前正在学习matlab优化设计,可是一旦变成函数,就总是有错误提示,我的函数是这样的:
                         function myfun(x)
                           f=sin(x)+3;
    ...


估计楼主在编辑窗口直接运行程序了,由于没有给出有用的错误代码,也不知道你的意图,因此无法给出具体的解释。上面的回复都具有启发性,楼主可以试试

xjzuo 发表于 2007-3-28 10:30

的确又是一位不分窗口编程的版友.建议看看基本的Matlab书籍.
页: [1]
查看完整版本: 为什么我编的程序总有错误提示?