필터 지우기
필터 지우기

Zero a cell matrix with varying number of zeros

조회 수: 1 (최근 30일)
Mohammed Kagalwala
Mohammed Kagalwala 2019년 10월 30일
댓글: ME 2019년 10월 31일
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.

답변 (1개)

ME
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
Mohammed Kagalwala
Mohammed Kagalwala 2019년 10월 30일
C is a cell of a fixed size nxn. Each cell column will have a unique size based on A. i.e. something like this,
cell.PNG
In this case A = [5 1 5 10 8 8 8 8 9 8 10 2].
This was however created using a for loop. I want to make this same cell structure without the use of for loops.
ME
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 CenterFile Exchange에서 Matrix Indexing에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by