声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 916|回复: 6

[编程技巧] 为什么我编的程序总有错误提示?

[复制链接]
发表于 2007-3-27 13:07 | 显示全部楼层 |阅读模式

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

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

x
各位编程高手请指教,小弟日前正在学习matlab优化设计,可是一旦变成函数,就总是有错误提示,我的函数是这样的:
                         function myfun(x)
                           f=sin(x)+3;
                              x0=2
                         [x,fval]=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 编辑 ]
发表于 2007-3-27 13:54 | 显示全部楼层
将下面行数存为M文件
function myfun=myfun(x)
  myfun=sin(x)+3;
  再在命令窗口中输入下列语句试试:                        
x0=2;
[x,fval]=fminsearch(@myfun,x0);

评分

1

查看全部评分

发表于 2007-3-27 17:00 | 显示全部楼层
你把
                         function myfun(x)
                           f=sin(x)+3;
直接换成amygod所提供的
       function myfun=myfun(x)
       myfun=sin(x)+3;
应该就可以了
发表于 2007-3-27 17:17 | 显示全部楼层
原帖由 longe329 于 2007-3-27 13:07 发表
各位编程高手请指教,小弟日前正在学习matlab优化设计,可是一旦变成函数,就总是有错误提示,我的函数是这样的:
                         function myfun(x)
                           f=sin(x)+3;
    ...



估计楼主在编辑窗口直接运行程序了,由于没有给出有用的错误代码,也不知道你的意图,因此无法给出具体的解释。上面的回复都具有启发性,楼主可以试试
发表于 2007-3-28 10:30 | 显示全部楼层
的确又是一位不分窗口编程的版友.建议看看基本的Matlab书籍.
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-12 13:20 , Processed in 0.068807 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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