如何用新数据集替换列?

时间:2017-05-01 15:59:48

标签: matlab

我有这个随机生成的数字:

Acc_std = 5;
Acc_mu = 15;
Acc_Speed = Acc_std.*randn(15959,1) + Acc_mu;

以及数据集中的此列:

G.Edges(:,5)

如何使用随机生成的数据(Acc_Speed)替换第五列中的数据?

这是我收到的错误消息:

Error in Team1 (line 48)
G.Edges(:,5) = Acc_Speed

1 个答案:

答案 0 :(得分:2)

看看我根据你的代码制作的这个例子:

我创建了以下table,我调用了它(T):

col1 = ones(3, 1);
col2 = 2*ones(3, 1);
col3 = 3*ones(3, 1);
col4 = 4*ones(3, 1);
col5 = 5*ones(3, 1);

T = table(col1, col2, col3, col4, col5);

table看起来像这样:

>> T

T = 

    col1    col2    col3    col4    col5
    ____    ____    ____    ____    ____

    1       2       3       4       5   
    1       2       3       4       5   
    1       2       3       4       5   

我使用size查找a所拥有的行数(T),然后根据该大小(a)生成一些随机值,您提供的表达式和值:

[a, b] = size(T);

Acc_std = 5;
Acc_mu = 15;

Acc_Speed = Acc_std.*randn(a, 1) + Acc_mu;

最后,我将col5的第五列(T)替换为Acc_Speed的值:

T.col5 = Acc_Speed;

现在T看起来像这样:

>> T

T = 

    col1    col2    col3    col4     col5 
    ____    ____    ____    ____    ______

    1       2       3       4       28.847
    1       2       3       4       8.2506
    1       2       3       4       30.175

我希望这能解决你的问题。