0

私はかなり単純なことをしようとしていますが、それを得ることができないようです...

文字列を含む3つのセル配列があります。

A = {'ConditionA'; 'ConditionB'; 'ConditionC'; 'ConditionD'};

B = {'Case1'; 'Case2'; 'Case3'; 'Case4'};

C = {'Rice'; 'Beans'; 'Carrots'; 'Cereal';'Tomato'; 'Cabbage';...
    'Sugar'}

これは次のような「樹形図」であったため、連結された(strcat?)組み合わせでベクトルを作成したいと思います。

strcat(A(1),B(1),C(1))
strcat(A(1),B(1),C(2))
strcat(A(1),B(1),C(3))
strcat(A(1),B(1),C(4))
strcat(A(1),B(1),C(5))
strcat(A(1),B(1),C(6))
strcat(A(1),B(1),C(7))

strcat(A(1),B(2),C(1))

したがって、私が取得しようとしている最初の要素は(理想的には列内で)次のとおりです。

ConditionACase1Rice ConditionACase1Beans ConditionACase1Carrots ConditionACase1Cereal ConditionACase1Tomato ConditionACase1CabbageConditionACase1SugarConditionACase2Riceなど...

そんなこと知ってる:

for i=1:length(A)
    E(i) = strcat(A(i),B(1),C(1))
end

1つの「レベル」で機能します。私が試してみました:

for i=1:length(A)
    for j=1:length(B)
        for k=1:length(C)
            P(i) = strcat(A(i),B(j),C(k));
        end
    end
end 

しかし、これは機能しません...

これを手伝ってもらえたら本当にありがたいです。

前もって感謝します!

4

3 に答える 3

0

{{

x = 1;
    for i=1:length(A)
        for j=1:length(B)
            for k=1:length(C)
                P(x) = strcat(A(i),B(j),C(k));
                x = x + 1;
            end
        end
    end

}

これは非常に単純なデバッグであるため、基本的にPOに投稿する前にコードを確認してください

于 2013-03-19T02:12:28.493 に答える
0

私はmatlabにあまり詳しくありませんが、このようなことを試してみませんか?

for A = {'ConditionA'; 'ConditionB'; 'ConditionC'; 'ConditionD'};
   for B = {'Case1'; 'Case2'; 'Case3'; 'Case4'};
     for  C = {'Rice'; 'Beans'; 'Carrots'; 'Cereal';'Tomato'; 'Cabbage'; 'Sugar'}
       P(i) = strcat(A(i),B(j),C(k));
    end
   end
  end
于 2013-03-19T02:15:34.107 に答える
0

私が理解したことから、指定された入力配列の文字列のすべての可能な組み合わせが必要です。その場合は、ネストされたループを次のように置き換えるだけです。

P = cell(length(A)*length(B)*length(C),1);
t=1;
for i=1:length(A)
    for j=1:length(B)
        for k=1:length(C)
            P(t) = strcat(A(i),B(j),C(k));
            t = t+1;
        end
    end
end

入力配列の場合、

>> A = {'ConditionA'; 'ConditionB'; 'ConditionC'; 'ConditionD'};
>> B = {'Case1'; 'Case2'; 'Case3'; 'Case4'};
>> C = {'Rice'; 'Beans'; 'Carrots'; 'Cereal';'Tomato'; 'Cabbage';'Sugar'};

Pの値は次のようになります。

>> P

P = 

    'ConditionACase1Rice'
    'ConditionACase1Beans'
    'ConditionACase1Carrots'
    'ConditionACase1Cereal'
    'ConditionACase1Tomato'
    'ConditionACase1Cabbage'
    'ConditionACase1Sugar'
    'ConditionACase2Rice'
    'ConditionACase2Beans'
    'ConditionACase2Carrots'
    'ConditionACase2Cereal'
    'ConditionACase2Tomato'
    'ConditionACase2Cabbage'
    'ConditionACase2Sugar'
    'ConditionACase3Rice'
    'ConditionACase3Beans'
    'ConditionACase3Carrots'
    'ConditionACase3Cereal'
    'ConditionACase3Tomato'
    'ConditionACase3Cabbage'
    'ConditionACase3Sugar'
    'ConditionACase4Rice'
    'ConditionACase4Beans'
    'ConditionACase4Carrots'
    'ConditionACase4Cereal'
    'ConditionACase4Tomato'
    'ConditionACase4Cabbage'
    'ConditionACase4Sugar'
    'ConditionBCase1Rice'
    'ConditionBCase1Beans'
    'ConditionBCase1Carrots'
    'ConditionBCase1Cereal'
    'ConditionBCase1Tomato'
    'ConditionBCase1Cabbage'
    'ConditionBCase1Sugar'
    'ConditionBCase2Rice'
    'ConditionBCase2Beans'
    'ConditionBCase2Carrots'
    'ConditionBCase2Cereal'
    'ConditionBCase2Tomato'
    'ConditionBCase2Cabbage'
    'ConditionBCase2Sugar'
    'ConditionBCase3Rice'
    'ConditionBCase3Beans'
    'ConditionBCase3Carrots'
    'ConditionBCase3Cereal'
    'ConditionBCase3Tomato'
    'ConditionBCase3Cabbage'
    'ConditionBCase3Sugar'
    'ConditionBCase4Rice'
    'ConditionBCase4Beans'
    'ConditionBCase4Carrots'
    'ConditionBCase4Cereal'
    'ConditionBCase4Tomato'
    'ConditionBCase4Cabbage'
    'ConditionBCase4Sugar'
    'ConditionCCase1Rice'
    'ConditionCCase1Beans'
    'ConditionCCase1Carrots'
    'ConditionCCase1Cereal'
    'ConditionCCase1Tomato'
    'ConditionCCase1Cabbage'
    'ConditionCCase1Sugar'
    'ConditionCCase2Rice'
    'ConditionCCase2Beans'
    'ConditionCCase2Carrots'
    'ConditionCCase2Cereal'
    'ConditionCCase2Tomato'
    'ConditionCCase2Cabbage'
    'ConditionCCase2Sugar'
    'ConditionCCase3Rice'
    'ConditionCCase3Beans'
    'ConditionCCase3Carrots'
    'ConditionCCase3Cereal'
    'ConditionCCase3Tomato'
    'ConditionCCase3Cabbage'
    'ConditionCCase3Sugar'
    'ConditionCCase4Rice'
    'ConditionCCase4Beans'
    'ConditionCCase4Carrots'
    'ConditionCCase4Cereal'
    'ConditionCCase4Tomato'
    'ConditionCCase4Cabbage'
    'ConditionCCase4Sugar'
    'ConditionDCase1Rice'
    'ConditionDCase1Beans'
    'ConditionDCase1Carrots'
    'ConditionDCase1Cereal'
    'ConditionDCase1Tomato'
    'ConditionDCase1Cabbage'
    'ConditionDCase1Sugar'
    'ConditionDCase2Rice'
    'ConditionDCase2Beans'
    'ConditionDCase2Carrots'
    'ConditionDCase2Cereal'
    'ConditionDCase2Tomato'
    'ConditionDCase2Cabbage'
    'ConditionDCase2Sugar'
    'ConditionDCase3Rice'
    'ConditionDCase3Beans'
    'ConditionDCase3Carrots'
    'ConditionDCase3Cereal'
    'ConditionDCase3Tomato'
    'ConditionDCase3Cabbage'
    'ConditionDCase3Sugar'
    'ConditionDCase4Rice'
    'ConditionDCase4Beans'
    'ConditionDCase4Carrots'
    'ConditionDCase4Cereal'
    'ConditionDCase4Tomato'
    'ConditionDCase4Cabbage'
    'ConditionDCase4Sugar'

さらにサポートが必要な場合はお知らせください。

于 2013-03-19T04:13:57.857 に答える