How to create a 3D variable with the third dimension is 1

I want to create a 3D variable with its third dimension is 1. However, functions such as zeros, ones and rand will ignore trailing dimensions with a size of 1.
So, if I try
A = zeros(100,100,1);
I would only have a 2D variable.

1 Comment

"I want to create a 3D variable with its third dimension is 1."
A = zeros(100,100);
size(A,3)
ans = 1
"I would only have a 2D variable."
All arrays implicitly have infinite trailing scalar dimensions.

Sign in to comment.

Answers (1)

This question has been asked before. This is the link
But basically Arrays in MATLAB have an implied infinitely long series of trailing singleton dimensions. You can index into them with no problem.
a = rand(100,100);
a(50,35,1)
ans = 0.7191

Categories

Find more on Operators and Elementary Operations in Help Center and File Exchange

Asked:

on 27 Jun 2023

Commented:

on 27 Jun 2023

Community Treasure Hunt

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

Start Hunting!