深悼首次数模
本文最后更新于 2024年11月17日 上午
问题总结
首先总结此次数模的问题:
- Matlab语法文盲,包括但不限于:
- 不关注数据类型,无意中把行向量当列向量计算
- 盲从GPT不自己看代码和参数,让GPT调整不合理参数,越调越不合理
- 粒子群的参数拿去跑遗传算法
- 不知道matlab文件后缀名含义
- 不知道figure可以直接选中调整,去一点一点调语句里的参数😅
- 数学建模基础薄弱,包括但不限于:
- 听不懂啥是多目标分析,以及其他各种名词
- 不知道啥是数学模型,只知道套算法模板和调库
- 题目没看明白就走了很远,做完了发现初始参数都错了
- 跟队友交接混乱,一股脑把文件往群里丢,没有打包和说明文件结构
- 算法掌握模糊,忘记普通的Floyd是返回路径长度,需要的却是路径本身,浪费时间修改代码
- 思考不足,逻辑不顺,过于依赖网上的思路
- 数据不及时保存,文件结构混乱
踩过的坑
- 行向量转列向量是:
vector = vector(:);
或者v = v';
,
注意:单引号可以将列向量再转为行向量的;冒号不管是行向量还是列向量,最终转换的结果都将是列向量
- matlab定义矩阵的方法:
matrix = zeros(row, col);
,初始化一个\(row\)行\(col\)列的零矩阵 - 存放不等长向量的方法:用单元数组来求,
a = cell(i, j);
初始化一个\(i\)行,每行\(j\)个元素的单元数组,单元里可以是任何变量 - 行向量为某个值赋值方法:
a(i) = y;
将\(y\) 赋给行向量\(a\) 的第\(i\) 列
使用
a(1,:)=[1 1 1]
方式对矩阵一行进行赋值各种赋值方法见:csdn博客
- matlab各种括号访问规则:csdn博客
- matlab的rand()返回的是0到1之间的一个数
- 多去mathworks搜方法重载和参数含义😭
下次要做
- 预备在python上重演被语法暴捶
- 准备好方便的手册,方便脱离GPT翻阅
- 保存所有的图表和数据,丰富附件
- 做好文件结构管理,和队友交接的时候打包整个环境
- 也许可以冲一个chatGPT Plus。。
补个后续,虽然犯了很多蠢无底线的错误,但是结果不错,拿了国一,可能是华数杯比较水的缘故
深悼首次数模
https://novelyear.github.io/2024/08/07/深悼首次数模/