数据的输入
(一)简单矩阵的输入
1.要直接输入矩阵时,矩阵一行中的元素用空格或逗号分隔;矩阵行与行之间用分号“;”隔离,整个矩阵放在“[ ]”里。
>> a = [1, 2, 3, 4;5, 6, 7, 8]
a =1 2 3 45 6 7 8
说明:指令执行后,矩阵a被保存在Matlab的工作间中,以备后用。如果用户不用clear指令清除它,或对它进行重新赋值,那么该矩阵会一直保存在工作间中,直到本次指令窗关闭为止。
2.矩阵的分行输入
>> A = [1, 2, 3
4, 5, 6
7, 8, 9]
A =1 2 34 5 67 8 9
(二)特殊变量
ans %用于结果的默认变量名
pi %圆周率
eps %计算机的最小数
flops %浮点运算次数
inf %无穷大,如1/0
NaN %不定量,如0/0
i(j) %i = j = 根号下的-1
nargin %所用函数的输入变量数目
nargout %所用函数的输出变量数目
realmin %最小可用正实数
realmax %最大可用正实数
(三)特殊向量和特殊矩阵
1.特殊向量
>> t = [0:0.1:1] %产生从0~1的行向量,元素之间间隔为0.1
t =Columns 1 through 30 0.100000000000000 0.200000000000000Columns 4 through 60.300000000000000 0.400000000000000 0.500000000000000Columns 7 through 90.600000000000000 0.700000000000000 0.800000000000000Columns 10 through 110.900000000000000 1.000000000000000
t = linspace(1, 10, 20)
%产生1和10之间线性均匀分布的20个数(默认为100个数)
t = logspace(1, 2, 20)
%在10和100之间按照对数距离等间距产生20个数(默认为50个数)
2.特殊矩阵
(1)单位矩阵
eye(3) %三行三列的单位阵
eye(2, 3)% 可以得到一个可允许的最大单位矩阵而其余处补零
a = [1, 2, 3, 4; 5, 6, 7, 8; 9,10, 11, 12]
eye(size(a))%可以得到与矩阵a同样大小的单位矩阵
ans =1 0 00 1 00 0 1
ans =1 0 00 1 0
a =1 2 3 45 6 7 89 10 11 12
ans =1 0 0 00 1 0 00 0 1 0
(2)所有元素为1的矩阵
ones(3)
ones(2, 3)
a = [1, 2, 3, 4; 5, 6, 7, 8; 9,10, 11, 12]
ones(size(a))
ans =1 1 11 1 11 1 1
ans =1 1 11 1 1
a =1 2 3 45 6 7 89 10 11 12
ans =1 1 1 11 1 1 11 1 1 1
(3)所有元素为0的矩阵
zeros(3)
zeros(2, 3)
a = [1, 2, 3, 4; 5, 6, 7, 8; 9,10, 11, 12]
zeros(size(a))
ans =0 0 00 0 00 0 0
ans =0 0 00 0 0
a =1 2 3 45 6 7 89 10 11 12
ans =0 0 0 00 0 0 00 0 0 0
(4)空矩阵是一个特殊矩阵,这在线性代数中是不存在的。例如:
q =[ ]% 矩阵q在工作空间之中,但他的大小为零
通过空矩阵的办法可以删除矩阵的行与列。例如:
a = [1 2 3 4;5 6 7 8; 9 10 11 12]
a(:, 3)=[]%删除矩阵a的第三列
size(a) %经过处理后的矩阵变成了3X3的矩阵
a =1 2 3 45 6 7 89 10 11 12
a =1 2 45 6 89 10 12
ans =3 3
(5)随机数矩阵
rand(2, 3) %产生2x3矩阵,其中的元素是服从[0, 1]上均匀分布的随机数
normrnd(4, 0.2, 2, 3) %产生2x3矩阵,其中的元素是服从均值为4,标准差为0.2的正太分布的随机数
exprnd(4, 2, 3) % 产生2x3矩阵,其中的元素是服从均值为4的指数分布的随机数
poissrnd(4, 2, 3)% 产生2x3矩阵,其中的元素是服从均值为4的泊松(Poisson)分布的随机数
unifrnd(1, 10, 2, 3)%产生2x3矩阵,其中的元素是服从区间[1, 10]上均匀分布的随机数
ans =0.814723686393179 0.126986816293506 0.6323592462254100.905791937075619 0.913375856139019 0.097540404999410
ans =3.913281595538863 4.715679387945152 3.7300226119686964.068524893307730 4.553887405976975 4.606984693266371
ans =0.175109812676339 0.891172106576642 3.4532632239374642.891328617566948 7.810915896401948 0.352110735829931
ans =4 5 43 1 2
ans =8.156799110233568 5.407879562094079 6.8168170910013822.681853440989408 5.010275806398095 7.384283477722653
(6)随机置换
randperm(10) %产生1~10的一个随机数排列
perms([1:3]) %产生1~3的所有全排列
ans =3 4 2 7 6 10 9 5 8 1
ans =3 2 13 1 22 3 12 1 31 3 21 2 3