我想使用eval更改数据集中的值。它应该以某种方式将每一个值改变为之前的值。
简短的例子:
A = magic(6)
ds = mat2dataset(A) % original dataset
ds.A1(2:2:end) = ds.A1(1:2:end) % dataset after change
这就是我想要的方式。现在我需要使用函数中先前分配的变量字母和数字。
letter = 'A'
number = '1'
eval([strcat('ds.', letter, number)]) % now gives me all values.
这正是我想索引(1:2:end)以获得索引值的点。
你们其中一个人是否知道如何在eval函数中编入索引?如果你有的话,我也会更喜欢其他方式。
非常感谢!
答案 0 :(得分:2)
1)不要使用eval
来实现动态字段名:
h=ds.([letter, number])
2)双重索引是不可能的,你需要两行来实现它。
h(1:2:end)