在第 2 行中声明变量 (filename
) 并在第 4 行中使用它会出现错误。
如果我给出 use data.temp(12,;)
那么它运行正常,但是如果我给出 filename = temp
和 index = 12
作为输入然后运行 data.filename(index,:);
,它给出错误。有人请帮帮我
这是确切的代码:
data = importdata('check.mat');
filename = input('Enter the filename: ','s');
index = input('Enter Index of the file: ');
row = data.filename(index,:);
Reference to non-existent field 'filename'
最佳答案
您错误地使用了结构。
使用字符串访问结构体时,需要使用getfield
,因为 fieldname
包含一个字符串,但是当您执行 data.fieldname
时,您实际上并没有在该点之后使用 fieldname
的值,而是实际上尝试访问数据中不存在的字段fieldname
。
而是这样做:
row=getfield(data, filename);
关于matlab - matlab代码中声明变量然后使用它时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36008850/