Adding Two Arrays Alternatively to make Third Array

6 visualizaciones (últimos 30 días)
Chris Dan
Chris Dan el 23 de Ag. de 2020
Editada: Chris Dan el 23 de Ag. de 2020
Hello,
I have two arrays, called "Force X Values" and "Force Y values". I am attaching the files and their pictures respectively.
Force X Values:
Force Y Values:
I want to join these two arrays in such a way that the first value comes from ForceX Values and the second values comes from Force Y values.
The total size of the resultant array wiill be then 128x1. To do it manually, it would look like
Resultant_Array=
[253.756605837273 + 0.00000000000000i
-465.372363772121 + 0.00000000000000i
6.13965893028579 - 3.73527288491552i
11.1240857825471 + 2.09884355966154i]
Does anyone know how to do it using a loop or without it?
  2 comentarios
Bjorn Gustavsson
Bjorn Gustavsson el 23 de Ag. de 2020
Why? (My guess is that this is a strickly botched programming design. This might come off as rude. My question is why not use the vector-capacity of matlab to have the 2 forces in two different components of the final array? Whenever I've used forces I have used the components to calculate the accellerations in perpendicular directions. That I would achieve like this:
F = [Force_X(:),Force_Y(:)]
That would give you an array F [n_1 x 2] with the force components for one time-step at each row, you would extract them like this:
F_i = F(i1,:);
or interpolate between the time-steps:
F_t = interp1(t,F,t_i);
)
Chris Dan
Chris Dan el 23 de Ag. de 2020
Editada: Chris Dan el 23 de Ag. de 2020
I have to use the the forces in Ax =f, where forces in x and y are top and below of each other in the vector "f"

Iniciar sesión para comentar.

Respuesta aceptada

Matt J
Matt J el 23 de Ag. de 2020
Editada: Matt J el 23 de Ag. de 2020
result = reshape( [Identify_X,Identify_Y].' ,[],1);

Más respuestas (1)

Jan
Jan el 23 de Ag. de 2020
% Arbitrary test data:
ForceX = rand(64, 1) + 1i * rand(64, 1);
ForceY = rand(64, 1) + 1i * rand(64, 1);
% Methode 1:
ForceXY = zeros(128, 1);
ForceXY(1:2:end) = ForceX;
ForceXY(2:2:end) = ForceY;
% Methode 2:
ForceXY = [ForceX.'; ForceY.'];
ForceXY = ForceXY(:);

Categorías

Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.

Productos


Versión

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by