Changing Structure field value from a function
11 ビュー (過去 30 日間)
古いコメントを表示
MoHAJNEN komo olkm
2016 年 11 月 9 日
コメント済み: Walter Roberson
2016 年 11 月 9 日
Greetings all,
I have a question regarding the Structure field value. I'm trying to change a field of my structure that is already in the workspace. as follows: mys(1).id = {100};
I can do that from the command line and the value changes, but that is not happening from inside the function. Any idea why is that ?
2 件のコメント
KSSV
2016 年 11 月 9 日
Are you sending the data which in work-space to the function? Show us your code.
採用された回答
Walter Roberson
2016 年 11 月 9 日
You need to have the entire variable as output from your function. Or if the function returns just the new value then the caller needs to assign it to the field by name.
3 件のコメント
Walter Roberson
2016 年 11 月 9 日
function s=test(s)
s.something = newvalue;
Called with
A = test(A)
その他の回答 (1 件)
Guillaume
2016 年 11 月 9 日
Matlab is pass-by-value. functions always receive the copy of the variable. Any change you make to variables are only local to the function unless the function also returns the variable as an output and the caller assigns that output back to the original variable.
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Other Formats についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!