深悼首次数模

本文最后更新于 2024年11月17日 上午

问题总结

首先总结此次数模的问题:

  1. Matlab语法文盲,包括但不限于:
    • 不关注数据类型,无意中把行向量当列向量计算
    • 盲从GPT不自己看代码和参数,让GPT调整不合理参数,越调越不合理
    • 粒子群的参数拿去跑遗传算法
    • 不知道matlab文件后缀名含义
    • 不知道figure可以直接选中调整,去一点一点调语句里的参数😅
  2. 数学建模基础薄弱,包括但不限于:
    • 听不懂啥是多目标分析,以及其他各种名词
    • 不知道啥是数学模型,只知道套算法模板和调库
  3. 题目没看明白就走了很远,做完了发现初始参数都错了
  4. 跟队友交接混乱,一股脑把文件往群里丢,没有打包和说明文件结构
  5. 算法掌握模糊,忘记普通的Floyd是返回路径长度,需要的却是路径本身,浪费时间修改代码
  6. 思考不足,逻辑不顺,过于依赖网上的思路
  7. 数据不及时保存,文件结构混乱

踩过的坑

  1. 行向量转列向量是:vector = vector(:);或者v = v';

注意:单引号可以将列向量再转为行向量的;冒号不管是行向量还是列向量,最终转换的结果都将是列向量

  1. matlab定义矩阵的方法:matrix = zeros(row, col);,初始化一个\(row\)\(col\)列的零矩阵
  2. 存放不等长向量的方法:用单元数组来求,a = cell(i, j);初始化一个\(i\)行,每行\(j\)个元素的单元数组,单元里可以是任何变量
  3. 行向量为某个值赋值方法:a(i) = y;\(y\) 赋给行向量\(a\) 的第\(i\)
  • 使用a(1,:)=[1 1 1]方式对矩阵一行进行赋值

  • 各种赋值方法见:csdn博客

  1. matlab各种括号访问规则:csdn博客
  2. matlab的rand()返回的是0到1之间的一个数
  3. 多去mathworks搜方法重载和参数含义😭

下次要做

  1. 预备在python上重演被语法暴捶
  2. 准备好方便的手册,方便脱离GPT翻阅
  3. 保存所有的图表和数据,丰富附件
  4. 做好文件结构管理,和队友交接的时候打包整个环境
  5. 也许可以冲一个chatGPT Plus。。

补个后续,虽然犯了很多蠢无底线的错误,但是结果不错,拿了国一,可能是华数杯比较水的缘故


深悼首次数模
https://novelyear.github.io/2024/08/07/深悼首次数模/
作者
Leoo Yann
更新于
2024年11月17日
许可协议