我想根据行号和列号创建一个数组.
例如 :
row_number Column_number Value
1 1 5
3 2 10
4 6 4
7 5 66
Run Code Online (Sandbox Code Playgroud)
该数组应如下所示:
A=
5 0 0 0 0 0
0 0 0 0 0 0
0 10 0 0 0 0
0 0 0 0 0 4
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 66 0
Run Code Online (Sandbox Code Playgroud)
否则它将打印为零.
这个常见问题的3种可能方法:
1.使用该sub2ind
功能
A = zeros(max(row_number), max(Column_number));
idx = sub2ind(size(A),row_number, Column_number);
A(idx) = Value;
Run Code Online (Sandbox Code Playgroud)
2. 手动计算线性指数
A = zeros(max(row_number), max(Column_number));
idx = row_number(:,1) + (Column_number(:,2)-1)*size(A,1)
A(idx) = Value;
Run Code Online (Sandbox Code Playgroud)
3.使用sparse
矩阵
sparse(row_number, Column_number, Value)
Run Code Online (Sandbox Code Playgroud)
full
如果你想将它转换为常规矩阵,请调用它