matlab 调用函数中的参数传递(已经解决)
function S=ff(sig);global sig
在这个函数中又调用了另外一个函数
fenmu=ker(z1,z2);
fenzi=ker(z3,z4);
S=fenzi/fenmu
ker函数如下
function y=ker(x1,x2)
=size(x1);
=size(x2);
for i=1:n1
for j=1:n2
y(i,j)=exp(-sig*(norm(x1(i,:)-x2(j,:))^2));
end
end
我在命令出口中输入ff(1)
显示如下
Error in ==> ker at 7
y(i)=exp(-sig*(norm(x1(i,:)-x1(i,:))^2));
Error in ==> ff at 23
麻烦各位看一下在哪出问题了
[ 本帖最后由 zhaojinhuan 于 2009-5-12 21:46 编辑 ] 你并未在函数ker中声明全局变量sig。为什么不把sig也通过函数传递呢。考虑:
fenmu=ker(z1,z2,sig);
……
function y=ker(x1,x2,sig) 这个办法也试了,还是不行啊 感觉LZ应该再给齐一些, 方便判断! 已经解决了,谢谢楼上两位
回复 5楼 zhaojinhuan 的帖子
建议与大家分享你的成果, 做个结束!回复 6楼 ChaChing 的帖子
后来再用2楼的办法,就ok了,原来第一次适的时候在调用ker函数时候少输入一个参数
页:
[1]