2014-01-15 30 views
0

我想读取输入的名称,但因为它是formmatted作为一个结构和字段,我没有得到任何回报。在matlab中我想获得一个字段结构的输入名称

Y = FnX(struct.field1) 


function [Y]=FnX(inputName) 

name = %DO SOMETHING% 


end 

结果应该是名== '字段1'

+0

你会觉得** **从这里张贴问题的数量和他们会意识到'inputname'应该能够Mathworks的字符串IFY'object.substruct',但真是没有。我同意这是一个明显的Matlab缺陷。 –

回答

1

您可以使用inputname()得到函数输入的变量名:

function [Y]=FnX(inputName) 
name = inputname(1); 
end 

但调用此之前,您需要首先获得其字段,因为inputname()不适用于结构元素。

field1 = struct.field1; 
[Y] = FnX(field1); % call here 
+0

非常感谢,有没有办法通过直接发送struct.field1到函数中,或者这是否皱眉? –

+1

@KeithD据我所知,这是做不到的。我见过很多讨论,但仍然没有解决。 – herohuyongtao

相关问题