Info

此问题已关闭。 请重新打开它进行编辑或回答。

pass arguments to a function that have not been defined in the workspace

1 次查看(过去 30 天)
Hi all,
What am I supposed to do in order to achieve the following:
function op=Mset(op,ip,kk,n)
if kk==1
op=ip./n;
else
op = op + (ip./n);
end
Simply, I would like to pass 'op' which is an undefined variable to the function. In other words, op merely represents a bunch of characters or the name of the variable.
  3 个评论
Stephen23
Stephen23 2018-6-15
"In other words, op merely represents ... the name of the variable."
Don't do this. Dynamically accessing variables names is how beginners force themselves into writing slow, complex, buggy code. Read this to know why:
It is much more efficient to use indexing, fieldnames, or the columns/rows of a table.
Aneesh Vasudev
Aneesh Vasudev 2018-6-19
Thanks Stephen and Adam. I'm currently using a struct. I initialized the struct before calling the function and then pass the names of fields and dynamically append it to the struct.

回答(0 个)

此问题已关闭。

产品


版本

R2017b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by