MATLAB Answers

How to make the length/dimension of 6 different 3D vectors the same?

조회 수: 1(최근 30일)
alexandra ligeti
alexandra ligeti 2021년 6월 11일
댓글: alexandra ligeti 2021년 6월 11일
I have 6 different vectors, each containing their own independant x, y, z coordinates. I would like to calculate the cross product and so to be able to do that, I need the vectors be the the same dimension. The dimensions of the vectors are as seen in the image below. The longest vector is 852, so I would like the other vectors to be 852 entries in length with the end values being padded with the value of zero to make up the end entires to ensure the length recahes 852. Is there an easy way to do this?
I have tried a for loop but it is not filling the end values of the shorter vectors with zeros and I cant seem to get it to work for more than one vector.
So just to reiterate, I am looking for a method to get all vector dimenstions the same, and where the vector lengths are not equal in length I would like the shorter length vectors to contain zero value entires padded to the end to make up the remaining entires ensuring the length of all vectors is the same as that of the longest vector.
Thank you for your help.

채택된 답변

Joseph Cheng
Joseph Cheng 2021년 6월 11일
probably the easiest way is to fill a zero array created to be the same max size then populate the indexes with the values:
var1 = rand(100,3);
var2 = rand(50,3);
pmax = max([size(var1,1) size(var2,1)])
pmax = 100
Zpad = zeros(pmax,3);
Zvar1 = Zpad;
Zvar2 = Zpad;
Zvar1(1:size(var1),:)=var1;
Zvar2(1:size(var2),:)=var2;
figure,plot(1:pmax,Zvar1,1:pmax,Zvar2,'x')
  댓글 수: 1
alexandra ligeti
alexandra ligeti 2021년 6월 11일
Thank you, this is exactly what I needed! Works perfectly.

댓글을 달려면 로그인하십시오.

추가 답변(0개)

Community Treasure Hunt

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

Start Hunting!

Translated by