已阅读5页,还剩29页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二讲 数值计算功能,一、矩阵的生成,数组与矩阵的运算,1、逐个元素输入法 直接输入法, x=1 2 3 4 5 6 7 8 ;4 5 6 7 8 9 10 11;,1 2 3 4 5 6 7 8;,x=, ;, y=2,4, 5,3 6 8,y = 2 4 5 3 6 8, a=1; b=2; c=3;, x=5 b c; a*b a+c c/b,x = 5.0000 2.0000 3.0000 2.0000 4.0000 1.5000,2. 快速矩阵生成法,(1)数组的冒泡生成法:,x=a:inc:b, y=1:1:8,y = 1 2 3 4 5 6 7 8, y=0:0.2:1,y = 0 0.2000 0.4000 0.6000 0.8000 1.0000, x=1:8;4:11,x = 1 2 3 4 5 6 7 8 4 5 6 7 8 9 10 11,(2) 采用Matlab的矩阵生成函数生成函数法,举例说明矩阵生成函数:,x=linspace(n1,n2,n) % 在区间上生成线性分度的向量, x=linspace(1,10,10),x = 1 2 3 4 5 6 7 8 9 10, a= %生成一个空距阵,a = ,a=logspace(n1,n2,n) %在区间上生成对数分度的向量, a=logspace(1,3,3),a = 10 100 1000,eye(m,n); eye(m) %生成单位矩阵, eye(2,3) ans= 1 0 0 0 1 0, eye(2) ans= 1 0 0 1,zeros(m,n); zeros(m) % 生成零矩阵, zeros(2,3) ans= 0 0 0 0 0 0, zeros(2) ans= 0 0 0 0,ones(m,n); ones(m) %生成一矩阵,ones(2,3) ans= 1 1 1 1 1 1,ones(2) ans= 1 1 1 1,V=a1,a2,an A=diag(V) %生成对角矩阵:对角元素向量,V=5 7 2; A=diag(V) A= 5 0 0 0 7 0 0 0 2, A=1 2 3;2 3 4;3 4 5;V=diag(A) V = 1 3 5,rand(m,n) %随机矩阵:产生一个mn的均匀分布随机矩阵, rand(2,4) ans = 0.9501 0.6068 0.8913 0.4565 0.2311 0.4860 0.7621 0.0185 % 2x4随机矩阵, a=1:1:10; b=0.1:0.1:1; c=b a; %组成一个新的数组,ans = Columns 1 through 5 1.0000 + 0.1000i 2.0000 + 0.2000i 3.0000 + 0.3000i 4.0000 + 0.4000i 5.0000 + 0.5000i Columns 6 through 10 6.0000 + 0.6000i 7.0000 + 0.7000i 8.0000 + 0.8000i 9.0000 + 0.9000i 10.0000 + 1.0000i,c = Columns 1 through 8 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 0.7000 0.8000 Columns 9 through 16 0.9000 1.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 Columns 17 through 20 7.0000 8.0000 9.0000 10.0000, a+b*i %复数数组的生成,X,Y=meshprid(-1:0.4:1,-.5:0.2:0.5); %用于3D绘图, X X = -1.0000 -0.6000 -0.2000 0.2000 0.6000 1.0000 -1.0000 -0.6000 -0.2000 0.2000 0.6000 1.0000 -1.0000 -0.6000 -0.2000 0.2000 0.6000 1.0000 -1.0000 -0.6000 -0.2000 0.2000 0.6000 1.0000 -1.0000 -0.6000 -0.2000 0.2000 0.6000 1.0000 -1.0000 -0.6000 -0.2000 0.2000 0.6000 1.0000, Y Y = -0.5000 -0.5000 -0.5000 -0.5000 -0.5000 -0.5000 -0.3000 -0.3000 -0.3000 -0.3000 -0.3000 -0.3000 -0.1000 -0.1000 -0.1000 -0.1000 -0.1000 -0.1000 0.1000 0.1000 0.1000 0.1000 0.1000 0.1000 0.3000 0.3000 0.3000 0.3000 0.3000 0.3000 0.5000 0.5000 0.5000 0.5000 0.5000 0.5000, X,Y = meshgrid(-2:.2:2, -2:.2:2);,Z = X .* exp(-X.2 - Y.2);,mesh(Z) %画出3D图,二. 矩阵的子矩阵寻访与赋值,子数组寻址,x=1 4 12 3 6 4 7 5 8 6 9 7 10 8 11,x(3) % x的第三个元素,ans = 12,x(1 2 5) % x的第1,2 ,5个元素,ans = 1 4 6,x(1:5) %x的前5个元素,ans = 1 4 12 3 6,x(10:end) %x的第10个元素后的元素,ans = 6 9 7 10 8 11,x(10:-1:2) %x的第10个元素和第二元素的倒排,ans = 6 8 5 7 4 6 3 12 4,x(find(x5) %查找x中大于5的非零元素,ans = 12 6 7 8 6 9 7 10 8 11,A(:) %由A的各列按从左到右的次序,首尾相接而生成“一维长列”数组,矩阵寻址,A=1 2 3 4;3 4 5 6,A(2,3) % A的第二行第三列的元素,A = 1 2 3 4 3 4 5 6,ans = 5,A(2,:) %A的第二行全部列的元素,ans = 3 4 5 6,A(:,3) %A的全部行第3列的元素,ans = 3 5,ans = 1 3 2 4 3 5 4 6,2. 数组赋值,x=1 4 12 3 6 4 7 5 8 6 9 7 10 8 11,x(4)=100 %给x的第4个元素重新赋值为100,x = Columns 1 through 13 1 4 12 100 6 4 7 5 8 6 9 7 10 Columns 14 through 15 8 11,x(3)= %删掉掉3个元素,x = Columns 1 through 13 1 4 100 6 4 7 5 8 6 9 7 10 8 Column 14 11,x(16)=1 %加入第16个元素,x = Columns 1 through 13 1 4 100 6 4 7 5 8 6 9 7 10 8 Columns 14 through 16 11 0 1,矩阵赋值,A=1:8;4:11 %直接赋值,A = 1 2 3 4 5 6 7 8 4 5 6 7 8 9 10 11, A(:)=1:4;2:5;3:6;4:7 %全元素赋值,保持A的“行宽,列长”。A和D 两个数组的总元素相等,但“行宽,列长”不一定相同。,A = 1 3 2 4 3 5 4 6 2 4 3 5 4 6 5 7,数组赋值,x=1 4 12 3 6 4 7 5 8 6 9 7 10 8 11,x(1 4)=1 1 %把当前 x 数组的第一、四个元素都赋值为 1,x = Columns 1 through 13 1 4 12 1 6 4 7 5 8 6 9 7 10 Columns 14 through 15 8 11, D=1:4;2:5;3:6;4:7,D = 1 2 3 4 2 3 4 5 3 4 5 6 4 5 6 7, D(:) ans = 1 2 3 4 2 3 4 5 3 4 5 6,矩阵赋值,A(2,3) = 5 % 改变位於第二列,第三行的元素值,A = 1 3 2 4 3 5 4 6 2 4 3 5 4 6 5 7,A = 1 3 2 4 3 5 4 6 2 4 5 5 4 6 5 7,B = A(2,1:3) % 取出部份矩阵B,B = 2 4 5,A = A; 4 3 2 1 1 3 4 5 % 再增加一列,A = 1 3 2 4 3 5 4 6 2 4 5 5 4 6 5 7 4 3 2 1 1 3 4 5,A(:, 2) = % 删除第二列(:代表所有行),A = 1 2 4 3 5 4 6 2 5 5 4 6 5 7 4 2 1 1 3 4 5,A(1 3, :) = % 删除第一和第三行(:代表所有列),A = 2 4 5 5 4 6 5 7,A(:,2 3)=ones(2) %双下标赋值方式:把 A 的第 2 、 3 列元素全赋为 1,A = 1 2 3 4 5 6 7 8 4 5 6 7 8 9 10 11,A = 1 1 1 4 5 6 7 8 4 1 1 7 8 9 10 11,三、矩阵的运算,矩阵的转置,在矩阵变量后加“ ”来表示转置运算, A=1 2 3;4 5 6 A = 1 2 3 4 5 6, B=A B = 1 4 2 5 3 6,转置:对于实矩阵用()符号或(. ) 求转置结果是一样的;然而对于含复数 的矩阵,则()将同时对复数进行共轭 处理,而 (. )则只是将其排列形式进行转置。,a=1 2 3;4 5 6 a = 1 4 2 5 3 6,a=1 2 3;4 5 6. a = 1 4 2 5 3 6,b=1+2i 2-7i b = 1.0000 - 2.0000i 2.0000 + 7.0000i,b=1+2i 2-7i. b = 1.0000 + 2.0000i 2.0000 - 7.0000i,2. 矩阵的算术运算,四则运算与幂运算,只有维数相同的矩阵才能进行加减运算。 注意只有当两个矩阵中前一个矩阵的列数和后一个矩阵的行数相同时,才可以进行乘法运算。ab运算等效于求a*x=b的解;而a/b等效于求x*b=a的解。只有方阵才可以求幂。 点运算是两个维数相同矩阵对应元素之间的运算,在有的教材中也定义为数组运算。,如:a=1 2;3 4;b= 3 5; 5 9,c=a+b c= 4 7 8 13,d=a-b d= -2 -3 -2 -5,a*b=13 23; 29 51,a/b=-0.50 0.50;3.50 1.50,ab=-1 -1;2 3,a3=37 54; 81 118,a.*b=3 10;15 36,a./b=0.33 0.40;0.60 0.44,a.b=3.00 2.50;1.67 2.25,a.3= 1 8; 27 64,四. 矩阵函数,1. elfun基本函数库, A=1:1:5;B=0:10:50; sin(A) %对矩阵A中各元素求正玄函数值 ans = 0.8415 0.9093 0.1411 -0.7568 -0.9589 sign(A) %符号函数 ans = 1 1 1 1 1 mean(A) %求平均值 ans = 3,m,n=size(A,x):返回矩阵的行列数m与n,当x=1,则只返回行数m,当x=2,则只返回列数n。 length(A)=max(size(A):返回行数或列数的最大值。 rank(A):求矩阵的秩,a=1 2 3;3 4 5; m,n=size(a) m = 2 n = 3,length(a) ans = 3 max(size(a) ans = 3,rank(a) ans = 2,2、求矩阵大小的函数,3. 常用矩阵变换函数 (elmat), A=10,2 12;34,2,4;98,34,6 A = 10 2 12 34 2 4 98 34 6, fliplr(A) %矩阵左右翻转 ans = 12 2 10 4 2 34 6 34 98, flipud(A) %矩阵上下翻转 ans = 98 34 6 34 2 4 10 2 12, rot90(A) %矩阵反时针90度翻转 ans = 12 4 6 2 2 34 10 34 98, tril(A) %产生下三角矩阵 ans = 10 0 0 34 2 0 98 34 6, triu(A) %产生上三角矩阵 ans = 10 2 12 0 2 4 0 0 6,4. 矩阵的专用函数 (matfun), A=10,2 12;34,2,4;98,34,6, rank(A) %计算矩阵的秩 ans = 3, det(A) %计算矩阵的行列式 ans = 10656, inv(A) %求矩阵的逆 ans = -0.0116 0.0372 -0.0015 0.0176 -0.1047 0.0345 0.0901 -0.0135 -0.0045, v,u=eig(A) %求矩阵的特征值和特征向量,返回值中v为特征向量,u为特征值 v = -0.2960 -0.3635 0.3600 -0.2925 0.4128 -0.7886 -0.9093 0.8352 -0.4985 u = 48.8395 0 0 0 -19.8451 0 0 0 -10.9943, C=eye(2);expm(C) %矩阵的指数函数 ans = 2.7183 0 0 2.7183, F=funm(A,sin) %一般矩阵函数,对A矩阵求正玄 F = -1.2022 -1.3169 0.4929 0.5776 1.9880 -1.1459 0.1975 1.7427 -1.6144,注意: 求逆:inv(A); 求行列式:det(A) 要求矩阵必须为方阵,了解矩阵超越函数 在MATLAB中exp(指数函数)、sqrt(平方根)等命令也可以作用到矩阵上,但这种运算是定义在矩阵的单个元素上的,即分别对矩阵的每一个元素进行计算。 超越数学函数可以在函数后加上m而成为矩阵的超越函数,例如:expm,sqrtm。矩阵的超越函数要求运算矩阵为方阵。, norm(A) %求矩阵范数 ans = 109.5895 norm(A,inf) %求矩阵的无穷范数 ans = 138,第四章 多项式的表达式及其操作,多项式的表达 Matlab约定降幂多项式 P(x)=anxn+an-1xn-1+a1x+a0 用系数行向量P=an an-1 a1 a0表示。 2. 多项式行向量的生成方法 直接输入法和利用指令生成法。 直接输入法,按照约定将多项式的各项系数以降幂次序排放在行向量的元素位置上。 注意:多项式缺的幂次项的系数为零。,利用指令生成法 利用指令 P=poly(AR) 生成多项式系数向量。其中,若AR是方阵,则多项式 P就是该方阵的特征多项式; 若AR是行向量,即AR=ar1 ar2 arn,则AR的元素被认为是多项式P的根 ,即 P=(x- ar1)( x- ar2 )(x- arn )= anxn+an-1xn-1+a1x+a0 . 利用命令poly2str(P,s)可得到习惯方式显示的多项式,其中,s是多项式中的自变量。, AR=1 4 7;3 11 6;5 32 68;, P=poly(AR) %AR的特征多项式 P = 1.0000 -80.0000 588.0000 -147.0000, PPA=poly2str(P,s) %用习惯的方式显示多项式
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 语文中考基础模拟题及答案解析
- 精密测量技术练习题及答案解析
- 2026年公益慈善项目监管测试试卷及答案
- 2026年保洁员岗位安全业务考试试卷试题及答案
- 大一学生英美概况练习题及答案解析
- 乐理四级常见试题及答案展示
- 2026年湿地监测工作人员真题(附答案)
- 2026年山西省人教版七年级英语上册第4单元听力专项训练
- 2026年燃气调压站运维人员理论考核模拟试卷答案
- 2026年康复治疗师资格考试试题及答案
- 2026秋初中湘教版数学九年级上册(新教材)教学计划含进度表
- 2026年全国公共营养师之二级营养师考试专项特训题(附答案)
- 2026山西朔州市北路梆子剧团招聘28人备考题库(名校卷)附答案详解
- 工程咨询机构档案归档管理规范
- 2026福建泉州交发集团(第一批)校园招聘89人笔试备考题库及答案详解
- 基于大单元教学的生物教学设计:以遗传规律为例
- 2026-2031年中国电水壶行业市场调查分析与发展战略研究报告
- 2026年广东省中考语文试卷(含详细答案解析)
- 共创健康无烟校园守护青春美好未来
- 颌下腺肿瘤诊疗专家共识(2026版)
- 2025年度中国展览数据统计报告
评论
0/150
提交评论