前言
MatLab是数学建模的必备工具,MatLab语法和C++等高级语言有何不同? 本文简述了MatLab和C++等高级语言的差异,希望帮助大家少走弯路
1.遇到问题善用help指令,获取帮助
最重要的写在最前面,有问题不要翻书了,先问问MatLab吧! 例:忘记plot绘图函数的使用规则,输入以下指令获取帮助:
>> help plot
2.MatLab数据存储、运算、传输单位是数组,很多函数的返回值也是数组
例:函数size(A)返回矩阵A各维度的规模
>> A = [1, 2, 3; 4, 5, 6];
size(A)=[2,3]
//A是一个2*3的矩阵,返回值size(A)是一个行向量
最常用的数组有一维数组(向量)和二维数组(矩阵),标量可以看做只含一个元素的特殊数组 向量分为行向量和列向量,但MatLab中很多函数对行向量和列向量等价 例:函数diag(b)可以根据向量b生成一个对角阵,b可以是行向量,也可以是列向量
3.MatLab中的矩阵是以列向量为单位进行存储的,很多命令也直接和列向量挂钩
例:sum(A):对矩阵A的每个列向量求和,返回各个列向量和组成的行向量 例:矩阵元素的序号寻访是从上到下,从左到右的,也就是一列一列访问,而很多高级语言是一行一行访问的
4.高级语言中的数组元素之间,用半角逗号隔开;MatLab中的行向量元素之间既可以用半角逗号隔开,也可以用空格隔开
例:向量[3, 4]可以表示成向量[3 4] 矩阵[1, 2, 3; 4, 5, 6]可以表示成矩阵[1 2 3; 4 5 6] 注意:MatLab中的列向量之间,只能用半角分号隔开,不能用空格隔开! MatLab中的函数参数之间,只能用半角逗号隔开,不能用空格隔开!
5.MatLab中的数组元素下标从1开始
很多高级语言的数组元素下标从0开始,注意区别
6.MatLab库函数
不要试图一次性记住某个MatLab函数的所有重载方法,因为MatLab函数重载非常多 例:diag()函数的参数为向量时会返回矩阵,参数为矩阵时会返回向量 只需要记住diag()函数是与对角元素操作相关即可,具体功能可以在尝试中掌握 减少使用可读性差的重载方法,让代码单调易读 例:rand(3)和rand(3, 3)都表示生成3 * 3的随机数矩阵,但前者的可读性明显不如后者
7.Project Based Learning基于项目学习
MatLab的语法非常简单,专门学习MatLab语法不合适 直接学习数学建模教材的代码,能看懂就模仿,看不懂就调用help指令,help指令还看不懂就百度
8.MatLab有很多插件,当某个库函数不能使用时,请检查是否安装/启用了所需插件
9.为什么MatLab代码有的语句有分号,有的语句没有?
MatLab脚本语言,程序员说一句,计算机做一句 MatLab每一条语句都有输出,如果不希望计算机输出,就应该在语句后加分号 例:输入指令(注意没有分号)
>> a = [1, 2, 3]
计算机输出:
>> a = [1 2 3]
和输入一模一样,是不是很傻,所以加分号不让计算机输出
>>a = [1, 2, 3];
一般没有分号的输出语句,在程序的最后几行
10.注释
MatLab的注释符号为% 选中代码按以下快捷键可以快速注释: 多行注释快捷键:Ctrl + R 取消注释快捷键:Ctrl + T
|