一、MATLAB变量
1、MATLAB的特殊常量
特殊常量是一些预先定义好的数值变量
含义 | 符号 |
---|---|
圆周率Π | pi |
机器的浮点运算误差限 | eps |
虚数单位 | i或者j |
无穷大量∞ | inf |
非数 | NaN |
临时变量 | ans |
2、变量的命名规则
所有变量都表示一个矩阵或者向量
3、变量的定义与赋值
变量不需要先定义后使用, MATLAB会自动根据实际赋值的类型对变量类型进行定义
-
赋值语句一般形式:变量=数、字符或者表达式
注意:单引号必须在英文状态下输入,数值变量的类型自动定义为双精度变量
4、变量的显示
-
显示的格式:数据的计算和存储都是以双精度进行,可以用
format
命令调整数据的显示格式 -
变量的显示命令:用
disp
可以以紧凑型格式显示结果而不输出变量名
注意:语句后面加分号“:”将不显示值的运行结果。
5、变量的存取
save,load
命令
-
命令:save实现从内存到硬盘的存储
load实现从硬盘到内存的载入
-
格式:
load 文件名 变量名
save 文件名 变量名
6、变量的清楚
clear 命令可以删除一个、多个、和所有变量
格式:
-
clear 变量名;
-
clear 变量1 变量2;
-
clear all
注意:clear是从内存中删除变量,delete是从硬盘中删除数据文件
7、变量检查
who
:显示前面用过的变量
whos
:显示前面用过的变量及其详细特征
注意:MATLAB中所有命令和函数都用小写字母表示
>> a=1 a = 1 >> x='s' x = 's' >> y=(1+2+3)*5/4 y = 7.5000
二、MATLAB数组矩阵
1、一维数组创建与元素提取
1.1 一维数组(向量)的创建
①直接输入:列与列之间数据用逗号或者空格分隔,行与行之间的数据用分号分隔
>> a=[1;2;3] #列向量 a = 1 2 3 >> b=[1,2,3] #行向量 b = 1 2 3 >> c=[1 2 3] #行向量 c = 1 2 3
②冒号生成法 :用于产生递增或者递减的等差数列
格式:初值:步长:终值
>> a=[1:2:5] a = 1 3 5 >> b=[1:6] #默认步长为1 b = 1 2 3 4 5 6
说明:步长为1时可以省略
③定数线性采样法:用于产生起止与两点之间的n个数据点
格式:x=linspace(a,b,n)
>> c=linspace(1,10,5) c = 1.0000 3.2500 5.5000 7.7500 10.0000
如果不指定n的值,n默认为100
④拼接法:
-
行向量拼接:用方括号和逗号
a1=[v1,v2]
-
列向量拼接:用方括号和分号
b1=[v1;v2]
-
向量的抽取:用冒号
(起始数据的位置,步长,结束数据的位置)
c1=c2(1:2:end)
抽取c2中奇数位置的数组成新的数组
⑤示例:
>> x1=1:3 x1 = 1 2 3 >> x2=linspace(5,20,4) x2 = 5 10 15 20 >> x=[x1,x2] x = 1 2 3 5 10 15 20 >> y1=[1:3]' y1 = 1 2 3 >> y2=linspace(5,20,4)' # '代表转置 y2 = 5 10 15 20 >> y=[y1;y2] y = 1 2 3 5 10 15 20 >> x3=x(1:2:end) x3 = 1 3 10 20 >> y3=y(1:2:end) y3 = 1 3 10 20
1.2 一维数组中元素的提取
利用圆括号和索引号
A = 1 2 3 4 5 >> a3=A(3) #下标代表该元素在向量中的位置,从1开始,这与数组的下标有所不同 a3 = 3
2、二维数组创建与元素提取
2.1 二维数组的(矩阵)的创建
①直接输入法:
-
同行元素用空格或者逗号隔开
-
行与行之间用分号或者回车符隔开
-
元素可以是数值、变量、表达式或者函数
-
矩阵的维数不必预先定义
>> A1=[1 2 3;4 5 6;7 8 9] A1 = 1 2 3 4 5 6 7 8 9
②利用MATLAB函数生成一些特殊的矩阵
含义 | 函数 |
---|---|
全1矩阵 | ones() |
全0矩阵 | zeros() |
(0,1)区间均匀分布的随机矩阵 | rand() |
单位矩阵 | eye() |
均值为0、方差为1的标准正态随机分布矩阵 | randn() |
2.2 二位数组(矩阵)元素的提取
①元素的提取
利用圆括号、逗号和行、列索引号:A(i,j)
提取第I行,第j列元素
②一维数组和子矩阵的获得
利用冒号和表达式获得
-
A(:,j)
提取第j列的所有元素 -
A(i,:)
提取第i行的所有元素 -
A(:,k:k+m)
提取k~k+m列的所有元素 -
A(i:i+m,:)
提取i~i+m行的所有元素 -
A(i:i+m,k:k+m)
提取ii+m行、kk+m列的所有元素
③示例
>> A=[1 2 3;4 5 6;7 8 9] A = 1 2 3 4 5 6 7 8 9 >> A1=A(:,2) A1 = 2 5 8 >> A2=A(3,:) A2 = 7 8 9 >> A3=A(2:3,1:2) A3 = 4 5 7 8
3、字符数组和空数组
3.1 字符变量的创建
将待建的字符放在英文单引号中
3.2 字符数组的拼接
利用方括号和逗号进行两个及以上的字符数组进行拼接
s=[s1,s2]
3.3 字符数组的显示
disp('Beijing')
3.4 空数组
为了方便操作和表述专门设置的一种数组,用方括号[]表示
注意不能以全零数组混淆
唯一能够判断一个数组是否为空的指令是 isempty