Matlab1.1数组和变量

数组的定义:相同数据类型的元素按照一定顺序排列的集合。

分类:

    空数组;

    只有一个元素的标量

    只有一行/一列元素的向量

    多行多列的二维数组

    超过二维的多维数组(行,列,页)

按照存储方式分类:

    普通数组

    稀疏数组(大部分元素都是0的数组)(目的是提高数据存储和运算的效率)

                                                                                                                                     

数组的创建

1.空数组

A=[ ]

2.一维数组

A=[1,2,3]

B=[1;2;3]

2.1等差数组

var=start_var:step:stop_var


不指定step时,step默认为1



var=linspace(start_var,stop_var,n)。不指定时,n默认为100



logspace(start_var,stop_var,n):产生从10的start_var次方到10的stop_var次方的n个等比一维数组。不指定n时,n默认为50



2.二维数组的创建




创建三维数组

1.用下标引用的方法



没有指定的数值默认为0

2.用低维数组创建三维数组

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


>> D2(:,:,1)=D1;
>> D2(:,:,2)=2*D1;
>> D2(:,:,3)=3*D1;
>> D2


D2(:,:,1) =
     1     2     3
     4     5     6
     7     8     9

D2(:,:,2) =
     2     4     6
     8    10    12
    14    16    18


D2(:,:,3) =
     3     6     9
    12    15    18

    21    24    27

3.使用创建函数创建数组

C=cat(dim,A1,A2,A3……),dim是创建数组的维度,A1,A2,A3...表示各个维度上的数组。

>> D2=[1,2,3;4,5,6;7,8,9];
>> C=cat(3,D2,2*D2,3*D2);
>> C
C(:,:,1) =
     1     2     3
     4     5     6
     7     8     9

C(:,:,2) =
     2     4     6
     8    10    12
    14    16    18

C(:,:,3) =
     3     6     9
    12    15    18
    21    24    27

B=repmat(A,[m,n,p]),复制并堆砌数组。A是被复制的数组模块,m、n,p为该数组模块在列、行、页上的复制次数。




B=reshape(A,[m n p]),B是一个m行n列p页的高维数组,其成员来自于A



5.创建低维标准数组:使用标准数组命令


'




magic(n)产生一个n*n维数列,数值从1~2的n次方。而且每行、每列之和都相等。


randn(n)返回一个n*n矩阵,这些数字正态随机分布


randn(m,n)产生一个m行n列的数组,数组中的数字正态随机分布



gallery是测试矩阵生成函数



多维数组及其操作

1.多维数组的属性:

size(A)按照行、列、页的顺序,返回A每一维上的大小

ndims(A)返回A的维度值

whos返回当前工作区中各个变量的详细信息。clear可以清空工作区的缓存

2.多维数组的索引:多下标索引和单下标索引

多下标索引:用数组/冒号代表其中一维,则可以访问多个元素


多下标索引单个值:


2.单下标索引


2.多维数组的维度操作:形状的重新排列和维度的重新排序

reshape改变形状,B=reshape(A,m,n)是把A重新排列成m行n列的新数组赋值给B,当m/n其一的值确定的时候,另一个值可以取【】,计算机将自动计算。



permute函数把原来某个维度上的所有元素移动到新的维度上


ipermute是permute的逆序数,当B=permute(A,dims)时,ipermute(B,dims)会返回多维数组A


多维数组参与数学计算

sum,mean等函数可以对多维数组中第一个不为1的维度上的向量进行计算

sum对同一列上的数字进行了相加

mean类似sum,不过求的是平均值。


sin,cos等函数对多维数组中的每一个元素都单独计算

E=eig(A):求A得所有特征值,构成向量E.这里的A必须是二维数组。


变量的命名:

    必须以字母开头

    只能用字母、数字、下划线组成,不能含有空格和标点符号

    大小写敏感

matlab中的特殊常量:i/j虚数

    Inf/inf正无穷大

    NaN不存在

    pi

    eps容差变量,非常小

    realmin/Realmin

    realmax/Realmax



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值