How to set the diagonal of a cell array of matrices?

조회 수: 5 (최근 30일)
Mohammed Kagalwala
Mohammed Kagalwala 2019년 10월 29일
댓글: Mohammed Kagalwala 2019년 10월 29일
Hi,
I'm looking to set the diagonal of my cell array to identity, specifically eye(3,3). I know a simple for loop solution exists, but if there's something more elegant please let me know.
Thank you.

채택된 답변

Jos (10584)
Jos (10584) 2019년 10월 29일
Well found, Mohammed! You should put as an answer here :-)
Here is another method
A = cell(4,4) % a cell array
n = size(A,1)
A(1:(n+1):end) = {eye(3,3)}

추가 답변 (1개)

Mohammed Kagalwala
Mohammed Kagalwala 2019년 10월 29일
I found the solution ! For a cell array A of size n x n, one can do the following
A(logical(eye(n,n))) = {eye(3,3)};

카테고리

Help CenterFile Exchange에서 Matrices and Arrays에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by