MATLAB(二)数据的输入

数据的输入

(一)简单矩阵的输入

1.要直接输入矩阵时,矩阵一行中的元素用空格或逗号分隔;矩阵行与行之间用分号“;”隔离,整个矩阵放在“[ ]”里。

>> a = [1, 2, 3, 4;5, 6, 7, 8]
a =
     1     2     3     4
     5     6     7     8

说明:指令执行后,矩阵a被保存在Matlab的工作间中,以备后用。如果用户不用clear指令清除它,或对它进行重新赋值,那么该矩阵会一直保存在工作间中,直到本次指令窗关闭为止。

2.矩阵的分行输入

>> A = [1, 2, 3
4, 5, 6
7, 8, 9]
A =
     1     2     3
     4     5     6
     7     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 3
                   0   0.100000000000000   0.200000000000000
  Columns 4 through 6
   0.300000000000000   0.400000000000000   0.500000000000000
  Columns 7 through 9
   0.600000000000000   0.700000000000000   0.800000000000000
  Columns 10 through 11
   0.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     0
     0     1     0
     0     0     1
ans =
     1     0     0
     0     1     0
a =
     1     2     3     4
     5     6     7     8
     9    10    11    12
ans =
     1     0     0     0
     0     1     0     0
     0     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     1
     1     1     1
     1     1     1
ans =
     1     1     1
     1     1     1
a =
     1     2     3     4
     5     6     7     8
     9    10    11    12
ans =
     1     1     1     1
     1     1     1     1
     1     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     0
     0     0     0
     0     0     0
ans =
     0     0     0
     0     0     0
a =
     1     2     3     4
     5     6     7     8
     9    10    11    12
ans =
     0     0     0     0
     0     0     0     0
     0     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     4
     5     6     7     8
     9    10    11    12
a =
     1     2     4
     5     6     8
     9    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.632359246225410
   0.905791937075619   0.913375856139019   0.097540404999410
ans =
   3.913281595538863   4.715679387945152   3.730022611968696
   4.068524893307730   4.553887405976975   4.606984693266371
ans =
   0.175109812676339   0.891172106576642   3.453263223937464
   2.891328617566948   7.810915896401948   0.352110735829931
ans =
     4     5     4
     3     1     2
ans =
   8.156799110233568   5.407879562094079   6.816817091001382
   2.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     1
     3     1     2
     2     3     1
     2     1     3
     1     3     2
     1     2     3



猜你喜欢

转载自blog.csdn.net/qq_40962368/article/details/80498907