Algorithm for a Loop in a Table

3 ビュー (過去 30 日間)
ercan duzgun
ercan duzgun 2021 年 8 月 14 日
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

採用された回答

Sulaymon Eshkabilov
Sulaymon Eshkabilov 2021 年 8 月 14 日
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 件のコメント
ercan duzgun
ercan duzgun 2021 年 8 月 14 日
Sulaymon Eshkabilov
Sulaymon Eshkabilov 2021 年 8 月 14 日
Most welcome

サインインしてコメントする。

その他の回答 (1 件)

Simon Chan
Simon Chan 2021 年 8 月 14 日
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(:)];
  1 件のコメント
ercan duzgun
ercan duzgun 2021 年 8 月 14 日
Thank you @Simon Chan

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by