声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1829|回复: 6

[编程技巧] matlab 调用函数中的参数传递(已经解决)

[复制链接]
发表于 2009-5-12 18:09 | 显示全部楼层 |阅读模式

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

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

x
function S=ff(sig);
global sig
     在这个函数中又调用了另外一个函数
       fenmu=ker(z1,z2);
       fenzi=ker(z3,z4);
       S=fenzi/fenmu
ker函数如下
   function y=ker(x1,x2)
    [n1,m1]=size(x1);
         [n2,m2]=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 编辑 ]
回复
分享到:

使用道具 举报

发表于 2009-5-12 19:48 | 显示全部楼层
你并未在函数ker中声明全局变量sig。为什么不把sig也通过函数传递呢。考虑:
fenmu=ker(z1,z2,sig);
……
function y=ker(x1,x2,sig)

评分

1

查看全部评分

 楼主| 发表于 2009-5-12 20:28 | 显示全部楼层
这个办法也试了,还是不行啊
发表于 2009-5-12 21:41 | 显示全部楼层
感觉LZ应该再给齐一些, 方便判断!
 楼主| 发表于 2009-5-12 21:46 | 显示全部楼层
已经解决了,谢谢楼上两位
发表于 2009-5-12 22:04 | 显示全部楼层

回复 5楼 zhaojinhuan 的帖子

建议与大家分享你的成果, 做个结束!
 楼主| 发表于 2009-5-12 23:24 | 显示全部楼层

回复 6楼 ChaChing 的帖子

后来再用2楼的办法,就ok了,原来第一次适的时候在调用ker函数时候少输入一个参数

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-17 05:24 , Processed in 0.056849 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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