# Zero a cell matrix with varying number of zeros

6 views (last 30 days)
Mohammed Kagalwala on 30 Oct 2019
Commented: ME on 31 Oct 2019
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.

ME on 30 Oct 2019
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?
ME on 31 Oct 2019
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.