matlab - matlab代码中声明变量然后使用它时出错

标签 matlab variables scope machine-learning matlab-figure

在第 2 行中声明变量 (filename) 并在第 4 行中使用它会出现错误。 如果我给出 use data.temp(12,;) 那么它运行正常,但是如果我给出 filename = tempindex = 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/

相关文章:

matlab - 在matlab中用鼠标在GUI上绘图

php - PHP 中的可变变量允许使用非法变量名吗?

python - python appdata环境变量中的变音符号问题

javascript - 为什么我的 for 循环在一次迭代后停止?

r - 从 R 中运行的 Matlab *.p 文件

c++ - 在 C++ 文件中链接 mat.h

flutter - 变量没有被改变到 flutter 的范围之外

javascript - 闭包/作用域 JavaScript/jQuery

oop - 检查和编辑对象的私有(private)/ protected 属性

javascript - .js + sql变量无法求和