Creating 3D array from 2D with increment

1 Ansicht (letzte 30 Tage)
Jiayun Liu
Jiayun Liu am 13 Okt. 2022
Kommentiert: Jiayun Liu am 13 Okt. 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.

Akzeptierte Antwort

Chunru
Chunru am 13 Okt. 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

Weitere Antworten (0)

Kategorien

Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by