MATLAB二维数组(矩阵)的创建
MATLAB 二维数组与矩阵之间有很大的相关性,二维数组是由实数或复数排列成矩形构成的,而且从数据结构上看,矩阵和二维数组没有区别。
本节将讲解 MATLAB 二维数组的两种创建方式。
例如,生成一个 2×3 的矩阵:
可以用冒号快速建立矩阵,步长在默认的情况下为 1,也可以自定义步长。具体程序如下:
请看下面的例子:
本节将讲解 MATLAB 二维数组的两种创建方式。
直接输入
矩阵的生成可以通过在方括号[ ]中输入元素实现,不同行之间要用分号;隔开,不同列用空格或者逗号,隔开。例如,生成一个 2×3 的矩阵:
>> a=[1,2,3; 2,3,4]
a =
1 2 3
2 3 4
可以用冒号快速建立矩阵,步长在默认的情况下为 1,也可以自定义步长。具体程序如下:
>> A=[1:3; 4:6]
A =
1 2 3
4 5 6
>> B=[2:3:11; 4:2:10]
B =
2 5 8 11
4 6 8 10
使用矩阵生成函数
MATLAB 中提供了很多用于生成矩阵的函数,请看下表。| 矩阵 | 函数 | 矩阵 | 函数 |
|---|---|---|---|
| 全零矩阵 | zeros() | 友矩阵 | compan() |
| 单位矩阵 | eye() | Hadamard 矩阵 | hadamard() |
| 全 1 矩阵 | ones() | Hankel 矩阵 | hankel() |
| 均匀分布随机矩阵 | rand() | Hilbert 矩阵 | hilb() |
| 正态分布随机矩阵 | randn() | 逆 Hilbert 矩阵 | invhilb() |
| 产生线性等分向量 | linspace() | Magic 矩阵 | magic() |
| 产生对数等分向量 | logspace() | Pascal 矩阵 | pascal() |
| Wilkinson 特征值测试矩阵 | wilkinson() | 拓普利兹矩阵 | toeplitz() |
请看下面的例子:
>> ones(2,4) %产生(2x4)全 1 数组
ans =
1 1 1 1
1 1 1 1
>> randn('state',0) %把正态随机数发生器置 0
>> randn(2,3) %产生正态随机阵
ans =
-0.4326 0.1253 -1.1465
-1.6656 0.2877 1.1909
>> D=eye(3) %产生 3x3 的单位阵
D =
1 0 0
0 1 0
0 0 1
>> diag(D) %取 D 阵的对角元
ans =
1
1
1
>> diag(diag(D)) %外 diag 利用一维数组生成对角阵
ans =
1 0 0
0 1 0
0 0 1
>> randsrc(3,20,[-3,-1,1,3],1) %在 [-3,-1,1,3] 上产生 3x20 均布随机数组,随机发生器的状态设置为 1
ans =
1 至 10 列
-1 -1 -3 1 -3 1 -3 3 3 -3
1 -3 -1 -1 3 -1 -3 -1 3 -3
-3 -3 -1 1 -3 1 3 1 -3 3
11 至 20 列
-3 1 1 3 -1 -1 -1 1 -1 -3
-1 1 3 3 3 3 -3 -3 -3 1
3 -1 -3 1 -3 -1 -3 -1 1 1
所有教程
- C语言入门
- C语言编译器
- C语言项目案例
- 数据结构
- C++
- STL
- C++11
- socket
- GCC
- GDB
- Makefile
- OpenCV
- Qt教程
- Unity 3D
- UE4
- 游戏引擎
- Python
- Python并发编程
- TensorFlow
- Django
- NumPy
- Linux
- Shell
- Java教程
- 设计模式
- Java Swing
- Servlet
- JSP教程
- Struts2
- Maven
- Spring
- Spring MVC
- Spring Boot
- Spring Cloud
- Hibernate
- Mybatis
- MySQL教程
- MySQL函数
- NoSQL
- Redis
- MongoDB
- HBase
- Go语言
- C#
- MATLAB
- JavaScript
- Bootstrap
- HTML
- CSS教程
- PHP
- 汇编语言
- TCP/IP
- vi命令
- Android教程
- 区块链
- Docker
- 大数据
- 云计算