一、MATLAB基础知识
1.1 matlab系统变量
1. 永久修改工作路径
- 找到安装路径下的 matlabrc.m 文件(…\MATLAB\R2010b\toolbox\local\matlabrc.m文件)
- 用记事本或MATLAB或等等等等方式打开
在最后一行加入这条语句: cd ‘目标路径’ 。
如:cd D:\matlabwork
。 - 修改后保存,重新打开节发现工作路径已更改。
2. 临时修改工作路径
tips:前提是这个工作路径的文件夹已存在
- 法一:鼠标操作。
- 法二:在命令窗口输入。如:cd D:\matlabwork
3. 文件搜索、读取顺序
变量→内部函数→程序文件(当前文件夹下的程序文件→文件搜索路径文件夹中的程序文件)
tips: clear %清除工作区的全部变量
4. 设置文件搜索路径
- 法一:鼠标操作,用对话框设置文件搜索路径。
- 法二:用 path 命令设置文件搜索路径。如:` path(path, 'D:\matlabwork) `
1.2 matlab数值数据
1. 数值型数据:整型、浮点型、复数型。
(1)整型
-
- 无符号8位整数数据范围:00000000→11111111(0 → 2 8 2^8 28 - 1);带符号8位整数数据范围:10000000~01111111( − 2 7 -2^7 −27 → 2 7 2^7 27 - 1)。
- 数据类型转换:unit8 函数将数值转换为无符号8位整数,int8 函数将数值数据转换为带符号8位整数。
>> x = int8(129)
x =
int8
127
>> x = uint8(129)
x =
uint8
129
% 无符号8位整型的最大值是255,带符号8位整型的最大值是127。
(2)浮点型
-
- 单精度型实数在内存中占用4个字节,双精度型实数在内存中占用8个字节(双精度型的数据精度更高)。
- single 函数将其他类型的数据转换为单精度型;double 函数将其他类型的数据转换为双精度型。
>> class(4)
ans =
'double'
>> class(single(4))
ans =
'single'
(3)复数型
-
- 复型数据包括实部和虚部两个部分,实部和虚部默认为双精度型,虚数单位用 i 或 j 来表示。
- real 函数求复数的实部;image 函数求复数的虚部。
2. 数据的输出格式
format 命令的格式: format 格式符
。(format格式只影响数据输出格式,而不影响数据的计算和存储)
>> format long
>> 50/3
ans =
16.666666666666668
>> format
>> 50/3
ans =
16.6667
3. 常用数学函数的调用格式
常用数学函数的调用格式为:函数名(函数变量的值)
。
函数的自变量规定为矩阵变量,也可以是标量,标量本身是矩阵的一种特例。
函数在运算时是将函数逐项作用于矩阵的每个元素上,所以最后运算的结果就是一个与自变量同型的矩阵。
>> a = [4,2; 3,6]
a =
4 2
3 6
>> b = exp(a) %调用exp函数求自然指数
b =
54.5982 7.3891
20.0855 403.4288
4. 常用函数的应用
(1)三角函数。三角函数有以弧度为单位的函数和以角度为单位的函数(以角度为单位的函数在函数名后面加“d”,以示区别)。
>> sin(pi/2)
ans =
1
>> sind(90)
ans =
1
>> sin(90)
ans =
0.8940
(2)abs 函数。abs 函数可以求实数的绝对值、复数的模、字符串的ASCII码值。
>> abs(-4) %求绝对值
ans =
4
>> abs(3 + 4i) %求复数的模
ans =
5
>> abs('a') %求ASCII码值
ans =
97
(3)取整函数。取整函数有 round(四舍五入取整)、ceil(向上取整)、floor(向下取整)、fix(固定取靠近0的整数,即舍去小数取整)。
>> round(-2.2)
ans =
-2
>> ceil(-2.2)
ans =
-2
>> floor(-2.2)
ans =
-3
>> fix(-2.2)
ans =
-2
5. 函数应用举例
(1)分别求一个三位正整数的个位数字、十位数字和百位数字。
>> m = 345
m =
345
>> m1 = rem(m,10) %调用rem 函数,求345除以10的余数并赋值给m1,即得到各位数字
m1 =
5
>> m2 = rem(fix(m/10),10) %先调用fix 函数对345除以10舍去小数点取整得到34,再调用rem 函数,求34除以10的余数并赋值给m2,即得到十位数字
m2 =
4
>> m3 = fix(m/100) %调用fix 函数对345除以10舍去小数取整,即得到百位数字
m3 =
3
(2)求[1,100]区间的所有素数。
>> x = 1:100; k = isprime(x); k1 = find(k); p = x(k1)
p =
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
%{ 第1条命令--生存1-100之间全部整数组成的向量x;
第2条命令--isprime(n) 函数判断 n 是否为素数,是则返回1,否则返回0;
第3条命令--find(k) 函数求k中非零向量元素的序号;
第4条命令--输出x中的全部素数 }%
1.3 变量及其操作
1. 变量与复制语句
- 变量本质上是内存单元的一个抽象。
- 在MATLAB中,变量名是以字母开头,后接字母、数字或下划线的字符序列,最多63个字符。
tips:变量名区分大小写;标准函数名以及命令名必须用小写字母。
2. 赋值语句有两种格式
- 变量 = 表达式
- 表达式
例:计算表达式 5 + c o s 47 ° 1 + ∣ x − y ∣ \frac{5+cos47°}{1+\vert x-y \vert} 1+∣x−y∣5+cos47° 的值,并将结果复制给变量z,然后显示计算结果。其中, x = 7 − 2 i x=\sqrt7-2i x=7−2i, y = e π 2 y=e^{\frac{\pi}{2}} y=e2π
>> x = sqrt(7)-2i; y = exp(pi/2); z = (5+cosd(47))/(1+abs(x-y))
z =
1.4395
3. 预定变量
- 预定变量是由系统本身定义的变量。
- ans 是默认的赋值变量;i、j 代表虚数单位;pi 代表圆周率;NaN 代表非数。
4. 变量的管理
(1)内存变量的删除与修改
- clear 命令:清除全部变量。
- who 命令:显示变量名称。
- whos命令:显示变量名称及大小、所占字节数、数据类型等信息。
(2)内存变量文件
- 用于保存MATLAB工作区变量的文件,其扩展名为.mat,也叫MAT文件。
- save 命令:创建内存变量文件。如,保存a、x变量到mydata文件中:
save mydata a x
。 - load 命令:加载内存变量文件。如,加载mydata文件中的变量
load mydata
或load('D:\mydata.mat')
。