matlab学习3-数值计算

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

六、矩阵元素之间的逻辑运算
一、矩阵的构造
1、向量的构造
向量是1×N( N×1 )的特殊矩阵,称为N维向量。
是一种特殊的矩阵 (1)逐个输入法:x=[ ] 行向量:数据元素之间均用空格(或逗号)隔开; 例:x1=[2 3 sqrt(3) 5] 列向量:数据元素之间均用分号隔开 例:x2=[2;3;sqrt(3);5] 注:行向量和列向量之间的转换“ ’ ”
第二章
基本数值计算
第一节 简单的数学运算
第二节 MATLAB数值计算基础
第三节 MATLAB数值分析与多项式计算
第一节 简单的数学运算 一、常用的数学运算符 二、Matlab 语言规则 三、常用操作命令和键盘技巧 四、常量和变量 五、函数
一、常用的数学运算符
1、Matlab 的数学运算定义在复数域上。
example3
2、矩阵的基本运算: (1)标量与矩阵的数运算和数学函数对矩阵的运算等 于对矩阵的每一个元素的运算。 a=[1 2 3];b=a+100 b= 101 102 103 (2)进行矩阵加减时,参与运算的矩阵必须同维。 (3)进行矩阵乘法时, A的行数=B列数。 左乘与右乘不同:一般A*B不等于B*A 若A*B等于B*A,则称A,B对易 (4)幂运算A^n
2、对矩阵(A)的部分操作:
函数
Fliplr(A)
功能
矩阵左右翻转
函数
Tiag(A,k)
功能
取矩阵对角线 元素
Flipud(A)
Flipdim(A, m) Rot(A,k)
矩阵上下翻转
矩阵沿特定 维(m)翻转 矩阵逆时针旋 转k*90度
Tril(A,k)
Triu(A,k)
取矩阵的下三 角部分
取矩阵的上三 角部分
(b)函数法:
a=linspase ( first,last ,n), 创建均匀间隔的 行向量a,n为元素总数。
>> a=linspace(-2,2,5)
a=
-2 -1 0 1 2
2、矩阵的构造
(1)逐个输入法:
例:表示矩阵
7+3i,8+2j,1i] >> B=[1+9i 2+8i 3+7j;4+6j 5+5i 6+4i;7+3i 8+2j 1i] B= 1.0000 + 9.0000i 2.0000 + 8.0000i 3.0000 + 7.0000i 4.0000 + 6.0000i 5.0000 + 5.0000i 6.0000 + 4.0000i 7.0000 + 3.0000i 8.0000 + 2.0000i 0 + 1.0000i B=[1+9i,2+8i,3+7j 4+6j,5+5i,6+4i
+ 加法
- 减法 * 乘法
一个数在matlab中被看成1×1矩阵
对标量而言,这二者的作用没 ^ 乘方(幂运算) 有区别;但对矩阵来说,“左 除”和“右除”将产生不同的 / 右除 结果。 \ 左除
在运算式中,MATLAB通常不需要考虑空格。 3+4 3+ 4
与复数相关的一些函数
z a bi rei
m=
2 n= 3
三、矩阵的四则运算
1.向量的基本运算: (1)向量与数的四则运算
向量中的每个元素与数的+-*/运算
(2)向量与向量之间的加减运算
对应元素的加减运算
(3)向量的点积与叉积: 点积:dot(A,B)=sum(A.*B) 叉积:cross(A,B) 限三维 混合积:(1i+2j+3k) ×(2i+4j+3k) *(5i+2j+1k) v=dot(a,cross(b,c))
注释符: “%”,其后面的内容为注释,对 Matlab 的计 算不产生任何影响 :冒号 :在数组中应用较多。 () :指定运算优先级。
[ ] :用于构成单元数组
三、常用操作命令和键盘技巧
ctrl+P:调用上一行 ctrl+n:调用下一行 ctrl+b:光标左移一个字符 ctrl+f:光标右移一个字符 ctrl+ :光标左移一个单词 ctrl+ :光标右移一个单词 ctrl+a:home 光标置于当前行开头 ctrl+e:end 光标置于当前行结尾 ctrl+u:Esc 清除当前输入行 BackSpace退格键:删除光标前字符 ctrl+k:删除到行尾 ctrl+c:中断正在执行的命令
求复数Z的实部、虚部、模和相角。
Example1-2
上机练习
0.3*pi
(x-0.98)^2
Example1-1
二、Matlab 语言规则
Matlab 区分大小写,命令和函数全是小写
一行可以输入几个命令,用分号“;” 或逗号“,”隔开。若 命令后无标点符号,则显示命令的结果;若命令后为分号, 则禁止显示结果。 续行符: “…”(三个点),如果语句很长,可用续行符 将一个语句写成多行。续行符前要留一个空格。
变量是任何程序设计语言的基本元素之一。 Matlab 并不要求对所使用的变量进行事先声明, 也不需要指定变量类型,Matlab会自动根据所赋予变 量的值或对变量所进行的操作来确定变量的类型。 在赋值过程中,如果变量已经存在,Matlab会用 新值代替旧值,并以新的变量类型代替旧的变量类 型。 赋值: 变量=表达式(或数)
五、函数
1、标量函数:
三角、指数、对数、取整(fix)等基本函数 作用于标量或矩阵(数组)的每一元素 要想得到基本初等函数的列表,命令窗口输入: help elfun elementary function
常用标量函数
函 数 名 称 函 数 名 称 正弦函数 余弦函数 正切函数 绝对值 最小值 开平方 自然对数 符号函数 反正弦函数 反余弦函数 反正切函数 最大值 元素的总和 以 e 为底的指数 以 10 为底的对数 取整
作用于矩阵的每一列向量(或行向量)
zeros, ones, eye,
rand, diag, triu, tril, …
构造矩阵
3、矩阵函数
矩阵计算
size, det, rank, inv, eig,
trace, norm, …
第二节
一、矩阵的构造 二、对矩阵的操作
MATLAB数值计算基础
三、矩阵的四则运算 四、矩阵的特征参数运算和分解运算 五、矩阵元素之间的关系运算
A(行,列)
例:>> A=[1,2,3,4;3,4,5,6;5,6,7,8;7,8,9,0] A= 1 2 3 4 3 4 5 6 5 6 7 8 7 8 9 0 >> B1=A(1:2:end,:) %提取全部奇数行、所有列。 B1 = 1 2 3 4 5 6 7 8
>> B2=A([3,2,1],[2,3,4]) %提取3,2,1行、2,3,4列构成子 矩阵。 A= 1 2 3 4 3 4 5 6 5 6 7 8 7 8 9 0 B2 = 6 7 8 4 5 6 2 3 4 >> B3=A(:,end:-1:1) %将A矩阵左右翻转,即最后一列排在最 前面。 B3 = 4 3 2 1 6 5 4 3 8 7 6 5 0 9 8 7
MATБайду номын сангаасAB变量的命名规则:
(1)变量名必须以字母打头,之后可以是任意字母、 数字或下划线,变量名中不允许使用标点符号和空格。 (2)变量名区分大小写; (3)变量名长度不超过31位;64 (4)不能含中文(包括文件名) ; 例: 6x、y’r、o p为非法变量。 ui_y、y9oi都是合法变量。
(2)特殊矩阵的函数生成
一些常用的特殊矩阵
单位矩阵:eye(m,n); eye(m) 零矩阵:zeros(m,n); zeros(m)
一矩阵:ones(m,n); ones(m)
对角矩阵:对角元素向量 V=[a1,a2,…,an] A=diag(V) 均匀分布随机矩阵:rand(m,n)产生一个m×n的均匀 分部的随机矩阵
K可以是正、负整数,但绝对 值一般不大于矩阵的维数。
example5
3、判断矩阵的大小
[m,n]=size(A):返回矩阵的行列数m与n。 length(A)=max(size(A)):返回行数和列数的最大值。
》a=[1 2 3;3 4 5];
》[m,n]=size(a)
》length(a) ans = 3 》max(size(a)) ans = 3
%练习1 a=magic(5) b=a(3,4) %提取矩阵a的第n行第m列的元素 c=a(3,:) %提取矩阵a的第3行的所有元素 d=a(:,4) %提取矩阵a的第4列的所有元素 a(2,:)=[ ] %将矩阵a的第2行的所有元素删除 a(:,2)=[ ] %将矩阵a的第2列的所有元素删除 %练习2 a=magic(5) a(:,:) a(:) m=a(1:3,3:5) %取矩阵A的第1-3行、第3-5列构成新矩阵 %练习3 矩阵的拼接 x=ones(2,3) y=zeros(2,3) z1=[x y] z2=[y x] z3=[x;y] z4=[y;x]
复数单位:
i j 1
z2=5-6*j
复数的输入: z1=3+4*i
Matlab中复数运算不需要特殊处理, 可以直接进行,如: z1 z 2 , z1 z 2 z1* z 2 , z1^ 3 z1/ z 2
ans = 4+5j+2i
2、Matlab 的数学运算符是定义在矩阵上的。

(5) Matlab矩阵除法
\ 左除 / 右除
如果A矩阵为非奇异矩阵(可逆),则A\B和B/A 运算可以实现 非奇异矩阵:对一个 n 行 n 列的非零矩阵 A,如果 存在一个矩阵 B ,使 AB = BA =E( E是单位矩阵), 则称 A 为非奇异矩阵,也称A 是可逆的。 A\B等效于A的逆左乘B矩阵,即inv(A)*B B/A等效于A的逆右乘B矩阵,即B * inv(A) 左除与右除不同: A\B≠ B/A 进行矩阵除法时,A/B时,A、B列数必须相同。 A\B时,A、B行数必须相同。
(2)等差元素向量的生成
(a)冒号生成法:x=first:increment:last,表示包含由首元素 开始,步长为increment,到末元素结束的组成的行向量。
例: >> v1=0:pi/4:pi
v1 = 0 0.7854 1.5708 2.3562 3.1416 >> v2=0:-0.1:pi %步距为负,不能生成向量,得出空矩阵 v2 = Empty matrix: 1-by-0 >> v3=0:pi v3 = 0 1 2 3 >> v4=pi:-1:0 %逆序排列构成新向量 v4 = 3.1416 2.1416 1.1416 0.1416
sin(x) cos(x) tan(x) abs(x) min(x) sqrt(x) log(x) sign(x)
asin(x) acos(x) atan(x) max(x) sum(x) exp(x) log10 ( x) fix(x)
max, min, sum, length, … 2、向量函数:
练习:
example2
二、对矩阵的操作
1、对矩阵元素的操作:
• 基本语句格式 • B=A(n,m) n,m分别为矩阵的行号和列号 (1)提取矩阵A的第n行第m列的元素, b =A(n,m) (2)提取矩阵A的第n行的所有元素, b =A(n,:) (3)提取矩阵A的第m列的所有元素, b= A(:,m) (4)将矩阵A的第n行的所有元素删除,A(n,:)=[ ] (5)将矩阵A的第m列的所有元素删除,A(:,m)=[ ] (6)将矩阵A的矩阵元改写成n行m列矩阵,Reshape(A,n,m)
real z imag z abs z angle z conj z 给出复数z的实部a r cos 给出复数z的虚部b r sin 给出复数z的模r a 2 b 2 b 给出复数z的相角 arctg a 给出复数z的共轭复数z
上机练习
四、 常量和变量
1、常量 常量:已经被预定了某个特定值的特定的变量。 常量可任意调用。
ans—用于结果的缺省变量名 pi—圆周率 i或j—表示虚数单位 beep—使计算机发出“嘟嘟”声 eps—浮点数相对误差 inf—无穷大数,如1/0 NaN —不定量,如0/0
i=1
i=
1 example1
2、变量:
example5
对矩阵元素的操作
(7)x(:) x (:,:)
(8)取矩阵A的第i1~i2行、第j1~j2列构成新矩阵: A(i1:i2,j1:j2)。
n=x(2:3,3:4)
(9)将矩阵A和B拼接成新矩阵:[A B];[A;B]
>> v5=[0:0.4:pi,pi] v5 =
0 0.4000 0.8000 1.2000 1.6000 2.0000 2.4000 2.8000 3.1416
相关文档
最新文档