写出下列程序的输出结果。
函数文件sub.m:
function fun=sub(y)
global x
y=3*x;
x=x+y;
脚本文件exe.m:
global x
x=[1:3; 1:2:5];
y=2:2:6;
sub(y);
x
y
这一题最后输出的y为什么不是3,6,9;3,9,15而是[2,4,6]?谢谢

matlab中的function函数
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- Dana_ranmo 2022-01-28 09:20关注
因为y没有定义为全局,就像c++的值传递和引用传递,在这里等价于c++的值传递,将y的值带入sub,然后sub中对y的操作并不会更新exe.m中的y的值
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用