注册 登录
编程论坛 Matlab

关于matlab: m文件调用参数的问题? 谢谢各位朋友!!

SUNLJH 发布于 2007-01-17 19:28, 667 次点击

我定义的m函数
function [h]=geth((i))
h=length(find((node(i).value~= dnodevalue)==1));//node表示一个节点

定义:
dnodevalue=[1 2 3;8 0 4;7 6 5];
node=struct('value',[2 8 3;1 6 4;7 0 5],'g',0,'f',0,);
h=geth(1)
node(1).f=node(1).g+h;

提示出现的错误为:
??? Undefined variable "node" or class "node".

Error in ==> geth at 2
h=length(find((node(i).value~= dnodevalue)==1));

在工作空间里有node,怎么会是Undefined variable呢?
希望高手帮帮偶,谢谢大家!!

1 回复
#2
hitzhang2007-01-18 18:42
你需要把node定义为全局变量(在workspace中和m文件中分别声明)
或者
function [h]=geth((i),node)
h=length(find((node(i).value~= dnodevalue)==1));
1