如何用matlab写单循环比赛排名?该问题可以这样来书写代码:
1、根据题主提供比赛结果表,创建一个矩阵X,用1、2、3、。。。来代表各队名
2、使用find函数,查找符合X==1、2、3、。。。的次数,并赋值给相应的变量
3、显示各队的得分,即
disp('各队得分:')
disp(' A B C D E F G H I J K L')
Y=[A,B,C,D,E,F,G,H,I,J,K,L]
disp(Y)
4、使用sort函数,按降序排列,即
[B,I] = sort(Y,'descend')
5、使用cell2table函数,显示各队的排名
按上述要求编写后运行得到如下结果。
clearclc A='ABC' B=perms('XYZ') B=B(B(:,A=='A')~='X' &B(:,A=='C')~='X' &B(:,A=='C')~='Z',:) disp('赛手名单:') fprintf('%c vs %c\n',[AB])我就自己的经验说一下,可能不全面首先,我们用MATLAB的最主要的用途是来画图的,就像楼上说的MATLAB画图功能还是很强大的,一般的图应该都能解决。
其次,求一些最优问题。MATLAB提供了比较强大的线性运算的工具,线性回归、差值、拟合等实现起来都很方便。
最后,也是相对不是很不好学的就是使用MATLAB仿真了。simulink工具箱功能很强大,想要学通是要花一定时间的。而且往往论文成功的关键就在仿真结果上,很多队伍因为不会仿真,不能拿出合理的结果值,而得不到理想的成绩。对于它的学习你可以下一些资料,这方面的比较多,可以去学校图书馆的检索数据库中找,自动化、信息方面的专业应该会开这门课,可以去听听。当然,对于仿真还有很多其他方法,编程能力强的也是很有优势的,我们去年参加国家比赛时就是用Java来实现仿真的。
相关学习资料在网上都可以搜到,数学中国论坛上比较全,不过需要积分来换,不很方便。
以上是我参加国家及现在备战国际赛得一些经验。希望能够对你有用。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)