Algorithm for a Loop in a Table

3 visualizaciones (últimos 30 días)
ercan duzgun
ercan duzgun el 14 de Ag. de 2021
Comentada: Sulaymon Eshkabilov el 14 de Ag. de 2021
Dear Matlab users,
I am trying to write a program with a loop. Assume that for each of the element of L, there are two solutions of M, and two solutions of N. I want to write them all on a table.
L=[1,2]'
M=[10,20,60,70]'
N=[100,200,500,600]'
Table=[
L(1) M(1) N(1)
L(1) M(1) N(2)
L(1) M(2) N(1)
L(1) M(2) N(2)
L(2) M(3) N(3)
L(2) M(3) N(4)
L(2) M(4) N(3)
L(2) M(4) N(4)]
Table should be like this. However, L vector doesn't have to have two elements. It might have more elements. If L has the third element for instance, the next line would be L(3) M(5) N(5).
Can you recommend how to write a Matlab code to generate this table?
Thanks in advance

Respuesta aceptada

Sulaymon Eshkabilov
Sulaymon Eshkabilov el 14 de Ag. de 2021
In your case, you'd need to use hand entry. However, if your pattern is repeating then, you can employ replem() and get these.
L=[1, 2]'; L=repelem(L,4);
M=[10,20,60,70]'; M=repelem(M,2);
N=[100,200,500,600]'; N=repelem(N,2);
T= array2table([L, M, N], 'VariableNames', {'L', 'M', 'N'})
T = 8×3 table
L M N _ __ ___ 1 10 100 1 10 100 1 20 200 1 20 200 2 60 500 2 60 500 2 70 600 2 70 600
  2 comentarios
ercan duzgun
ercan duzgun el 14 de Ag. de 2021
Sulaymon Eshkabilov
Sulaymon Eshkabilov el 14 de Ag. de 2021
Most welcome

Iniciar sesión para comentar.

Más respuestas (1)

Simon Chan
Simon Chan el 14 de Ag. de 2021
Try this:
Col1 = repelem(L,4);
Col2 = repmat(M',2,1);
Col3 = repmat([N(1:2:end),N(2:2:end)]',2,1);
Table = [Col1 Col2(:) Col3(:)];

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by