先送上Matlab学习框架~
1、一些常用的常量
① pi——圆周率π——(任何常量和变量都可以修改其数值!!)
② eps——系统的最小数(1+Eps>1)
③ inf——无穷大,最大可用正实数
④ nan——不定量——最大可用正整数
2、数组
M语言的数组中的每个元素都必须具有相同的数据类型,也有一维、二维和多维数组的区别。
★Matlab中的特殊数组:
字符数组:s=‘string’; name=[‘str1’ ‘str2’ ‘str3’];
结构数组:根据属性名组织起来的不同类型数据的集合
Sn=struct(‘field1’,{}, ’field2’,{},…)
Sn. field1→结构数组名.域名
结构数组例子:
Student=struct(‘name’,{‘liu’,’li’},’age’,{‘18’,’20’});
Student % 显示结果是?
Student =
1x2 struct array with fields:
name
age
Student(1) % 显示结果是?
ans =
name: ‘liu’
age: ‘18’
Student(1).name %显示结果是?
ans = liu
★细胞数组
一个变量表达不同类型、不同维数的数据。用{ }定义或cell(m,n) 创建一个m行n列的细胞型变量。
例如: %其中,A为普通数组(矩阵),B为cell数组
高级应用——
3、向量(一维数组)
从数学的角度看,向量就是1×N或N×1矩阵,即行向量或列向量。
向量是1索引而非0索引!
如何创建向量?
乱入:编程时注意区分大小写!!
-
方法1:逐个输入向量的元素
Input:
x = [1 3 pi 3+5i] 或 x = [1, 3, pi, 3+5i]
Output:
x =
1.0000 3.0000 3.1416 3.0000 + 5.0000i -
利用冒号运算符创建向量 【格式: X = J:INC:K】
J为向量的第一个元素,而K为向量的最后一个元素,INC为向量元素递增的步长。
Input:
x = 1:1:10
Output:
x =
1 2 3 4 5 6 7 8 9 10 -
使用函数linspace创建向量【创建线性间隔向量的函数】
x = linspace(x1,x2,n)
x1:向量的第一个元素;x2:向量的最后一个元素;n为向量的元素个数
例如:
Input: x = linspace(1,2,5)
Output:
x =
1.0000 1.2500 1.5000 1.7500 2.0000 -
使用函数logspace创建向量【创建对数空间的向量】
x = logspace(x1,x2,n)
x1:向量第一个元素值;x2:向量的最后一个元素;n:向量元素个数
例如:
Input: x = logspace(1,3,3)
Output:
x =
10 100 1000 -
列向量
A = [1;2;3;4;5;6] ~~输出即为列向量,注意区分括号形状
举例——使用转置的方法创建列向量
B = (1:6)’ ~~输出是一个列向量!
补充一个操作——whos
-
逗号和分号的作用
逗号和分号可作为指令间的分隔符,Matlab允许多条语句在同一行出现!
分号分开矩阵的元素、矩阵行。空格/逗号分开数组元素。
另外,当一个指令或矩阵太长时,可用•••续行! -
向量元素的访问
访问向量A中的元素, A = [1 2 3 4 5 6 7 8 9 0] 。
第一
%访问向量A的第3个元素
A(3)
输出——————————
ans =
3
第二
%访问向量A的最后四个元素
A([end-3:end]) %end表示向量中最后一个元素的序号
ans =
7 8 9 0
第三
对向量的元素进行赋值——
A(3) = -3 %对向量的第3个元素进行赋值。
A =
1 2 -3 4 5 6 7 8 9 0
第四
MATLAB的数据自动扩充和初始化机制:对向量A的第15个元素赋值之前,第11~15个元素不存在,但赋值之后,将自动创建这些元素,并默认为0。例:
A(15) = -15
A =
1 2 -3 4 5 6 7 8 9 0 0 0 0 0 -15
4、矩阵
- 直接输入法
输入:A = [1 2 3;4 5 6;7 8 9]
输出:
A =
1 2 3
4 5 6
7 8 9
使用whos指令来察看当前MATLAB会话保存在工作空间内存中的各种变量
(接上例)
输入:whos
输出:
Name Size Bytes Class
A 3x3 72 double array
Grand total is 9 elements using 72 bytes - 矩阵元素的访问(行列全下标形式)
A = magic(5) %创建五阶的幻方矩阵,行、列的和皆相等
A =
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
——————————————————————
A(2,4) %使用全下标的形式访问第2行第4列的元素
ans =
14
★注意——MATLAB矩阵元素的排列以列元素优先,这与C语言的二维数组元素的排列不同(行元素优先)。 - 访问矩阵元素的方法
- 矩阵生成函数
以下函数用()写出阶数使用——
5.重点:基本矩阵运算
5、数学函数
一些例子,其他的要用现查吧!