女朋友突然找我帮她做线代的期末大作业,说是要用 matlab 写篇论文。我倒也一下懵了,虽说我的专业和打代码能沾点边,但我目前也只不熟练地了解 C++一门语言(各位大佬原谅我这个小白大一新生吧),完全没了解过 matlab,不过听说 matlab 对于工科学生还挺实用的,于是趁着这个机会也浅学一下吧。限于 ddl,我的 matlab 学习就从针对这道题入手。

题目

用 C++来实现

拿到这题倒还感觉挺简单的,至少对于 C++来说是这样。我想着就先用 C++来实现先吧,正好可以理一下思路。(有点南辕北辙,各位看官可跳过)

#include<iostream>
using namespace std;int main()
{int n, **a, tmp, *b, *c, max, max_j;cout<<"请输入有几支参赛队伍";cin>>n;//申请动态空间并赋初值a = new int*[n];for (int i=0; i<n; i++)a[i] = new int [n];for (int i=0; i<n; i++)for (int j=0; j<n; j++)a[i][j]=0;//获取数据for (int i=0; i<n; i++){cout<<"请输入第"<<i+1<<"支队伍战胜的队伍"<<endl;cout<<"若战胜多支队伍,请用回车键隔开;若输入已完成,请输入0,然后输入回车;若一支队伍都没战胜,请输入0"<<endl;for (int j=0; j<n; j++){cin>>tmp;if (tmp!=0){a[i][j]=tmp;}elsebreak;}}
/**for (int i=0; i<n; i++){for (int j=0; j<n; j++){cout<<a[i][j]<<' ';}cout<<endl;}
**///获取直接胜数据b = new int [n];for (int i=0; i<n; i++)b[i]=0;for (int i=0; i<n; i++){for (int j=0; j<n; j++){if (a[i][j]!=0)b[i]++;elsebreak;}}//获取间接胜数据c = new int [n];for (int i=0; i<n; i++)c[i]=0;for (int i=0; i<n; i++){for (int j=0; j<n; j++)if (a[i][j]!=0)c[i]+=b[a[i][j]-1];//注意,数组中的行数和输入的行数不是一个东西}
/**for (int i=0; i<n; i++)cout<<b[i]<<' ';cout<<endl;for (int i=0; i<n; i++)cout <<c[i]<<endl;
**///排序并输出for (int i=0; i<n; i++){max = -1;max_j = -1;for (int j=0; j<n; j++){if ((b[j]>max)||(b[j]==max&&c[j]>c[max_j])){max = b[j];max_j = j;}}cout<<"排名第"<<i+1<<"名的队伍是"<<max_j+1<<endl;b[max_j]=-1;}//删除动态申请的空间for (int i=0; i<n; i++)delete a[i];delete b;delete c;return 0;
}

这段代码随手写的,大佬们随便笑话就可以了/捂脸。
不过写完 C++后怎么样呢?matlab 可以直接运行 cpp 程序呢?显然不太行。根据搜索引擎,可以通过接口让 matlab 运行 C++程序,但考虑到这就不是 matlab 编程了,也不知道她的老师认不认。至于有没有什么方法可以把 C++直接转换为 matlab 代码,好像也没有(不过把 matlab 代码转换为 C++代码反而是 matlab 软件自带的。
没办法,只能从头一点一点学 matlab,南辕北辙搞了个 C++程序倒也是没办法。强烈安利官方课程,就入门而言比看书看视频强太多了

输入命令

基本命令倒也不难。值得注意的是:
1.它可以实时交互,给个命令就返回结果
2.每行代码结尾也不用加分号(事实上分号另有作用,这在以后会介绍)
3.右边的工作区会显示各个变量的信息
4.不用定义变量,需要用某个新变量时直接用就可以了

更详细一点的说明如下:

简单命令

想算 3*5 就直接输入3*5就可以了,系统会自动创建一个ans变量来存储结果15
想把 3*5 这个运算结果给变量 m,不用定义变量可以直接写m = 3*5
至于变量的运算和变量之间的赋值就很简单了,大家看着示例便可以意会了

分号的作用

前面提到 matlab 中的命令不用像 C++中那样每行都要加分号,而且 matlab 会实时对你的命令做出反应,那 matlab 中的行末分号有什么用呢?如何让 matlab 不要实时对你的命令做出反应呢?答案已经暗示的很明显了,那就是在行末加分号可以让 matlab 不要实时对你的命令做出反应,不过在工作区中还是可以看到变量发生了变化。

重新调用以前的命令

这是我觉得最神奇的一点,大家现在按

浅学Matlab:确定比赛的胜负问题相关推荐

  1. 做数学建模,学matlab还是python?

    大家好,我是北海. 刚开始参与数学建模的同学,往往会面临一个问题:做数模离不开编程,而matlab和python都挺适合做数模的,究竟是学matlab还是python? 本文就给大家分析一下matla ...

  2. matlab 2015 积分,浅谈MATLAB在数值积分中的应用

    <浅谈MATLAB在数值积分中的应用.doc>由会员分享,可免费在线阅读全文,更多与<浅谈MATLAB在数值积分中的应用>相关文档资源请在帮帮文库(www.woc88.com) ...

  3. 通过matlab进行绩效,浅谈matlab在企业人力资源绩效评价体系中的应用

    嘲 浅谈matlab在企业人力资源绩效评价体系中的应用 杨 旺 (中南财 经政法大学统计与数学学 院 湖北 ·武汉 430070) 摘 要 本 文主要介绍 了企业人力资源管理的绩效评价体 系中常用的两 ...

  4. [大数据之Yarn]——资源调度浅学

    在hadoop生态越来越完善的背景下,集群多用户租用的场景变得越来越普遍,多用户任务下的资源调度就显得十分关键了.比如,一个公司拥有一个几十个节点的hadoop集群,a项目组要进行一个计算任务,b项目 ...

  5. 浅学JavaScript

    JavaScript是互联网上最流行的脚本语言,可广泛用于服务器.PC.笔记本电脑智能手机等设备: 对事件的反应: <!DOCTYPE html> <html> <hea ...

  6. matlab拔河比赛_拔河比赛

    matlab拔河比赛 Description: 描述: This is a standard interview problem to divide a set of number to two di ...

  7. 学python还是matlab_先学matlab还是python-女性时尚流行美容健康娱乐mv-ida网

    女性时尚流行美容健康娱乐mv-ida网 mvida时尚娱乐网 首页 美容 护肤 化妆技巧 发型 服饰 健康 情感 美体 美食 娱乐 明星八卦 首页 > 高级搜索 python 中 functio ...

  8. TencentOS浅学过程记录

    TencentOS浅学过程记录 前言 一.RTOS 二.学习资料来源 三.初步学习过程中的疑难问题解决 任务调度以及轮询时间片 消息队列与邮箱队列 互斥锁 任务中为什么一定要加while(1)循环 内 ...

  9. 【科研】浅学Cross-attention?

    Cross-Attention in Transformer Architecture 最近,CrossViT让我所有思考,这种能过够跨膜态的模型构建?浅学一下吧! 目录 1.Cross attent ...

最新文章

  1. android 快速启动,《Android APP可以有的东西》之显示篇:快速启动App
  2. 零基础可以学python吗-零基础可以学会python吗?python好学吗?
  3. FSD键盘钩子框架参考爱写驱动的女装大佬
  4. 双击Jar的启动方法
  5. 【uni-app】动态计算图片高度
  6. sql中使用“where 1=1 and ....“ 到底影响效率吗,回答不会也永远不会
  7. 四大组建进程间通信--基础
  8. vue.js 接收url参数
  9. Android 多进程开发
  10. 前端:JS/35/二级联动菜单,select对象,select对象的属性,option对象,option对象属性,实例:省份列表与城市列表的联动
  11. 计算机网络相关知识、名词总结
  12. Java 集合系列18之 Iterator和Enumeration比较
  13. 最强 IOS系统改定位
  14. 股票中,什么是滚动市盈率,有什么作用?
  15. 升级mysql后zpanel无法进入_升级到mysql5.7无法启动问题解决
  16. tableau瀑布图
  17. 点击“安全删除硬件并弹出媒体”不显示可删除移动设备
  18. EM算法与SAGE算法
  19. 【哈利波特全集】哈利波特1-7
  20. 3.3 构建神经网络小结

热门文章

  1. 模块化程序设计之自顶向下、逐步求精
  2. 培智生计算机活动主题,让信息技术搭建培智生丰富多彩的学习舞台.doc
  3. 3D与Blender:开源的3D计算机图形软件集
  4. 小晴天老师系列——可恶的墨水瓶(floodfill)
  5. 面试中的概率题(持续更新中)
  6. 根据文件后缀名移动文件 及 按照txt文件中的文件名移动需要的文件到新文件夹
  7. 中标麒麟 7.0 b054版本 USB打印机局域网共享设置
  8. 计算机视觉——图像分割(上篇)
  9. JavaScript判断斐波那契数组
  10. [AI医学] 医学领域几个微调预训练大模型的项目