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/25 07:30:56
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的全排列,先谢过~
楼上的回答基本思路是对的,应该使用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
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循环生成的n个单个数据怎么放入一个矩阵里,我用一个for循环做了个条件,得出1或0的结果,想把他们放在一个矩阵里
matlab的for循环结束条件问题matlab中 for 1:10这种就是循环10次,但是我的循环次数不确定,要根据实际情况改变,怎么办?matlab能实现这种相对复杂的编程吗?
Matlab,for循环怎么计算循环次数?多重循环呢,比如说两重的?
请介绍一下matlab中for循环的怎么使用?我不会那个help
matlab,怎样将每次循环中生成的值存在一个矩阵里?要简单的方法.
MATLAB for循环求和的问题谢谢了,
matlab关于用arrayfun取代for循环的问题有个函数 f=x+y+(w-z)^2,x=1:1:2;y=2:1:5;w=1:2:5;z=1:1:6; 我想求出f里面的最大值,和对应的x,y,w,z值,如果不用for 循环,可以怎么写?我大概的想法是f=@(x,y,z,w) x+y+(z-w)^2
matlab里怎么把矩阵编号,用于for循环
matlab的循环while C
matlab中有多个for循环,画图有多个for循环,每个for循环里面还有几个for循环,但是只有最外面的for有图形输出,请问怎么注释每个for循环画出的图形?用legend可以吗?
matlab怎么定义两个同时循环的变量?for p=2:Tfor t=2:T......endend这种不行,在t循环完之前,p不循环,我要两个同时循环.
matlab 怎么样定义一个向量或者矩阵来存储 for循环得出的函数呢? 比如A(i)=x^i? 还有什么更有效的方法?
VB程序里的循环结构怎么写?for循环和do while循环
matlab for循环 调取变量 已有变量t1 t2 t3 t4,怎样用for循环的i调取‘ti’
如何在for循环外获取for循环里的值
matlab中能不能这样写for循环:for i=100:1我这样写的目的是要使i由100减小到1.
for k = v(1:2),v是一个1维数组,这个循环是怎么循环的?matlab中