5
阶的单位阵、8
阶均匀分布的随机矩阵及其下三角矩阵
a=eye(5);b=rand(8);c=tril(b)
%2生产列向量
x=[1,
3,
5,
7,
9,
…
,
29]
x=[1;3;5;7;9;11;13;15;17;19;21;23;25;27;29]
;%方法1
y=[1:2:29]‘
;
%方法2
z=[linspace(1,29,15)]‘
;%方法3
%3生成以
x
的前
5
个元素为对角线的矩阵
aa=diag(x(1:5))
%4生成一个与
a
同阶的正态分布的随机矩阵
b
a=ones(6);c=size(a);b=randn(c)
;%情况1%
a1=ones(5,6);c1=size(a1);b1=randn(c1)
;%情况2
%5生成由
b
与其同阶魔方矩阵点乘得到的矩阵
d
b=size(b);b1=magic(b);d=bb1
%6生成由
d
的第
2、4、5
行和第4、1
列组成的子矩阵
e
e=d([2,4,5],[4,1])
1、首先需要知道matlab中矩阵后面加单引号是共轭转置,加点和单引号是转置,如下图所示:
2、在matlab命令行窗口中输入“ A=[1 2 4;5 6 7]”,如下图所示:
3、输入 A',对矩阵进行转置,可以看到2行3列的矩阵变成了3行2列的矩阵,行列变换,如下图所示:
4、也可以看一下共轭转置,输入A',是相同的结果,如下图所示:
5、也可以看一下逆时针旋转90度,输入rot90(A),如下图所示:
1,一维数组输入
在matlab中,基本的运算单元是无需指定维数的数组。一维数组在数学上常称为向量,如下所示,在matlab中要输入数组 a = {1,2,4,9,21,13,20} ,按照下面格式就可以:
>> a = [1,2,4,9,21,13,20]
2,
二维数组输入
在matlab中,二维数组可以看作2个一维数组,比如要输入二维数组 a = {{1,2,3},{4,5,6},{7,8,9}} ,在command window(命令窗口)如下所示输入即可:
>> a = [1,2,3;
4,5,6;
7,8,9]
可以看到,输入后command window会输出该二维数组(矩阵),如下图所示(红色箭头即为输出矩阵)
3,
其它数组输入
在上面 *** 作中可以发现,一维数组是二维数组的一个特例,二维数组的第一维可谓“行”,第二维可谓“列”。以此类推,可以输入三维数组、四维数组等。
比如三维数组如下输入:
>> a = {[1,2;3,4],[5,6;7,8]}
如果输入比如 a{1},则会输出第一个二维矩阵,如下图所示:
>> a{1}
ans =
1 2
3 4
prompt = {'输入参数g1:','输入参数g2:','输入参数g3:','输入参数g4:','输入参数g5:','输入参数g6:'};dlg_title = '请输入6个参数';
num_lines = 1;
def = {'1','2','3','4','5','6'};%默认值
answer = inputdlg(prompt,dlg_title,num_lines,def);
x=str2num(cell2mat(answer))
用matlab输入分块矩阵的方法如下:
准备材料:Matlab2015a
1、启动Matlab,首先需要明确一点,matlab里矩阵的行数据之间使用逗号或空格隔开,而列与列之间则用分号隔开。注意输入法一定要切换到英语输入法。
2、这里输入一个简单的2行3列的矩阵,第一行数据为1,2,3,第二行数据为4,5,6结果如图。
3、这种方法适合元素比较少的矩阵,如果矩阵元素比较多matlab也有办法处理。可以创建变量在变量中输入矩阵,直观又方便。首先找到“workspace”窗口。
4、在“workspace”的空白处单击鼠标右键,点“new”新建一个变量,如图,命名为mat2。
5、双击mat2,则会出现对应的窗口,在mat2窗口里即可按照矩阵本来的形状输入矩阵元素了。
6、最后如果矩阵特别大,是以一个txt文件的格式存储的,那再用上述方法就显得很麻烦了,这时需要导入文件。将矩阵存储在txt文件中,选择“Home->Import Data”,即可轻松导入数据。
1、向量的创建1)直接输入:
行向量:a=[1,2,3,4,5]
列向量:a=[1;2;3;4;5]
2)用“:”生成向量
a=J:K 生成的行向量是a=[J,J+1,…,K]
a=J:D:K 生成行向量a=[J,J+D,…,J+mD],m=fix((K-J)/D)
3)函数linspace 用来生成数据按等差形式排列的行向量
x=linspace(X1,X2):在X1和X2间生成100个线性分布的数据,相邻的两个数据的差保持不变。构成等差数列。
x=linspace(X1,X2,n): 在X1和X2间生成n个线性分布的数据,相邻的两个数据的差保持不变。构成等差数列。
4)函数logspace用来生成等比形式排列的行向量
X=logspace(x1,x2) 在x1和x2之间生成50个对数等分数据的行向量。构成等比数列,数列的第一项x(1)=10x1,x(50)=10x2
X=logspace(x1,x2,n) 在x1和x2之间生成n个对数等分数据的行向量。构成等比数列,数列的第一项x(1)=10x1,x(n)=10x2
注:向量的的转置:x=(0,5)’
2、矩阵的创建
1)直接输入:
将数据括在[]中,同一行的元素用空格或逗号隔开,每一行可以用回车或是分号结束。
如:a=[1,2,3;3,4,5],运行后:
a =
1 2 3
3 4 5
2)函数eye,生成单位矩阵
eye(n) :生成nn阶单位E
eye(m,n):生成mn的矩阵E,对角线元素为1,其他为0
eye(size(A)):生成一个矩阵A大小相同的单位矩阵
eye(m,n,classname):对角线上生成的元素是1,数据类型用classname指定。其数据类型可以是:duoble、single、int8、uint8、int16、uint16、int32、uint32 。
3)函数ones 用ones生成全1的矩阵
ones(n) : 生成nn的全1矩阵
ones(m,n) : 生成mn的全1矩阵
ones(size(A)) : 生成与矩阵A大小相同的全1矩阵
ones(m,n,p,…)生成mnp…的全1的多维矩阵
ones(m,n,…,classname)制定数据类型为classname
4)函数zeros 函数zeros生成全0矩阵
zeros(n):生成nn的全0矩阵
zeros(m,n:)生成mn的全0矩阵
zeros(size(A)): 生成与矩阵A大小相同的全0矩阵
zeros (m,n,p,…)生成mnp…的全0的多维矩阵
zeros (m,n,…,classname)指定数据类型为classname
5)函数rand 函数rand用来生成[0,1]之间均匀分布的随机函数,其调用格式是:
Y=rand:生成一个随机数
Y=rand(n):生成nn的随机矩阵
Y=rand(m,n):生成mn的随机矩阵
Y=rand(size(A)):生成与矩阵A大小相同的随机矩阵
Y=rand(m,n,p,…):生成mnp…的随机数多维数组
6)函数randn 函数rand用来生成服从正态分布的随机函数,其调用格式是:
Y=randn:生成一个服从标准正态分布的随机数
Y=randn(n):生成nn的服从标准正态分布的随机矩阵
Y=randn(m,n):生成mn的服从标准正态分布的随机矩阵
Y=randn(size(A)):生成与矩阵A大小相同的服从标准正态分布的随机矩阵
Y=randn(m,n,p,…):生成mnp…的服从标准正态分布的随机数多维数组
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)