gpt4 book ai didi

matlab - 根据给定数据定义矩阵

转载 作者:行者123 更新时间:2023-11-30 09:26:07 25 4
gpt4 key购买 nike

我有这个数据集,其形式为

    14     2    -1
18 2 -1
63 58 -1
69 58 -1
125 126 -1
127 126 -1
128 126 -1
129 126 -1
143 131 -1
188 184 -1

我想定义一个矩阵C,它是MxM,由C[u,u] = C[v,v] = 1C[u,v]中的1组成= C[v,u] = -1 对于我的数据集中的每个条目 (u,v,-1),如何在 matlab 中执行此操作?矩阵C可以是稀疏的,因为M很大,可能达到100万。

最佳答案

您可以使用sparse为数据设置稀疏矩阵,称为A:

  M = 1e6; % given value
A = [A; A(:, [2 1 3]); [1:M].' [1:M].' ones(M,1)]; %(u,v) = (v,u) = -1, and (u , u) = 1
C = sparse(A(:,1),A(:,2),A(:,3),M,M);

在上面的如果:

A = 
[14 2 -1
18 2 -1
63 58 -1
69 58 -1
125 126 -1
127 126 -1
128 126 -1
129 126 -1
143 131 -1
188 184 -1];

我们将 (i,i) 添加到值为 1 的 A 中,然后根据这些值创建一个稀疏矩阵。

关于matlab - 根据给定数据定义矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45190314/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com