matlab 怎么用函数修改变量里边的值

就是在C里边,可以通过传址来改变变量里的值,但是在matlab里,却不能传址。比如我定义a=[1,2,3]function(a)之后,让a=[321],注意不是把值赋给b... 就是在C里边,可以通过传址来改变变量里的值,但是在matlab里,却不能传址。

比如我定义a=[1, 2, 3] function(a)之后,让a=[3 2 1], 注意不是把值赋给b, 让b=function(a) ,要直接改变变量a在内存里的值。

请高手指点!!
展开
 我来答
tianxiawulang
推荐于2017-10-02 · TA获得超过2.7万个赞
知道大有可为答主
回答量:4732
采纳率:89%
帮助的人:2650万
展开全部

答案可能会让你失望,但以我使用matlab十五年的经验,可以负责任的说:matlab函数的参数都是值传递方式,没有地址传递,这是没办法的。

 

两种勉强可用的方法,都不算太好:

  1. 把改变后的参数再传回来(调用时使用同样的变量接受返回数据),例如

    函数定义:

    function a=fun(a)

    a=a.^2;

    调用的时候:

    a=fun(a);

  2. 如果要传递的数据比较大,也可以考虑使用全局变量。注意:全局变量需要在每个使用的模块里面都要声明。。

参考资料: http://zhidao.baidu.com/question/503508296.html?oldq=1

韧劲9
推荐于2017-10-06 · TA获得超过9224个赞
知道小有建树答主
回答量:1638
采纳率:92%
帮助的人:354万
展开全部
把改变后的参数再传回来(调用时使用同样的变量接受返回数据),例如
函数定义:
function a=fun(a)
a=a.^2;
调用的时候:
a=fun(a);
如果要传递的数据比较大,也可以考虑使用全局变量。注意:全局变量需要在每个使用的模块里面都要声明。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式