如何在matlab';s数据集?

如何在matlab';s数据集?,matlab,dataset,Matlab,Dataset,我有一个46x46数据集,需要更新单行中的多个值 例如: data = A B C D 0 0 0 0 0 0 0 0 0 0 0 0 我想让它像 A B C D 0 0 0 0 0 1 0 1 0 0 0 0 我可以这样写吗: data(2, ['B', 'D']) = [1, 1]; 谢谢大家! 是: data(2, [2 4]) = mat2dataset([1 1]); 或者简单地说: data(2, [2 4]) = mat2dataset(1)

我有一个46x46数据集,需要更新单行中的多个值

例如:

data =   
A B C D  
0 0 0 0  
0 0 0 0  
0 0 0 0
我想让它像

A B C D  
0 0 0 0  
0 1 0 1  
0 0 0 0 
我可以这样写吗:

data(2, ['B', 'D']) = [1, 1];
谢谢大家!

是:

data(2, [2 4]) = mat2dataset([1 1]);
或者简单地说:

data(2, [2 4]) = mat2dataset(1);
注意:作为补充,您应该避免使用数据集。根据 文档:“数据集数据类型可能在将来被删除 要处理异构数据,请使用Matlab表格数据 改为键入。”

如果您有一个(建议替换该类型),可以使用
'VariableNames'
属性引用列的名称:

首先构建表:定义列名并用零填充所有列:

data = table(zeros(3,1), zeros(3,1), zeros(3,1), zeros(3,1), ....
       'VariableNames', {'A','B','C','D'});
这给

data = 
    A    B    C    D
    _    _    _    _
    0    0    0    0
    0    0    0    0
    0    0    0    0
然后,要更改问题条目中的条目,可以使用

data(2, ismember(data.Properties.VariableNames, {'B' 'D'})) = {1, 1};

或者更直接地

data.B(2) = 1;
data.D(2) = 1;
以上任何一项都给出了答案

data = 
    A    B    C    D
    _    _    _    _
    0    0    0    0
    0    1    0    1
    0    0    0    0

他/她没有桌子,但有数据集。@Crazyrat Hm.True。我从未使用过
数据集
类型,并认为它是一个通用名称:-)无论如何,由于
数据集
已经过时,建议使用
来代替,我想我会留下答案,因为它可能会有用。非常感谢!)我还没弄明白
data = 
    A    B    C    D
    _    _    _    _
    0    0    0    0
    0    1    0    1
    0    0    0    0