%特殊矩阵-空矩阵、全1矩阵、单位矩阵
%空矩阵
% A=[2 3 4;3 1 5;7 8 4;]
% A(2,:)=[]%删除第二行数
%全一矩阵 ones()
% A=ones(4)
% B=ones(4,3)
% C=zeros(3)
% C(:,:)=1
%单位矩阵 eye()
% A=eye(3);%对角线上都是1
% B=eye(4,5);
% D=zeros(3)
% for m=1:size(D)
% D(m,m)=1;
% end
%特殊矩阵--几种随机矩阵的生成函数rand,randn,randi,randperm
%rand()默认矩阵生成0--1的数
% A=rand(3);
% A1=rand(3,2);
% A1=rand(3,2,'single');
% A2=rand([3,2]);
% A3=rand(size(A));
% A3=rand(size(A),'like',A1);%like表示数据类型与A1相同
% A4=rand(size(A1,1),size(A2,2));
% A5=4+(5-4)*rand(10);%a,b自己取数,生成a--b的数
%randn 跟rand函数差不多,有负数
%randi 生成的是整数,可重复
% A=randi([2,8],5,3);%生成2--8之间的整数,矩阵为五行三列
%randperm 生成的是整数
A=randperm(5) %生成的是1--5之间的整数,不重复,这里生成5个数
B=randperm(10,4)%1--10内生成四个数
%在同一程序中随机数种子的设置
%在程序中调用rand函数时,默认方式是生成不同的随机数,不需要额外进行设置
% a=rand(3)
% a1=rand(3)
% a2=rand(3)
% rng(1)%1为随机数种子,a与a2相同,a与a1不同
% a=rand(2)
% a1=rand(2)
% rng(1)
% a2=rand(2)
%与下面这种用法相同,随机数种子和伪随机生成器联合使用
% rng(1,'twister')
% a=rand(2)
% a1=rand(2)
% rng(1,'twister')
% a2=rand(2)
% s=rng;%将随机数种子记录下来
% a=rand(2)
% a1=rand(2)
% rng(s)
% a2=rand(2)
%软件启动后随机数的设置
%启动软件之后的运行结果