Hi every one i would like to have three variable working in loop one working alone and another working together in different size. for example
clear all
clc
AA=[1 2 3];
BB=[4 5 6];
CC=[7 8 9 10 11 12 13 14 15];
for ii=1:1:length(AA)
for jj=1:1:length(BB)& kk=1:1:length(CC)
A=AA(ii);
B=BB(jj);
C=CC(kk);
x=[A,B,C]
end
end the results has to be like in loop
X=[1 4 7 8 9]
X=[1 5 10 11 12]
X=[1 6 13 14 15]
X=[2 4 7 8 9]
X=[2 5 10 11 12]
X=[2 6 13 14 15]
X=[3 4 7 8 9]
X=[3 5 10 11 12]
X=[3 6 13 14 15]
thank you very much

 採用された回答

Andrei Bobrov
Andrei Bobrov 2017 年 11 月 14 日
編集済み: Andrei Bobrov 2017 年 11 月 15 日

0 投票

n = numel(AA);
abc = [AA(:), BB(:), reshape(CC,n,[])'];
ii = fullfact([1 1]*n);
X = abc(bsxfun(@plus, ii(:,[2 ones(1,n+1)]), n*(0:n+1)));

5 件のコメント

mohammed hussein
mohammed hussein 2017 年 11 月 14 日
編集済み: mohammed hussein 2017 年 11 月 14 日
thank you for your answer . i used this cod but it gives me this error Error using + Matrix dimensions must agree.
Error X = abs(ii(:,[2 ones(1,n+1)]) + n*(0:n+1))
Andrei Bobrov
Andrei Bobrov 2017 年 11 月 14 日
I am fixed my typo.
mohammed hussein
mohammed hussein 2017 年 11 月 15 日
thank you very much for helping , i still have problem . i used AA=[1 2 3]; BB=[4 5 6]; CC=[7 8 9 10 11 12 13 14 15]; n = numel(AA); abc = [AA(:), BB(:), reshape(CC,n,[])']; ii = fullfact([1 1]*n); X = abc(ii(:,[2 ones(1,n+1)]) + n*(0:n+1));
it gives me this error
Error using + Matrix dimensions must agree.
Error in test (line 9)
X = abc(ii(:,[2 ones(1,n+1)]) + n*(0:n+1));
Andrei Bobrov
Andrei Bobrov 2017 年 11 月 15 日
I'm corrected my code.
mohammed hussein
mohammed hussein 2017 年 11 月 15 日
thank you very much for your help

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

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File Exchange で Multidimensional Arrays についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by