Matlab里取代for循环的方法我的问题是这样的,一个数组angle_6_axis=[A B C D E F],A=[1,2],B=[2,3],C=[5,6],D=[9,10],E=[11,12],F=[14,19]这里只是举个例子,其实ABCDEF里的元素其实远不止两个.然后要实现A,B,C,D,E,F的
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/29 03:04:55
![Matlab里取代for循环的方法我的问题是这样的,一个数组angle_6_axis=[A B C D E F],A=[1,2],B=[2,3],C=[5,6],D=[9,10],E=[11,12],F=[14,19]这里只是举个例子,其实ABCDEF里的元素其实远不止两个.然后要实现A,B,C,D,E,F的](/uploads/image/z/2542436-44-6.jpg?t=Matlab%E9%87%8C%E5%8F%96%E4%BB%A3for%E5%BE%AA%E7%8E%AF%E7%9A%84%E6%96%B9%E6%B3%95%E6%88%91%E7%9A%84%E9%97%AE%E9%A2%98%E6%98%AF%E8%BF%99%E6%A0%B7%E7%9A%84%2C%E4%B8%80%E4%B8%AA%E6%95%B0%E7%BB%84angle_6_axis%3D%5BA+B+C+D+E+F%5D%2CA%3D%5B1%2C2%5D%2CB%3D%5B2%2C3%5D%2CC%3D%5B5%2C6%5D%2CD%3D%5B9%2C10%5D%2CE%3D%5B11%2C12%5D%2CF%3D%5B14%2C19%5D%E8%BF%99%E9%87%8C%E5%8F%AA%E6%98%AF%E4%B8%BE%E4%B8%AA%E4%BE%8B%E5%AD%90%2C%E5%85%B6%E5%AE%9EABCDEF%E9%87%8C%E7%9A%84%E5%85%83%E7%B4%A0%E5%85%B6%E5%AE%9E%E8%BF%9C%E4%B8%8D%E6%AD%A2%E4%B8%A4%E4%B8%AA.%E7%84%B6%E5%90%8E%E8%A6%81%E5%AE%9E%E7%8E%B0A%2CB%2CC%2CD%2CE%2CF%E7%9A%84)
Matlab里取代for循环的方法我的问题是这样的,一个数组angle_6_axis=[A B C D E F],A=[1,2],B=[2,3],C=[5,6],D=[9,10],E=[11,12],F=[14,19]这里只是举个例子,其实ABCDEF里的元素其实远不止两个.然后要实现A,B,C,D,E,F的
Matlab里取代for循环的方法
我的问题是这样的,一个数组angle_6_axis=[A B C D E F],A=[1,2],B=[2,3],C=[5,6],D=[9,10],E=[11,12],F=[14,19]这里只是举个例子,其实ABCDEF里的元素其实远不止两个.然后要实现A,B,C,D,E,F的全排列.
我写了个很笨的6个嵌套的for循环实现.
f=1;
for k=1:AL
for j=1:BL
for h=1:CL
for o=1:DL
for p=1:EL
for q=1:FL
G(f)={[A(k),B(j),C(h),D(o),E(p),F(q)]};
angle_6_axis=[A(k),B(j),C(h),D(o),E(p),F(q)];
end.
求教Matlab是否有其他可能性实现A,B,C,D,E,F的全排列,先谢过~
Matlab里取代for循环的方法我的问题是这样的,一个数组angle_6_axis=[A B C D E F],A=[1,2],B=[2,3],C=[5,6],D=[9,10],E=[11,12],F=[14,19]这里只是举个例子,其实ABCDEF里的元素其实远不止两个.然后要实现A,B,C,D,E,F的
楼上的回答基本思路是对的,应该使用ndgrid函数来做.
但楼上的代码存在两个问题:一是做法比较繁琐,二是只适用于A-F六个变量元素数量相同的情况.
参考代码:
A = [1 2 3];B = [2 3];
C = [5 6];
D = [9 10];
E = [11 12];
F = [14,19];
[A,B,C,D,E,F] = ndgrid(A,B,C,D,E,F);
angle_6_axis = [A(:),B(:),C(:),D(:),E(:),F(:)]
得到结果:
angle_6_axis =1 2 5 9 11 14
2 2 5 9 11 14
3 2 5 9 11 14
1 3 5 9 11 14
2 3 5 9 11 14
3 3 5 9 11 14
1 2 6 9 11 14
2 2 6 9 11 14
3 2 6 9 11 14
1 3 6 9 11 14
2 3 6 9 11 14
3 3 6 9 11 14
1 2 5 10 11 14
2 2 5 10 11 14
3 2 5 10 11 14
1 3 5 10 11 14
2 3 5 10 11 14
3 3 5 10 11 14
1 2 6 10 11 14
2 2 6 10 11 14
3 2 6 10 11 14
1 3 6 10 11 14
2 3 6 10 11 14
3 3 6 10 11 14
1 2 5 9 12 14
2 2 5 9 12 14
3 2 5 9 12 14
1 3 5 9 12 14
2 3 5 9 12 14
3 3 5 9 12 14
1 2 6 9 12 14
2 2 6 9 12 14
3 2 6 9 12 14
1 3 6 9 12 14
2 3 6 9 12 14
3 3 6 9 12 14
1 2 5 10 12 14
2 2 5 10 12 14
3 2 5 10 12 14
1 3 5 10 12 14
2 3 5 10 12 14
3 3 5 10 12 14
1 2 6 10 12 14
2 2 6 10 12 14
3 2 6 10 12 14
1 3 6 10 12 14
2 3 6 10 12 14
3 3 6 10 12 14
1 2 5 9 11 19
2 2 5 9 11 19
3 2 5 9 11 19
1 3 5 9 11 19
2 3 5 9 11 19
3 3 5 9 11 19
1 2 6 9 11 19
2 2 6 9 11 19
3 2 6 9 11 19
1 3 6 9 11 19
2 3 6 9 11 19
3 3 6 9 11 19
1 2 5 10 11 19
2 2 5 10 11 19
3 2 5 10 11 19
1 3 5 10 11 19
2 3 5 10 11 19
3 3 5 10 11 19
1 2 6 10 11 19
2 2 6 10 11 19
3 2 6 10 11 19
1 3 6 10 11 19
2 3 6 10 11 19
3 3 6 10 11 19
1 2 5 9 12 19
2 2 5 9 12 19
3 2 5 9 12 19
1 3 5 9 12 19
2 3 5 9 12 19
3 3 5 9 12 19
1 2 6 9 12 19
2 2 6 9 12 19
3 2 6 9 12 19
1 3 6 9 12 19
2 3 6 9 12 19
3 3 6 9 12 19
1 2 5 10 12 19
2 2 5 10 12 19
3 2 5 10 12 19
1 3 5 10 12 19
2 3 5 10 12 19
3 3 5 10 12 19
1 2 6 10 12 19
2 2 6 10 12 19
3 2 6 10 12 19
1 3 6 10 12 19
2 3 6 10 12 19
3 3 6 10 12 19