Using 3d matrix inmatlab

1 visualizzazione (ultimi 30 giorni)
jana
jana il 29 Mag 2013
A(:,:,1) =
1 1 0
0 1 1
1 1 1
A(:,:,2) =
1 0 0
0 0 1
0 0 1
I used [r,c,v] = ind2sub(size(A),find(A == 1)); to find r,c,v in matrix A that has a value 1. But I want to place a condition that while A == 1 then I(r,c) = v
for example I(1,1) = {1,2} since for v=1,2 A takes a value 1. Please help me out with a code.

Risposta accettata

Matt J
Matt J il 29 Mag 2013
Modificato: Matt J il 29 Mag 2013
[m,n,p]=size(A);
s=reshape(1:p,1,1,p);
A=bsxfun(@times,A,s);
  4 Commenti
jana
jana il 29 Mag 2013
l=cellfun(@(c) nonzeros(c).',l,'uni',0); it shows an error message : Input # 2 expected to be a cell array, was double instead.
jana
jana il 29 Mag 2013
Navermind I fixed it. Thankyou!

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Mathematics in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by