Sparse Array - Special Command?
1 次查看(过去 30 天)
显示 更早的评论
Hi,
I'm dealing with a sparse array. Given 2 arrays "col" and "val", I want to create a one-rowed sparse array of value val(i) in the column col(i), for all i.
What I did is:
if true
% val, col given
leng = length(val);
row = ones(1, leng);
result = sparse(row, col, val, 1, leng);
end
Is there a better way to do, without creating an array "row" in particular? Because getting the length and creating the row take a bit of time in my problem.
Thanks!
采纳的回答
Walter Roberson
2013-11-13
result = sparse(1, col, val);
Note: this is not exactly equivalent to what you wrote. What you wrote only allocates a 1 x leng array, but leng is the number of elements in col, not the maximum col.
For example, sparse(1, 10, 3, 1, 1) would try to create a 1 x 1 sparse matrix, but it needs a 1 x 10 sparse matrix.
4 个评论
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!