完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
matlab排序问题+自动获取变量+循环循环循环...
一、排序问题: 假设有4个数组: A={[1 2],6}; B={[2 3],9}; C={[1],7}; D={[1 3],7}; 对ABCD中的后面的数字进行升序排序,A为6,B为9,C、D为7,故顺序为A-C-D-B。 请问这样的排序应该怎样实现? 二、获取变量
对于第一问中的排序结果,我现在需要按照上面排出的顺序A-C-D-B,获取它们中的一维矩阵 例如A中的[1 2],B中的[2 3];C中的[1];D中的[1 3]; 并且将获取的矩阵还是按A-C-D-B的顺序自动代入其它函数中。 例如。。。。for A=[1 2];(这里的A=[1 2]是从上面自动代入的,而不是手动输出;因为上面的排序结果不出来,就不知道顺序) for B=[2 3] ; for C=[1]; for D=[1 3]; ............... 三、循环and循环and循环....... 有这样一个矩阵:F=[1 2 1 1;1 2 1 3;1 3 1 1;1 3 1 3]; 又有个备用数字的集合P=[5 6 7 8 9]; 现在要取遍它的每一行(这是第一个循环) 之后对它的这一行数值进行分析(这是第二个循环) 如何分析:现在有两个一维数组,i=[1 2 2 3]; j=[2 3 4 4]; 依次取遍 i 与 j 中的数值,(第三个循环) 如,第一次时,i(1)=1;j(1)=2; 那么就让F第一行的第 i(1) 个数字与 j(1) 个数字作比较 这里加个判断:如果 F第一行的第 i(1) 个数字 等于 j(1) 个数字 则 令 F第一行的第 j(1) 个数字换成P中第一个数字(这样做只是为了找一个异于F中元素的值,使F第一行的第 i(1) 个数字 不等于 j(1) 个数字), 这里再加个标志值(n=0), 然后第一行的第i(2)与j(2);i(3)与j(3);i(4)与j(4);分别作了比较时, 只要还有第 i(k) 个数字 等于 j(k) 个数字的 就 对j(k) 个数字 替换P中下一个数字,(这里还需要一个循环) 并让那个标志值n=n+1 最后取遍F中的每一行,对每一行作了数值分析之后,分别输出每一行的标志值,找到标志值最小的那一行,并输出这一行。 可乱吧,我先举个例子 例如取到第一行是[1 2 1 1] i=[1 2 2 3]; j=[2 3 4 4];, 直到取到 第 i(4) 与 j(4)作比较的时候才有F的这一行的第 i(1) 个数字 等于 j(1) 个数字),就让 j(4)=P(1) n=n+1, 如果其它行中做完比较时的n都比第一行的大,那么就输出F的第一行 [1 2 1 1] 、标志值n=1。 (求教跪拜) 如果我的表述有问题或是太乱让朋友们没理清的,请一定要回复我。 程序请发至我的邮箱:5566.89@163.com |
|
相关推荐 |
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1661 浏览 1 评论
200圆!求助大佬给一份VSG并网和离网模式的simulink仿真
1936 浏览 0 评论
MATLAB(3)--矩阵的引用(sub2ind、ind2sub、reshape函数使用)
2759 浏览 0 评论
3092 浏览 0 评论
4098 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-26 20:04 , Processed in 0.549303 second(s), Total 71, Slave 54 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号