《数学实验1 MATLAB操作基础课件》由会员分享,可在线阅读,更多相关《数学实验1 MATLAB操作基础课件(26页珍藏版)》请在金锄头文库上搜索。
1、什么是数学实验?,简单讲就是利用计算机和数学软件平台,一方面,对学习知识过程中的某些问题进行实验探究、发现规律; 另一方面,结合已掌握的数学(微积分、代数与统计等)知识,去探究、解决一些简单实际问题,从而熟悉从数学建模、解法研究到实验分析的科学研究的方法。,教材及参考书,汪晓银等. 数学软件与数学实验. 科学出版社, 2010 薛定宇等,高等应用数学问题的MATLAB求解清华大学出版社,2008,实验一目的,熟悉matlab软件的运行环境以及操作步骤;熟悉MATLAB基本命令与操作;熟悉MATLAB的矩阵运算;了解MATLAB的多项式运算;学好这一专题就为后面的学习打下基础。,MATLAB简单
2、介绍,MATLAB是建立在向量、数组和矩阵基础上的一种分析和仿真工具软件包,包含各种能够进行常规运算的“工具箱”,如常用的矩阵代数运算、数组运算、方程求根、优化计算、统计、小波分析、神经网络以及函数求导积分符号运算等;同时还提供了编程计算的编程特性,通过编程可以解决一些复杂的工程问题;也可绘制二维、三维图形,输出结果可视化。目前,已成为工程领域中较常用的软件工具包之一。,第一章 MATLAB使用说明1.1 MATLAB窗口环境与命令形式,1.1.1 Matlab 的窗口环境,命令窗口,当前工作目录,当前工作空间,输入命令的历史记录,命令 提示符,运行MATLAB创建一个或多个窗口,a)命令区(
3、Command Window)是用户使用的主要场所,此时,可以输入变量、数组及运算命令,进行一些简单的运算;用键搜索、修改以前使用过的命令操作, 用clc清除窗口; 用help sqrt ( help input )寻求有关帮助; b)编辑区(EditorDebugger Window)编制各种M-文件,存盘(Save)、运行(Run)等.,例1-1 输入sqrt(5),例1-3 绘制正弦曲线和余弦曲线: x=0:pi/1800:2*pi; plot(x,sin(x),x,cos(x);,例1-2 求方程 x4+5x3 +11x2-20=0的全部根: p=1,5,11,0,-20; %建立多项
4、式系数向量 x=roots(p) %求根,1.1.2 MATLAB命令形式,在工作空间或MATLAB命令窗口中输入MATLAB认可的任何命令,按回车键都可执行其操作.,如“4+7”、“4-7”、“4*7”、“4/7”、 “45”,“sqrt(5)”等按回车键后可显示其结果.,1.变量与赋值,1.变量名区分字母大小写,如ltems, items, itEms及ITEMS都是不同的变量. 2.变量名必须以字母开头,之后可以是任意字母、数字或下划线,如ex12,ex_12. 标点符号在MATLAB中具有特殊含义,所以变量名中不允许使用标点符号. 除了这些命名规则,MATLAB还有几个特殊变量.,1.
5、2 基本数学运算,1.2.1 变量与数据操作,2).赋值语句,(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),2.特殊变量表,特殊变量取值 ans用于结果的缺省变量名 pi圆周率 eps计算机的最小数 Inf无穷大,如1/0 NaN不定量,如0/0 i(和)ji2=j2= -1,4. MATLAB常用数学函数,MATLAB 提供了许多数学函数,函数的自变量规定为矩阵变量,运算法则是将函数逐项作用于矩阵的元素
6、上,因而运算的结果是一个与自变量同维数的矩阵。,Matlab中常见数学函数,函数使用说明: (1) 三角函数以弧度为单位计算。 (2) abs 函数可以求实数的绝对值、复数的模、字符串的ASCII码值。 (3) 用于取整的函数有 fix、floor、ceil、round,要注意它们的区别。 (4) rem与 mod函数的区别。rem(x,y)和mod(x,y) 要求 x, y 必须为相同大小的实矩阵或为标量。,例1.2.2 随机抽取10 名学生的高等数学课程成绩,并统计他们中的最高分、最低分以及他们的平均成绩。,math=88,90,77,69,92,80,74,66,95,85; %产生10
7、维向量 mathaver=sum(math)/10 %计算平均成绩 h=max(math) %求出最高分 l=min(math) %求出最低分,1.2.2 MATLAB矩阵,1 矩阵的建立,1) 直接输入法 最简单的建立矩阵的方法是从键盘直接输入矩阵的元素。 具体方法如下:将矩阵的元素用方括号括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用空格或逗号分隔,不同行的元素之间用分号分隔。,2) 利用冒号表达式建立一个向量 冒号表达式可以产生一个行向量,一般格式是: e1:e2:e3 其中e1为初始值,e2为步长,e3为终止值。 在MATLAB中,还可以用linspace函数产生行向量。其调用
8、格式为: linspace(a,b,n) 其中a和b是生成向量的第一个和最后一个元素,n是元素总数。 显然,linspace(a,b,n) 与 a:(b-a)/(n-1):b等价。,2 矩阵的拆分,1) 矩阵元素 通过下标引用矩阵的元素,例 A(3,2)=200 采用矩阵元素的序号来引用矩阵元素。矩阵元素的序号就是相应元素在内存中的排列顺序。在 MATLAB 中,矩阵元素按列存储,先第一列,再第二列,依次类推。例如 A=1,2,3;4,5,6; A(3) ans = 2,显然,序号(Index)与下标(Subscript )是一一对应的,以mn矩阵A为例,矩阵元素A(i,j) 的序号为 (j-
9、1)*m+i。其相互转换关系也可利用sub2ind和ind2sub函数求得。,2. 矩阵拆分 A(:,j)表示取A矩阵的第j列全部元素;A(i,:)表示A矩阵第i行的全部元素;A(i,j)表示取A矩阵第i行、第j列的元素。 A(i:i+m,:)表示取A矩阵第ii+m行的全部元素;A(:,k:k+m)表示取A矩阵第kk+m列的全部元素,A(i:i+m,k:k+m)表示取A矩阵第 ii+m行内,并在第kk+m列中的所有元素。 此外,还可利用一般向量和end运算符来表示矩阵下标,从而获得子矩阵。end表示某一维的末尾元素下标。,3 特殊矩阵,1) 通用的特殊矩阵 常用的产生通用特殊矩阵的函数有: z
10、eros:产生全0矩阵(零矩阵)。 ones:产生全1矩阵(幺矩阵)。 eye:产生单位矩阵。 rand:产生01间均匀分布的随机矩阵。 randn:产生均值为 0,方差为 1的标准正态分布随机矩阵。,例1.2.5 分别建立33、32和与矩阵A同样大小的零矩阵。 (1) 建立一个33零矩阵:zeros(3) (2) 建立一个32零矩阵:zeros(3,2) (3) 设A为23矩阵,则可以用zeros(size(A)建立一个与矩阵A同样大小零矩阵。 A=1 2 3;4 5 6; %产生一个23阶矩阵A zeros(size(A) %产生一个与矩阵A同样大小的零矩阵,例1.2.6 建立随机矩阵:
11、(1) 在区间20,50内均匀分布的5阶随机矩阵。 (2) 均值为 0.6、方差为 0.1的5阶正态分布随机矩阵。 命令如下: x=20+(50-20)*rand(5) y=0.6+sqrt(0.1)*randn(5),1.关系运算符: = = = =,1.2.3 MATLAB运算,例1.2-10 产生5阶随机方阵 A,其元素为 10,90区间的随机整数,然后判断A的元素是否能被3整除。,生成5阶随机方阵A,输入命令: A=fix(90-10+1)*rand(5)+10),(2) 判断A的元素是否可以被3整除: P=rem(A,3)=0,3.逻辑运算符 :56,0,67,-45,0,(2) 找出大于4的元素的位置: find(A4),