如何修改函数

时间:2016-01-19 14:46:09

标签: matlab

我有以下结论:

Struct = struct('x', 0, 'arr', [0, 0, 0]);

我编写了一个修改结构的函数:

function [ ] = changeStruct( Struct )
Struct.x = 123;
Struct.arr(2) = 1234;
end

不幸的是,该功能没有任何效果,结构保持不变!

changeStruct(Struct);
Struct.arr(2)   % this gives 0
Struct.x        % this also gives 0

我该怎么做?

当然我可以返回修改后的Structure,并像这样更新原文:

Struct = changeStruct(Struct)  

但我希望每次都避免复制它。

1 个答案:

答案 0 :(得分:0)

你应该把Struct放在输出中

function [ Struct  ] = changeStruct( Struct )