版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Matlab与数学实验,大学数学实验作业题要求,实验目的,认识数学建模 熟悉matlab软件的运行环境以及操作步骤; 熟悉MATLAB基本命令与操作;,Matlab 简介,一个由来:Matrix Laboratory 矩阵实验室。(美国The MathWorks 公司),两个组成:MATLAB内核及辅助工具箱。,三个基本功能:数值计算、符号计算和图形可视化.,四个特点: 1.语言简洁,效率高。运算符和库函数极其丰富;,2.编程能力强。既有结构控制语句,又面向对象;,3.图形功能强大。绘制,修改,图像处理 ,可视化;,4.功能强大且易于扩充的工具箱。功能性工具箱和学 科性工具箱。,1.1 MAT
2、LAB窗口环境,命令窗口 命令输入,显示结果,当前目录窗口 显示设置当前工作目录下的文件,工作空间窗口 储存变量与结果,命令历史窗口 记录运行过的命令,命令提示符 命令输入行,(1) 变量与赋值,1.变量名区分字母大小写,如ltems, items, itEms及ITEMS都是不同的变量,长度不超过63个. 2.变量名必须以字母开头,之后可以是任意字母、数字或下划线,如ex12,ex_12. 标点符号在MATLAB中具有特殊含义,所以变量名中不允许使用标点符号. MATLAB语言将所识别的一切变量视为局部变量 ,若要将变量定义为全局变量,则应当对变量进行说明,即在该变量前加关键字global.
3、,1.2 基本数学运算,1.2.1 变量与数据操作,(2)特殊变量表,(3)赋值语句,1.变量=表达式 2.表达式,例1.2-1 计算表达式的值,并显示计算结果。在MATLAB命令窗口输入命令:,x=1+3i; y=3-sqrt(2); z=(cos(abs(x+y)-sin(60*pi/180)/(x+abs(y),注1:在运算式中,MATLAB通常不需要考虑空格; 注2:多条命令可以放在一行中,它们之间需要用符号隔开:逗号告诉MATLAB显示结果,而分号则禁止结果显示。 注3:复数可以表示为:a=10-9i,复数运算不需要特殊处理,可以直接进行。 注4:从工作空间窗口可以进入变量编辑器,从
4、而对变量进行修改。 注5:利用 MAT文件可以把当前MATLAB工作空间中的一些有用变量长久地保留下来,扩展名是 .mat。 MAT文件的生成和装入由save和load命令来完成。,(4) MATLAB常用数学函数,MATLAB 提供了许多数学函数,函数的自变量规定为矩阵变量,运算法则是将函数逐项作用于矩阵的元素上,因而运算的结果是一个与自变量同维数的矩阵。,Matlab中常见数学函数,1基本数学函数: abs(x):求绝对值 sqrt(x):开平方 real(z):复数z的实部 imag(z):复数z的虚部 round(x):四舍五入至最近整数 fix(x):无论正负,舍去小数至最近整数 r
5、ats(x):将实数x化为分数表示 rem(x,y):求x除以y的余数 gcd(x,y):整数x和y的最大公因数 lcm(x,y):整数x和y的最小公倍数 exp(x):自然指数 log(x):以e为底的对数,即自然对数 log2(x):以2为底的对数 log10(x):以10为底的对数 sign(x):符号函数 (Signum function).,2三角函数: sin(x):正弦函数 cos(x):余弦函数 tan(x):正切函数 cot(x ):余切函数 asin(x):反正弦函数 acos(x):反余弦函数 atan(x):反正切函数 acot(x):反余切函数,矩阵,数学上,一个mn
6、的矩阵是一个由m行n列元素排列成的矩形阵列。矩阵里的元素可以是数字、符号或数学式。以下是一个由6个数字符素构成的2行3列的矩阵:,将一些元素排列成若干行,每行放上相同数量的元素,就是一个矩阵。横向的元素组称为“行”,纵向称为“列”。,1.2.2 MATLAB矩阵,1. 矩阵的建立,(1)直接输入法, A=1 2 3;4 5 6;7 8 9 A= 1 2 3 4 5 6 7 8 9,注1:输入矩阵时要以“ ”为其标识符号,所有元素必须都在括号内; 注2: 矩阵同行元素之间由空格或逗号分隔,行与行之间用分号或回车键分隔; 注3:矩阵大小不需要预先定义; 注4:矩阵元素可以是运算表达式或小矩阵; 注
7、5:若“ ”中无元素表示空矩阵.,多个元素的操作:冒号的特殊用法,例: x=3:2:1,(2)利用冒号和函数, x=1:0.5:4 % 格式是 初始值a:步长b:终止值c x= Columns through 7 1 1.5 2 2.5 3 3.5 4,函数linspace(a,b,n)产生第一个元素为a,最后一个元素为b总数为n的行向量.,练习:生成一个在2到18之间的等差为2的数列。,命令 X=a:b:c,2. 矩阵的截取,(1) 矩阵单个元素引用, A(2,3) %下标引用 ans = 6 A(6) ans = 8,矩阵元素的引用,多个元素的引用:冒号的特殊用法,例: x=3:2:1,L
8、xy, China Jiliang Universty,矩阵多个元素的引用,例: x(1:3),矩阵元素的引用, A(3,1:3),A(i:j, m:n) 表示由矩阵 A 的第 i 到第 j 行和第 m 到第 n 列交叉线上的元素组成的子矩阵。,可利用冒号提取矩阵 的整行或整列。,例: A(1, :), A(:, 1:2), A(:, :),Lxy, China Jiliang Universty,矩阵操作,3适用于向量(1 n)矩阵的常用函数: min(x): 向量x的元素的最小值 max(x): 向量x的元素的最大值 mean(x): 向量x的元素的平均值 median(x): 向量x的元
9、素的中位数 std(x): 向量x的元素的标准差 diff(x): 向量x的相邻元素的差 sort(x): 对向量x的元素进行排序 find(x):寻找 向量x的非零元素的序号 length(x): 向量x的元素个数 norm(x): 向量x的欧氏长度 sum(x): 向量x的元素总和 prod(x): 向量x的元素总乘积 cumsum(x): 向量x的累计元素总和 cumprod(x): 向量x的累计元素总乘积 dot(x, y): 向量x和y的内积,例1.2.2 随机抽取10 名学生的高等数学课程成绩,并统计他们中的最高分、最低分以及他们的平均成绩。,math=88,90,77,69,92
10、,80,74,66,95,85; %产生10维向量 mathaver=sum(math)/10 %计算平均成绩 h=max(math) %求出最高分 l=min(math) %求出最低分,练习:1.将上述成绩排序,并最出中位数 2.将向量代入前面的向量函数中运行, 观察结果,(2)利用冒号和函数, a=1:0.5:4 % 格式是 初始值:步长:终止值 a= Columns through 7 1 1.5 2 2.5 3 3.5 4,函数linspace(a,b,n)产生第一个元素为a,最后一个元素为b总数为n的行向量.,(3)矩阵合并, B=1 1 1 B = 1 1 1, C=A;B C =
11、 1 2 3 4 5 6 7 8 9 1 1 1, D=A,B D = 1 2 3 1 4 5 6 1 7 8 9 1,(2) 使用冒号 可以用冒号表示“直到”以及“所有行”,“所有列”,还可利用一般向量和end运算符来表示矩阵下标,从而获得子矩阵。end表示某一维的末尾元素下标。, B=A (1:2, : ) B= 1 2 3 4 5 6, C=A(1,3,2:end) C = 2 3 8 9,(3) 外部文件读入,File-Import Data ;m文件;load函数,3 特殊矩阵,例1.2.5 分别建立33、32的零矩阵。 命令:zeros(3),zeros(3,2),例1.2.6 建
12、立随机矩阵: 在区间20,50内均匀分布的5阶随机矩阵。 命令: x=20+(50-20)*rand(5),Lxy, China Jiliang Universty,矩阵操作,查看矩阵的大小:size,size(A) 列出矩阵 A 的行数和列数,size(A,1) 返回矩阵 A 的行数,size(A,2) 返回矩阵 A 的列数,2.3 MATLAB运算,1. 基本算术运算 MATLAB的基本算术运算有: (加)、(减)、*(乘)、/(右除)、(左除)、(乘方)。 注意,运算是在矩阵意义下进行的,单个数据的算术运算只是一种特例。, B=10+A B = 11 12 13 14 15 16 17
13、18 19,2. 点运算 在MATLAB中,有一种特殊的运算,因为其运算符是在有关算术运算符前面加点,所以叫点运算。 点运算符有: 点乘: .* 点除: ./ . 点幂: . 两矩阵进行点运算是指它们 的对应元素进行相关运算, 要求两矩阵的维数相同。, A.2 ans = 1 4 9 16 25 36 49 64 81,3.运算符:,例1.2-10 产生5个数,要求它们是 (10,90)区间的随机整数,然后判断这些数是否能被3整除。,生成5阶随机方阵A,输入命令: A=fix(80*rand(1,5)+10),(2) 判断A的元素是否可以被3整除: P=rem(A,3),其中,rem(A,3)
14、是矩阵A的每个元素除以3的余数矩阵。,例1.2-10 产生5个数,要求它们是 (10,90)区间的随机整数,然后判断这些数是否能被3整除。,生成5阶随机方阵A,输入命令: A=fix(80*rand(1,5)+10),(2) 判断A的元素是否可以被3整除: P=rem(A,3)=0,其中,rem(A,3)是矩阵A的每个元素除以3的余数矩阵。此时,0被扩展为与A同维数的零矩阵,P是进行等于(=)比较的结果矩阵。,例1.2-10 产生5阶随机方阵 A,其元素为 10,90区间的随机整数,然后判断A的元素是否能被3整除。,生成5阶随机方阵A,输入命令: A=fix(90-10+1)*rand(5)+
15、10),(2) 判断A的元素是否可以被3整除: P=rem(A,3)=0,其中,rem(A,3)是矩阵A的每个元素除以3的余数矩阵。此时,0被扩展为与A同维数的零矩阵,P是进行等于(=)比较的结果矩阵。,例1.2-11 建立矩阵A,然后找出大于4的元素的位置。 建立矩阵A,输入命令: A=4,-65,-54,0,6;56,0,67,-45,0,(2) 找出大于4的元素的位置: find(A4) %返回索引值,上机练习: 1.运行P19页 例13-17 2.随机生成-1到1之间的6个数,求出它的平均值,最大值; 3.随机生成元素在0到1之间的一个4 4矩阵,并且分别提取显示它的: 第3行元素;
16、第2列元素; 第3行第3个元素与第4个元素;,矩阵基本运算,矩阵的加减:对应分量进行运算,要求参与加减运算的矩阵具有 相同的维数,矩阵的普通乘法,要求参与运算的矩阵满足线性代数中矩阵相乘的原则,Lxy, China Jiliang Universty,矩阵基本运算,矩阵的除法:/、 右除和左除,若 A 可逆方阵,则,AB A 的逆左乘 B inv(A)*B,B/A A 的逆右乘 B B*inv(A),矩阵函数,MATLAB提供了许多矩阵函数. 正是因为拥有了为数众多的、完善的矩阵函数,才使得MATLAB具有了强大的功能。,det 计算矩阵的行列式的值 inv 求矩阵的逆阵 rank 求矩阵的秩
17、 rref 用初等变换将矩阵化成行阶梯形 null(A,r) 给出齐次线性方程组Ax=0 的基础解系 fliplr 矩阵左右翻转 flipud 矩阵上下翻转 diag 取得矩阵对角线元素,下面是几个常用的矩阵函数:,在命令窗口运行帮助命令 :help elmat ,可以列举出大量的矩阵函数.,3.2 矩阵函数的应用,例31 设矩阵,解: A=3 -4 0; -1 5 2; 4 1 -6 rank (A) %求矩阵的秩 inv (A) %求逆矩阵,求A的秩和逆矩阵。,3.3 解线性方程组,求线性方程组Ax=B的解,其中:,解法1 利用矩阵除法: X=AB,解法2 利用求逆矩阵函数 inv:X1=
18、inv(A)*B,比较:解法1比解法2更简便, 解法1 的算法优于解法2 , 解法1可用于一般矩阵,而解法2只能用于非奇异的方阵 因此,只需运用解法1 .,例32,3.3.1 求线性方程组的唯一解,3.3.2 求线性方程组的通解,求线性方程组Ax=B的通解。,例33 设,在命令窗口输入以下命令: (注意:这里给出的 A不 是方阵) A=1 1 -1 -1;2 -5 3 2;7 -7 3 1; B=5; -4; 7; format ratx1=AB %求得非齐次方程组Ax=B的一个特解x1Y=null(A,r) %求得齐次方程组Ax=0 的基础解系Y,则方程组Ax=B的通解为: x=x1+k1*
19、Y(:,1)+k2*Y(:,2),x1 = 3 2 0 0,Y = 2/7 3/7 5/7 4/7 1 0 0 1,输出结果:,解法1: 利用除法 和 null 函数,在命令窗口输入以下命令:,format ratA=1 1 -1 -1;2 -5 3 2;7 -7 3 1; B=5; -4; 7;%用初等行变换将增广矩阵 A B 化成最简行阶梯形T T=rref(A B),于是可得方程组Ax=B的通解为:,解法2:利用 rref 函数,T = 1 0 -2/7 -3/7 3 0 1 -5/7 -4/7 2 0 0 0 0 0,输出结果:,小 结,1. 矩阵函数 利用矩阵函数求矩阵的行列式、秩和
20、逆 求方程组的唯一解 4. 求方程组的通解,2.4 矩阵分析,2.4.1 对角阵与三角阵,1. 对角阵 只有对角线上有非 0 元素的矩阵称为对角矩阵,对角线上的元素相等的对角矩阵称为数量矩阵,对角线上的元素都为 1 的对角矩阵称为单位矩阵。,V=123V=123diag(V,3)ans=000100000020000003000000000000000000,B=123;456B=123456,diag(B)ans=15,diag(B,2)ans=3,diag(B,1)ans=26,提取矩阵的对角线元素 命令:diag(A),diag(A,k) 构造对角阵V为向量 命令:diag(V),dia
21、g(V,k),, diag(1:3)*A %将A的每一行增大行数倍数 ans = 1 2 3 8 10 12 21 24 27,2. 三角阵 三角阵又进一步分为上三角阵和下三角阵,所谓上三角阵,即矩阵的对角线以下的元素全为 0 的一种矩阵,而下三角阵则是对角线以上的元素全为0的一种矩阵。,triu(A) :求A上三角阵 triu(A,k):求矩阵A的第k条对角线以上的元素 tril(A):求A下三角阵 tril(A,k):求矩阵A的第k条对角线以下的元素,a 求矩阵a的转置 det(a) 求矩阵a的行列式 b=eig(a) 求矩阵a的特征值,构成向量b v,d=eig(a) a的特征值构成对角
22、阵d,特征向量构成v的列向量 inv(a)或a (-1) 求矩阵a的逆矩阵 rank(a) 求矩阵a的秩 trace(a) 求矩阵a的迹(对角线元素之和) rref(a) 求矩阵a的行最简形 null(A,r) 求系数矩阵为A的齐次方程的基础解系 pinv(A)*b 求非齐次方程的特解 rot90(A,k) 将矩阵A旋转90的k倍 fliplr(A) 将A左右翻转 flipud(A) 将A上下翻转,3.其它命令,例2.3-4 用求逆矩阵的方法解线性方程组。 Ax=b 其解为: x=A-1b 命令为: a=2,-3,1;8,3,2;45,1,-9; b=4;2;17; x=inv(a)*b,例2
23、.3-5 用求特征值的方法解方程: 3x5-7x4+5x2+2x-18=0 p=3,-7,0,5,2,-18; A=compan(p); %友矩阵A x1=eig(A) %求A的特征值 x2=roots(p) %直接求多项式p的零点,2.5 字符串,在MATLAB中,字符串是用单撇号()括起来的字符序列。 MATLAB 将字符串当作一个行向量,每个元素对应一个字符,其标识方法和数值向量相同。也可以建立多行字符串矩阵。,字符串是以ASCII码形式存储的。abs和double函数都可以用来获取字符串矩阵所对应的ASCII码数值矩阵。 相反,char函数可以把ASCII码矩阵转换为字符串矩阵。,例2.3-6 建立一个字符串向量,然后对该向量做如下处理: (1) 取
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 设施农业环境调控工程师岗位招聘考试试卷及答案
- 滨州考研住宿基地协议书房
- sip是传输控制协议书
- 房建装饰施工工艺流程
- 刚结婚就离婚的协议书格式
- 冷冻站水电安装合同协议书
- 自助加水项目合作协议书
- 简单的员工离职协议书
- 基础设施特许合同
- 烟气处理中介销售协议书
- 西藏自治区日喀则市2026届高三第二次模拟考试语文试卷含解析
- 2026年酒店住宿O2O线上线下融合的预订与入住体验
- 辽宁省能源集团招聘笔试题库2026
- 管道拆除安全措施方案
- 成人2型糖尿病口服降糖药联合治疗专家共识(2025版)课件
- 英语北京市昌平区2026年高三年级第一次统一练习(昌平高三一模)(4.7-4.10)
- 2026成都市八年级语文下册部编版期末考试卷含答案
- 便利店工作制度详细流程
- 村干部工作考勤制度
- 2025山东威海乳山市人民医院公开招聘急需紧缺专业人才10人笔试历年典型考题及考点剖析附带答案详解试卷2套
- 建设养牛场合同协议书
评论
0/150
提交评论