声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1152|回复: 4

[编程技巧] 请问这个程序错在哪里?

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

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

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

x
matlab程序如下:

function f1=f(x)
f1=x(:,1).*x(:,1)/4+x(:,2).*x(:,2)/4;
function f2=f(x)
f2=x(:,1).*(1-x(:,2))+10;


此为前面的部分,但一运行之后,就出现了错误:

??? Input argument 'x' is undefined.
Error in ==> C:\MATLAB6p5\work\p143.m
On line 2  ==> f1=x(:,1).*x(:,1)/4+x(:,2).*x(:,2)/4;

请问这个错在哪里?程序是雷英杰《matlab遗传算法工具箱及应用》P143页

function函数该如何定义
要求在同一个程序里面调用

初学matlab,很多地方不明白,请大虾指教
回复
分享到:

使用道具 举报

发表于 2007-5-16 19:39 | 显示全部楼层
这个是调用的函数,只能在调用的时候使用,不能直接执行。
发表于 2007-5-16 19:56 | 显示全部楼层
原帖由 xiedong 于 2007-5-16 19:27 发表
matlab程序如下:

function f1=f(x)
f1=x(:,1).*x(:,1)/4+x(:,2).*x(:,2)/4;
function f2=f(x)
f2=x(:,1).*(1-x(:,2))+10;


此为前面的部分,但一运行之后,就出现了错误:

??? Input argument 'x ...



请参考 置顶贴:聚宝盆
发表于 2008-4-14 22:12 | 显示全部楼层
函数要先存为.m文件吧,然后command
发表于 2008-4-14 22:26 | 显示全部楼层
function f1=f(x)
f1=x(:,1).*x(:,1)/4+x(:,2).*x(:,2)/4;

function f2=f(x)
f2=x(:,1).*(1-x(:,2))+10;
先把这2个分别保存为.m文件

然后再调用它

[ 本帖最后由 eight 于 2008-4-15 09:55 编辑 ]
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-20 00:07 , Processed in 0.064238 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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