Matlab 中常用语句(8)---构造常用矩阵(eye、ones、zeros、rand、randn、diag)

1、eye 单位矩阵

I = eye 返回标量 1。

I = eye(n) 返回一个主对角线元素为 1 且其他位置元素为 0 的 n×n 单位矩阵。

I = eye(n,m) 返回一个主对角线元素为 1 且其他位置元素为 0 的 n×m 矩阵。

I = eye(sz) 返回一个主对角线元素为 1 且其他位置元素为 0 的数组。大小向量 sz 定义 size(I)。例如,eye([2,3]) 返回一个主对角线元素为 1 且其他位置元素为 0 的 2×3 数组。

I = eye(n,classname) 返回一个数据类型为 classname 的 n×n 单位矩阵。

I = eye(n,m,classname) 返回一个数据类型为 classname、主对角线元素为 1 且其他位置元素为 0 的 n×m 矩阵。

2、ones 创建全部为 1 的数组

X = ones 返回标量 1。

X = ones(n) 返回一个 n×n 的全 1 矩阵。

X = ones(sz1,…,szN) 返回由 1 组成的 sz1×…×szN 数组,其中 sz1,…,szN 指示每个维度的大小。例如,ones(2,3) 返回由 1 组成的 2×3 数组。

X = ones(sz) 返回一个由 1 组成的数组,其中大小向量 sz 定义 size(X)。例如,ones([2,3]) 返回由 1 组成的 2×3 数组。

3、zeros 创建全为 0 的数组

X = zeros 返回标量 0。

X = zeros(n) 返回一个 n×n 的全零矩阵。

X = zeros(sz1,…,szN) 返回由零组成的 sz1×…×szN 数组,其中 sz1,…,szN 指示每个维度的大小。例如,zeros(2,3) 将返回一个 2×3 矩阵。

X = zeros(sz) 返回一个由零组成的数组,其中大小向量 sz 定义 size(X)。例如,zeros([2 3]) 将返回一个 2×3 矩阵。

X = zeros(___,typename) 返回一个由零组成并且数据类型为 typename 的数组。例如,zeros(‘int8’) 将返回一个 8 位整数标量 0。您可以使用上述语法中的任何输入参数。

4、rand 均匀分布的随机数

X = rand 返回一个在区间 (0,1) 内均匀分布的随机数。
示例
X = rand(n) 返回一个 n×n 的随机数矩阵。

X = rand(sz1,…,szN) 返回由随机数组成的 sz1×…×szN 数组,其中 sz1,…,szN 指示每个维度的大小。例如:rand(3,4) 返回一个 3×4 的矩阵。

X = rand(sz) 返回由随机数组成的数组,其中大小向量 sz 指定 size(X)。例如:rand([3 4]) 返回一个 3×4 的矩阵。

X = rand(___,typename) 返回由 typename 数据类型的随机数组成的数组。typename 输入可以是 ‘single’ 或 ‘double’。您可以使用上述语法中的任何输入参数。

5、randn 正态分布的随机数

X = randn 返回一个从标准正态分布中得到的随机标量。

X = randn(n) 返回由正态分布的随机数组成的 n×n 矩阵。

X = randn(sz1,…,szN) 返回由随机数组成的 sz1×…×szN 数组,其中 sz1,…,szN 指示每个维度的大小。例如:randn(3,4) 返回一个 3×4 的矩阵。

X = randn(sz) 返回由随机数组成的数组,其中大小向量 sz 定义 size(X)。例如:randn([3 4]) 返回一个 3×4 的矩阵。

X = randn(___,typename) 返回由 typename 数据类型的随机数组成的数组。typename 输入可以是 ‘single’ 或 ‘double’。您可以使用上述语法中的任何输入参数。

6、diag

D = diag(v) 返回包含主对角线上向量 v 的元素的对角矩阵。

D = diag(v,k) 将向量 v 的元素放置在第 k 条对角线上。k=0 表示主对角线,k>0 位于主对角线上方,k<0 位于主对角线下方。

x = diag(A) 返回 A 的主对角线元素的列向量。

x = diag(A,k) 返回 A 的第 k 条对角线上元素的列向量。

  • 2
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是MATLAB练习命令的介绍和演示: 1. linspace:在指定的范围内生成等间距的向量。 ```matlab x = linspace(0, 10, 5) % 生成0到10之间5个等间距的数 ``` 2. zeros:生成指定大小的全零矩阵。 ```matlab A = zeros(2, 3) % 生成2行3列的全零矩阵 ``` 3. eye:生成指定大小的单位矩阵。 ```matlab B = eye(3) % 生成3阶单位矩阵 ``` 4. ones:生成指定大小的全1矩阵。 ```matlab C = ones(2, 4) % 生成2行4列的全1矩阵 ``` 5. rand:生成指定大小的随机矩阵,元素值在0到1之间。 ```matlab D = rand(3, 2) % 生成3行2列的随机矩阵 ``` 6. randn:生成指定大小的随机矩阵,元素值符合标准正态分布。 ```matlab E = randn(2, 4) % 生成2行4列的标准正态分布随机矩阵 ``` 7. triu:返回矩阵的上三角部分。 ```matlab F = triu(ones(3, 3)) % 生成3阶全1矩阵的上三角部分 ``` 8. logspace:在指定的范围内生成对数间距的向量。 ```matlab G = logspace(0, 2, 3) % 生成10^0到10^2之间3个对数间距的数 ``` 9. diag:提取矩阵的对角线元素或构造对角矩阵。 ```matlab H = diag([1, 2, 3]) % 构造3阶对角矩阵 I = diag(rand(2, 3)) % 提取2行3列随机矩阵的对角线元素 ``` 10. reshape:改变矩阵的大小。 ```matlab J = reshape(1:12, 3, 4) % 将1到12的数按列优先排列成3行4列的矩阵 ``` 11. repmat:将矩阵重复若干次。 ```matlab K = repmat([1, 2; 3, 4], 2, 3) % 将2行2列的矩阵重复2行3列 ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值