MATLAB数模编程基础(1)
MATLAB是数学建模常用软件,下面整理一些适于数模比赛的MATLAB基础操作,大部分来自网络课程。
一、主窗口
1、子窗口
- 打开软件直接显示的即为主窗口,主要有三个子窗口组成:当前文件夹、命令行窗口、工作区
2、工作路径
- 三个窗口上面的一条地址栏为工作路径,MATLAB会在工作路径中搜索用户输入(是否为变量、函数、M文件等等),最好把项目所用资源文件打包,并将工作路径设为其文件夹地址。
- 命令cd可以查看当前设置的工作路径
>> cd
C:\Users\Tim Wei\Documents\MATLAB
3、当前文件夹窗口
- 当前文件夹窗口可以看到当前工作路径中的文件
4、命令行窗口
- 命令行窗口类似python自带的IDLE,输入命令后会之间在下一行显示结果,结果一律用MATLAB内置变量ans表示。在命令句尾加分号
;
可以禁止显示当前命令结果。
>> a=1
a =
1
>> b=2
b =
2
>> c=a+b
c =
3
%-------------------------
>> a=1;
>> b=2;
>> a+b
ans =
3
- clc命令可以清空当前命令行窗口
- 在命令行窗口按下上方向键
↑
,可见历史命令输入,按住ctrl
键选取多条命令,鼠标右键打开菜单可生成这些命令的脚本
5、工作区窗口
- 此处显示所有定义的变量及其值
- 所有数在MATLAB中看做1x1数组,双击工作区中变量名,可以打开类似Excel的变量表格,可以方便地查看修改变量值或数组元素值
- 命令clear+变量名可以清除此变量内存空间(在工作区窗口中也会消失),命令clear清除所有变量
6、窗口设置
- 点击每个窗口右上角下三角图标,可对当前窗口进行各种操作,如清空、取消停靠等
7、或得帮助
- 使用help命令,可以打开MATLAB自带的帮助文档,在此可以根据函数名查寻其用法和使用示例。
>> help sin
sin Sine of argument in radians.
sin(X) is the sine of the elements of X.
See also asin, sind.
sin 的参考页
名为 sin 的其他函数
8、小结
操作&命令 | 作用 |
---|---|
cd | 显示当前设置的工作路径 |
clc | 清空命令行窗口 |
claer 变量名 | 清此变量内存空间,并在工作区中清除其显示 |
clear | 清除所有变量内存空间,并清空工作区 |
help 函数名 | 打开此函数的帮助文档 |
句尾分号 ; | 禁止当前命令结果显示 |
上方向键↑ | 显示历史命令 |
二、脚本窗口
1、新建脚本
- 通过 新建->脚本 或 从命令行窗口生成 可以建立脚本文件
2、命名规范
- 必须以英文字符开头,可以有英文、数字、下划线、禁止出现汉字
3、注释
%
为单行注释,%{
%}
为多行注释
4、小结
操作&命令 | 作用 |
---|---|
% | 单行注释 |
%{ %} | 多行注释 |
三、变量的定义&赋值
1、实数
例:定义实数1(注意这里使用;
抑制结果输出)
>>x=1;
2、向量(数组)
- 使用
[]
定义向量 - 空格
和逗号
,
用于分隔列 - 分号
;
和回车enter
用于分隔行 - 使用简化写法:步长控制
:
- 使用简化写法:转置符号
'
- 使用函数linspace(a,b,c) : 在[a,c]上均匀生成b个值
例:定义行向量
>>x=[1 2 3];
>>x=[1,2,3];
例:定义列向量
>>x=[1;2;3];
>>x=[1
2
3];
例:以0.2为步长在[1,2]取数据填入数组,不写步长默认步长为1。使用'
表示转置
>> x=[1:0.2:2]
x =
1.0000 1.2000 1.4000 1.6000 1.8000 2.0000
>> x=[3:5]
x =
3 4 5
>> x=[3:5]'
x =
3
4
5
例:使用linspace函数
>> x=linspace(1,4,8)
x =
1.0000 1.4286 1.8571 2.2857 2.7143 3.1429 3.5714 4.0000
3、矩阵(二维数组)
- 利用构造数组的方法构造任意矩阵
- 函数 zeros(a,b) 构造a行b列的全零阵,zeros(a) 构造a阶全零方阵
- 函数 ones(a,b) 构造a行b列的全一阵, zeros(a) 构造a阶全一方阵
- 函数 eye(a) 构造a阶单位阵
例:构造矩阵
0 5 5 5
5 0 5 5
5 5 0 5
5 5 5 0
>> x=5*ones(5)-5*eye(5)
x =
0 5 5 5 5
5 0 5 5 5
5 5 0 5 5
5 5 5 0 5
5 5 5 5 0
4、固定变量
固定变量为MATLAB中预先定义过的变量,最好不要对其重新定义
- pi = 3.14159
- Inf 表示“无穷大”
- NaN 表示“不是一个数”
- i 表示复数(根号-1)不过一般不会用到复数,大部分时候 i做循环变量
四、矩阵运算
1、注意
- 单独一个数可以看做1x1矩阵;一维数组可以看做1xN矩阵
- 矩阵运算的前提:至少一个是常数;矩阵尺寸相等
2、运算律
(1)、加减
- 两同尺寸矩阵加减:对应位置元素加减
- 矩阵和数组的加减:最新版MATLAB允许矩阵与行/列数中有一个与其相等的数组与其加减,作用于所有行/列上。老版本会报错。
(2)、乘
- 乘法
*
要求第一个矩阵的行数 = 第二个矩阵的列数,按矩阵乘法运算规则计算 - 点乘
.*
要求矩阵尺寸相同,对应位置元素相乘
>> a=[1 1 1 ; 1 1 1 ; 1 1 1];
>> b=[1 2 3 ; 4 5 6 ; 7 8 9];
>> a*b
ans =
12 15 18
12 15 18
12 15 18
>> a.*b
ans =
1 2 3
4 5 6
7 8 9
>>
(3)、除
- 矩阵除法,即乘矩阵的逆
- 除法
/
:A/B=A*B^(-1),按矩阵乘法规则运算 - 点除
./
:要求矩阵尺寸相同,对应位置元素相除
(4)、其他
- matlab中矩阵的计算有如下规律:
- 凡不加
.
的,都按矩阵的运算规则计算,看做矩阵 - 凡加
.
的,都按对应位置元素计算,看做数组
例:
>> A=[1 2 3;4 5 6;7 8 9];
>> A^2 %矩阵乘法
ans =
30 36 42
66 81 96
102 126 150
>> A.^2 %数组乘法
ans =
1 4 9
16 25 36
49 64 81
>>
未完待续。。