How to modify a function to make it accept an array of arrays or a cell of arrays?

Hi All,
I found the attached file on internet, this file is a function that gives all the combinations of all elements of the given arrays.
ex1:
>> allcomb([1 2],[3 4])
ans =
1 3
1 4
2 3
2 4
Now, my question is how we can change on this function to make is accept a cell of arrays or an array of arrays.
ex2:
if we have the following code:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clc
clear all
close all
for i=1:2
p{i}=[2^i-1 2^(i)];
end
allcomb(p)%This line does not work.
Cell={};
for i =1:max(size(p))
Cell{i}=p{i};
end
allcomb(Cell)%This line does not work.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
The lines that have the comment "%This line does not work." do not give the same answer as ex1.
Could you help me please?.

댓글 수: 2

If I told you I'm not sure you'd take my advice. I gave you several pieces of advice how to improve this bad code in your other question but I can see you didn't take that advice because you're still using the same code here.
Sorry, but I think you are talking about someone else, this is the first time I post this code here.

댓글을 달려면 로그인하십시오.

 채택된 답변

This is the correct answer: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clc
clear all
close all
for i=1:2
p{i}=[2^i-1 2^(i)];
end
Cell={};
for i =1:max(size(p))
Cell{i}=p{i};
end
allcomb(Cell{:})
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
The output:
ans =
1 3
1 4
2 3
2 4

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Matrix Indexing에 대해 자세히 알아보기

질문:

2015년 4월 13일

답변:

2015년 4월 13일

Community Treasure Hunt

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

Start Hunting!

Translated by