Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2008-08-04, 13:46   #1
soliddream
初级会员
 
注册日期: 2008-06-18
年龄: 44
帖子: 8
声望力: 0
soliddream 正向着好的方向发展
默认 [求助]matlab把数组当参数传递的时候怎么会不改变值呢?

RT~
比如
function test(a)
change(a);
a

function change(a)
a(:,=1;
测试 a =[0 0;0 0];test(a);输出[0 0;0 0]

测试test(0),还输出1的,我改成
function test(a)
a=change(a);
a

function a=change(a)
a(:,=1;
测试 a =[0 0;0 0];test(a);才输出[1 1;1 1]
soliddream 当前离线   回复时引用此帖
旧 2008-08-04, 14:17   #2
soliddream
初级会员
 
注册日期: 2008-06-18
年龄: 44
帖子: 8
声望力: 0
soliddream 正向着好的方向发展
默认

帮个忙撒,我在搞递归函数,结果发现参数根本就没改变,虽然按步调试的时候确实得到期望的值:lovely:

我把数组声明成global全局型数组了:sweat: 只好这么折中了。

有哪位高手可以告诉我怎么改变参数的数组值?

大体的文件结构如下:
function main(LB)
recursive(LB,1);

function recursive(LB,n)
if(n<size(LB,1)*size(LB,2))
LB(n) = 1;

注意LB是二维数组,当然实际上我不会用递归函数做这种无聊的事情,只是测试,我发现增加recursive返回值,在主函数中依然没有得到正确的修改值
soliddream 当前离线   回复时引用此帖
回复

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码


相似的主题
主题 主题作者 版面 回复 最后发表
求助了,帮大忙的送币子! trisol MATLAB论坛 3 2008-11-28 17:21
[求助]在做数值分析中遇到困难求助 sunps82 MATLAB论坛 1 2008-11-28 13:05
[求助]在GUI中利用按钮来导入图片 yangkai12 MATLAB论坛 0 2008-04-20 21:55


所有时间均为北京时间。现在的时间是 01:18


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.