Zero a cell matrix with varying number of zeros
1 次查看(过去 30 天)
显示 更早的评论
Hi,
I have a cell matrix, C, that's n x n, and an array A of size n x 1. The entries of array A dictate the no. of column of zeros in the matrix M.
i.e. M1 has a dimension 6 x A(1), M2 has a dimension 6 x A(2)
Given an index i, what I wish to do is the following,
Column i of C is filled with matrix Mi of dimension 6xA(i). So all n entries in column i are replaced with a matrix of zeros.
I know the following code
C(:,:) = {zeros(3,3)}
will give me zeros eveyrwhere, I want to leverage similar syntax to solve my problem. Avoiding the use of for loops.
Thank you.
0 个评论
回答(1 个)
ME
2019-10-30
I'm not 100% sure I follow, but as I understand you want to take some list of columns and turn all elements in that column to zeros?
If so then you could use something like:
C(:,cols) = 0
where cols is an array containing the indices of the columns to be zeroed. For example setting cols = [1 3] would put zeros in the first and thrid columns.
If that's not what you meant then please could you explain some more?
6 个评论
ME
2019-10-31
Oh, I see! Sorry, I completely missed the fact you wanted to do this inside a cell array. I don’t have a good answer for you right now but I’ll have a think on it.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!