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在内存里的值。
请高手指点!! 展开
比如我定义a=[1, 2, 3] function(a)之后,让a=[3 2 1], 注意不是把值赋给b, 让b=function(a) ,要直接改变变量a在内存里的值。
请高手指点!! 展开
2个回答
展开全部
答案可能会让你失望,但以我使用matlab十五年的经验,可以负责任的说:matlab函数的参数都是值传递方式,没有地址传递,这是没办法的。
两种勉强可用的方法,都不算太好:
把改变后的参数再传回来(调用时使用同样的变量接受返回数据),例如
函数定义:
function a=fun(a)
a=a.^2;
调用的时候:
a=fun(a);
如果要传递的数据比较大,也可以考虑使用全局变量。注意:全局变量需要在每个使用的模块里面都要声明。。
参考资料: http://zhidao.baidu.com/question/503508296.html?oldq=1
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询