how three vectors store in 3d array of zeros of same size with each vector's size

2 views (last 30 days)
v1=[1 2];
>> v2=[1 2 3];
>> v3=[1 2 3 4];
>> m=zeros(2,3,4);
how v1,v2 and v3 are stored in 'm' array.
thanks in advance for help

Answers (1)

KALYAN ACHARJYA
KALYAN ACHARJYA on 5 Nov 2019
Edited: KALYAN ACHARJYA on 5 Nov 2019
One way:
data=zeros(4,1,3);
v1=[1 2];
v2=[1 2 3];
v3=[1 2 3 4];
v1(length(v3))=0; % Because v3 having maximum length
v2(length(v3))=0;
data(:,:,1)=v1;
data(:,:,2)=v2;
data(:,:,3)=v3;
There may be more efficient way to do this
Result:
data(:,:,1) =
1
2
0
0
data(:,:,2) =
1
2
3
0
data(:,:,3) =
1
2
3
4
  1 Comment
Olawale Akinwale
Olawale Akinwale on 5 Nov 2019
My approach would be
m = zeros(3,max([length(v1),length(v2),length(v3)]));
m(1,1:length(v1)) = v1;
m(2,1:length(v2)) = v2;
m(3,1:length(v3)) = v3;

Sign in to comment.

Categories

Find more on Get Started with MATLAB in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!