luohaoyu888 2022-01-27 22:08 采纳率: 100%
浏览 42
已结题

matlab中的function函数

写出下列程序的输出结果。
函数文件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]?谢谢

  • 写回答

1条回答 默认 最新

  • Dana_ranmo 2022-01-28 09:20
    关注

    因为y没有定义为全局,就像c++的值传递和引用传递,在这里等价于c++的值传递,将y的值带入sub,然后sub中对y的操作并不会更新exe.m中的y的值

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 2月5日
  • 已采纳回答 1月28日
  • 创建了问题 1月27日