Creating 3D array from 2D with increment

1 vue (au cours des 30 derniers jours)
Jiayun Liu
Jiayun Liu le 13 Oct 2022
Commenté : Jiayun Liu le 13 Oct 2022
Suppose I have a 2D array of integers A and I want to create another 2D array B = A+1 and I want to combine them into 1 3D array. I will do something like cat(3,A,B). Now I want to add another 2D array C = B+1 to it. The simple way I can think of would be to loop it through a for loop. I was wondering if there are any other way of doing this without using for loop.

Réponse acceptée

Chunru
Chunru le 13 Oct 2022
A = randi([1, 10], [3, 5])
A = 3×5
5 9 3 6 5 7 8 1 8 6 9 3 8 10 1
C = A + reshape(0:2, [1,1,3]) % increment 0, 1, 2 for example
C =
C(:,:,1) = 5 9 3 6 5 7 8 1 8 6 9 3 8 10 1 C(:,:,2) = 6 10 4 7 6 8 9 2 9 7 10 4 9 11 2 C(:,:,3) = 7 11 5 8 7 9 10 3 10 8 11 5 10 12 3

Plus de réponses (0)

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by