Hello all! I have some ambiguity with MATLAB. I saved my matrix as A(:,:,1) in workspace. Now I want to access column or some entries of my big matrix on command window.

1 Ansicht (letzte 30 Tage)
I have the following loop.
for i=1:4
A(:,:,i)=i*ones(4,4);
end
Now I want second rows of A(:,:,i) i.e second row of A(:,:,1), second row of A(:,:,2), second row of A(:,:,3) and second row of A(:,:,4).

Akzeptierte Antwort

Wan Ji
Wan Ji am 23 Aug. 2021
Do by following code
for i=1:4
A(:,:,i)=i*ones(4,4);
end
B = permute(A,[3,2,1]);
B(:,:,2)
The result is
ans =
1 1 1 1
2 2 2 2
3 3 3 3
4 4 4 4
  3 Kommentare
dpb
dpb am 23 Aug. 2021
"I just want to have 2nd row of A(:,:,2) only on my comand window" @Teshome Kumsa
Well, that's just
B=A(2,:,2);
Wan Ji
Wan Ji am 23 Aug. 2021
Hi, Teshome Kumsa,
Follow pdb's answer. And transpose it.
B=squeeze(A(2,:,:))'; % B is what you want
Also without using squeeze, you can achieve it by
B = reshape(A(2,:,:), size(A,2), size(A,3))';

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

dpb
dpb am 23 Aug. 2021
B=squeeze(A(2,:,:));

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by