书签 分享 收藏 举报 版权申诉 / 626
上传文档赚钱

类型《matlab与数值分析课》全册配套课件3.ppt

  • 上传人(卖家):罗嗣辉
  • 文档编号:2038252
  • 上传时间:2022-01-17
  • 格式:PPT
  • 页数:626
  • 大小:6.40MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《《matlab与数值分析课》全册配套课件3.ppt》由用户(罗嗣辉)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    matlab与数值分析课 matlab 数值 分析 配套 课件
    资源描述:

    1、matlab与数值分析课全册与数值分析课全册配套课件配套课件3MatlabMatlab与与数值分析数值分析几点要求:n记好课堂笔记记好课堂笔记n保证课堂纪律保证课堂纪律n及时完成作业和实验及时完成作业和实验n按时上课,不迟到早退按时上课,不迟到早退1.MATLAB软件平台及编程软件平台及编程第一章第一章 matlab概论概论 (2学时)学时)nMATLAB软件平台简介软件平台简介nMATLAB的基本操作的基本操作要求:要求: 熟悉和了解熟悉和了解MATLAB软件平台,掌握软件平台,掌握MATLAB基本操作。基本操作。1.MATLAB软件平台及编程软件平台及编程 第二章第二章 matlab基本知

    2、识基本知识 (4学时)学时) (2.1-2.3)nMATLAB的数组与矩阵的数组与矩阵n符号矩阵与符号运算符号矩阵与符号运算n多项式及其运算多项式及其运算1.MATLAB软件平台及编程软件平台及编程 第二章第二章 matlab编程编程 (续续) (2学时)学时) (2.4)nM文件及函数编写文件及函数编写n程序结构程序结构n程序终止、异常处理和调试程序终止、异常处理和调试1.MATLAB软件平台及编程软件平台及编程 第三章第三章 MATLAB数据的图形表示数据的图形表示 (2学时)学时) (3.1-3.2)nMATLAB二维绘图二维绘图 基本二维绘图;特殊的二维绘图函数;填充多边形。基本二维绘

    3、图;特殊的二维绘图函数;填充多边形。nMATLAB三维绘图三维绘图 三维图形的基本函数;绘制三维折线及曲线;绘制三维图形的基本函数;绘制三维折线及曲线;绘制三维网格曲面。三维网格曲面。1.MATLAB软件平台及编程软件平台及编程补充补充: Simulink建模与仿真建模与仿真 (4学时)学时)nSimulink的基本操作与模型窗口的基本操作与模型窗口n模型创建与系统仿真模型创建与系统仿真n子系统创建与封装子系统创建与封装n运行运行Simulink模型模型2.数值分析基础理论与算法数值分析基础理论与算法第四章第四章 数值计算的基本概念数值计算的基本概念 (3学时)学时)n误差与有效数字误差与有效

    4、数字n计算机计算的几个问题计算机计算的几个问题n算法的稳定性问题算法的稳定性问题n算法设计原则算法设计原则 2.数值分析基础理论与算法数值分析基础理论与算法第五章第五章 线性方程组的数值方法(线性方程组的数值方法(6学时)学时) ( 教材第八、第九章)教材第八、第九章)n高斯消元法高斯消元法n矩阵分解矩阵分解n向量范数与矩阵范数向量范数与矩阵范数nJacobi迭代法迭代法n方程组的病态问题与误差分析方程组的病态问题与误差分析n方阵的特征值和特征向量的计算方阵的特征值和特征向量的计算2.数值分析基础理论与算法数值分析基础理论与算法第六章第六章 函数的数值逼近函数的数值逼近 (5学时)学时) (

    5、教材第教材第4章)章)n代数多项式插值问题代数多项式插值问题n线性插值线性插值n三次样条插值三次样条插值n曲线拟合的最小二乘法曲线拟合的最小二乘法第七章第七章 数值积分数值积分 (4学时)学时)n插值型求积公式插值型求积公式n复化求积公式复化求积公式n高斯求积公式高斯求积公式2.数值分析基础理论与算法数值分析基础理论与算法第八章第八章 常微分方程初值问题常微分方程初值问题 (4学时)学时) (教材第六章)(教材第六章)n欧拉方法欧拉方法n稳定性与收敛性分析稳定性与收敛性分析n龙格龙格-库塔法库塔法2.数值分析基础理论与算法数值分析基础理论与算法第九章第九章 非线性方程求解非线性方程求解 (3学

    6、时)学时) (教材第七章)(教材第七章)n非线性方程的求解方法非线性方程的求解方法n求解非线性方程数值解的求解非线性方程数值解的MATLAB编程编程实现实现2.数值分析基础理论与算法数值分析基础理论与算法课程安排课程总结课程总结 (1学时)学时)上机实验上机实验 (16学时)学时)课程设计n基本要求:基本要求: 针对MATLAB编程、Simulink建模与仿真和数值分析的基本理论应用与仿真等相关内容进行课外的课题设计、实现和总结报告,提高学生对实际问题的分析能力、实现能力和文档编写能力。n命题形式:命题形式: 任课教师命题 学生自主命题课程考核方式:n平时成绩平时成绩+上机实验上机实验+课程设

    7、计课程设计+课课程考试(开卷)程考试(开卷) 平时成绩平时成绩+上机实验上机实验 30%课程设计课程设计 20%课程考试课程考试 50%教材和参考书教材和参考书教材:教材:nMATLAB数值计算方法数值计算方法,张德丰等编著,机械,张德丰等编著,机械工业出版社,工业出版社,2010。 参考资料:参考资料:n数值计算引论数值计算引论,白峰杉,高等教育出版社,白峰杉,高等教育出版社,2004。n科学计算引论科学计算引论基于基于MATLAB的数值分析的数值分析,Shoichiro Nakamura,电子工业出版社,电子工业出版社,2002。n数值分析基础教程数值分析基础教程,李庆杨,高等教育出版社,

    8、李庆杨,高等教育出版社,2001。联系方式nEmail: nCall: 61830486nAddress: 科研楼B505房n数值分析有什么用?数值分析有什么用? 研究工作需要什么研究工作需要什么?n研究活动的大致过程题题 目目问题问题解决问题思路解决问题思路具体工作具体工作实验实验理论分析理论分析研究工作需要什么研究工作需要什么?模型模型分析分析结论结论分分 析析 工工 作作仿真实验仿真实验理论分析理论分析。数值计算数值计算数值数值分析分析输入复杂问题或运算输入复杂问题或运算.),(,)(,ln,xfdxddxxfbxAxaxbax 计算机计算机近似解近似解数值计算中的问题数值计算中的问题?

    9、例:n地球的表面积有多大?地球的表面积有多大?n数学工具数学工具Ads24Arn数值分析讲述的基本内容数值分析讲述的基本内容n如何把数学模型归结为数值问题如何把数学模型归结为数值问题n如何估计一个给定算法的精度如何估计一个给定算法的精度n分析误差在计算过程中的积累和传播分析误差在计算过程中的积累和传播n如何构造精度更高的算法如何构造精度更高的算法n如何使算法较少的占用存储量如何使算法较少的占用存储量n如何分析算法的优缺点如何分析算法的优缺点例:例:蝴蝶效应蝴蝶效应 纽约的一只蝴蝶翅膀一拍,风和日丽的北京纽约的一只蝴蝶翅膀一拍,风和日丽的北京就刮起大风来了?!就刮起大风来了?!NYBJ病态问题病

    10、态问题 /* ill-posed problem*/例:线性方程组求解731999. 2yxyx17993,6000yx731001.3yxyx18007,6000yx 则得不到解7313yxyx3x+y73x+y13.001x+y12.999x+y1yxo线性方程组系数对解的敏感线性方程组系数对解的敏感MATLABMATLAB工具软件工具软件科学家和工程技术人员需要的研究工具科学家和工程技术人员需要的研究工具 一种演算纸式的科学工程计算语言一种演算纸式的科学工程计算语言 MATLAB 1核心部分:几百个核心内部函数。 2大量可选的工具箱。MATLABMATLAB的两个主要部分的两个主要部分M

    11、ATLAB的基本组成nMATLAB主程序MATLAB语言、工作环境、句柄图形、数学函数库和应用程序接口nMATLAB的功能性工具箱 如: Simulink:动态系统仿真 nMATLAB的学科性工具箱 如:signal processing toolbox 信号处理工具箱 例:用一个简单命令求解线性系统 3x1+ x2 - x3 = 3.6 x1+2x2+4x3 = 2.1 -x1+4x2+5x3 = -1.4线性系统求解:(Ax=b)线性系统求解:(Ax=b)输入指令:A=3 1 -1;1 2 4;-1 4 5;b=3.6;2.1;-1.4;x=Ab得到结果:x = 1.4818 -0.460

    12、6 0.38480123456- 1- 0 .8- 0 .6- 0 .4- 0 .200 .20 .40 .60 .81x=linspace(0,6)y1=sin(2*x),y2=sin(x.2),y3=(sin(x).2;plot(x,y1,x, y2,x, y3)例、用简短命令计算并绘制在0 x6范围内的sin(2x)、sinx2、sin2x。常用专业性工具箱:nControl System 最基本的控制工具箱nSignal Processing 信号处理工具箱nImage Processing 图像处理工具箱nCommunication 通讯工具箱nHigher-Order Spectr

    13、al Analysis 高阶谱分析nSpline 样条分析工具箱nStatistics 统计分析工具箱nMATLAB的部分通用命令的部分通用命令clear : 删除内存中的变量。删除内存中的变量。clc: 删除工作窗口的内容。删除工作窗口的内容。clf: 删除图形窗口的内容。删除图形窗口的内容。M Matlabatlab联机帮助命令联机帮助命令 help 功能提供功能提供matlab大部分主题的大部分主题的在线帮助信息在线帮助信息help 显示显示help 主题一览表主题一览表help plotxyz 显示有关三维做图指令帮显示有关三维做图指令帮助信息助信息虽然虽然help可以随时提供帮助,但

    14、必须知可以随时提供帮助,但必须知道准确的函数名称。当不能确定函数名道准确的函数名称。当不能确定函数名称时,称时,help就无能为力了就无能为力了。 Lookfor函数函数 它可提供通过一般的关它可提供通过一般的关键词,搜索出一组与之相关的命令键词,搜索出一组与之相关的命令lookfor fourier 寻找含有傅立叶变换的寻找含有傅立叶变换的相关指令相关指令变量查询函数变量查询函数who与与whos 作用都是列出在作用都是列出在matlab工作空工作空间中已经驻留的变量名清单间中已经驻留的变量名清单 不同的是不同的是whos在给出驻留变量在给出驻留变量的同时,还给出他们的维数及性的同时,还给出

    15、他们的维数及性质质Matlab的演示功能的演示功能demo 在线演示在线演示MATLAB的数值运算n数据类型 数据运算:双精度型(Double)n支持的数据类型: 数值型、字符型、单元型和结构型 复数的表示:n i,j表示虚数单位 z=a+b*i 或 z=a+b*j 当b是一个数字时,可以表示为 z=a+bi 或 z=a+bjMATLAB的矩阵和数组运算matlab 具有出色的矩阵运算能力,占据世界上数值计算软件的重要地位矩阵的创建:1.创建矩阵的方法创建矩阵的方法n直接输入法规则: 矩阵元素必须用 括住 矩阵元素必须用逗号或空格分隔 在 内矩阵的行与行之间必须 用分号分隔 矩阵元素可以是任何

    16、matlab表达式 ,可以是实数 ,也可以是复数,复数可用特殊函数I,j 输入 a=1 2 3;4 5 6 x=2 pi/2;sqrt(3) 3+5i 矩阵元素:n注意:只要是赋过值的变量,不管是否在屏幕上显示过,都存储在工作空间中,以后可随时显示或调用。变量名尽可能不要重复,否则会覆盖2.用matlab函数创建矩阵n空阵 matlab允许输入空阵,当一项操作无结果时,返回空阵。nrand 随机矩阵neye 单位矩阵nzeros 全部元素都为0的矩阵nones 全部元素都为1的矩阵向量的生成:n利用冒号生成向量x=i:j 如果IJ,生成X空向量x=i:j:k j是递增步长矩阵的标识和引用n矩阵

    17、的子矩阵通过向量、标量的标识来引用和赋值。 1.向量标识 A(u, v) 2. “01”向量标识 A(L)例:n找出4阶魔方阵中大于10的元素。 A = 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1规则:规则:n所有字符串都用单引号括起来;所有字符串都用单引号括起来;n字符串中的每个字符都是字符串变量中字符串中的每个字符都是字符串变量中的一个元素;的一个元素;n字符串中的字符以字符串中的字符以ASCIIASCII码形式存储并码形式存储并区分大小区分大小字符串数组字符串数组n字符串数组的建立。字符串数组的建立。 例:例: a=This is a test. A=中

    18、国中国 成都成都 B=China 中國中國 字符串数组的建立字符串数组的建立n有效字符串连成长字符串有效字符串连成长字符串n多行字符串数组的直接创建多行字符串数组的直接创建n利用字符串操作函数创建字符串数组利用字符串操作函数创建字符串数组n利用转换函数建立字符串数组利用转换函数建立字符串数组n字符串数组的元素标识字符串数组的元素标识符号的作用: “ ,” 逗号的作用 逗号可作为指令间的分隔符,matlab允许多条语句在同一行出现。 n把matlab工作空间中一些有用的数据长久保存下来的方法是生成mat数据文件。 save 将工作空间中所有的变量存到matlab.mat文件中。数据的保存与获取默

    19、认文件名save filename将工作空间中所有的变量存到filename.mat文件中。save filename a b 将工作空间中a和b变量存到filename.mat文件中。load load filename load filename a b mat文件是标准的二进制文件,还可以ASCII码形式保存。即可恢复保存过的所有变量1.矩阵加、减(,)运算规则: 相加、减的两矩阵必须有相同的行和列两矩阵对应元素相加减。 允许参与运算的两矩阵之一是标量。标量与矩阵的所有元素分别进行加减操作。第二章 矩阵运算及应用矩阵运算及应用2. 矩阵乘()运算规则:nA矩阵的列数必须等于B矩阵的行数n

    20、标量可与任何矩阵相乘。a=1 2 3;4 5 6;7 8 0;b=1;2;3;c=a*bc =14 32 23 矩阵除的运算在线性代数中没有,有矩阵逆的运算,在matlab中有两种矩阵除运算。 矩阵左除:AB 定义为:X=AB AX=B 矩阵右除:B/A 定义为:X=B/A XA=B (B/A)=(AB) a p a 自乘p次幂 方阵方阵整数整数3. 矩阵乘方当p为正整数时,表示方阵自乘p次;当p为负整数时,表示方阵自乘p次后的逆;当p为零时,为方阵同维的单位阵。 a=1,2,3;4,5,6;7,8,9;a2 ans =30 36 42 66 81 96 102 126 150ninv 矩阵求

    21、逆ndet 行列式的值neig 矩阵的特征值ndiag 对角矩阵 n 矩阵转置nsqrt 矩阵开方4. 矩阵的其它运算 数组运算指元素对元素的算术运算,与通常意义上的由符号表示的线性代数矩阵运算不同1. 数组加减(.+,.-) a.+b a.- b数组运算数组运算 对应元素相加减(与矩阵加对应元素相加减(与矩阵加减等效)减等效)2. 数组乘除(,./,.)ab a,b两数组必须有相同的行 和列两数组相应元素相乘。a=1 2 3;4 5 6;7 8 9;b=2 4 6;1 3 5;7 9 10;a.*bans = 2 8 18 4 15 30 49 72 90 a=1 2 3;4 5 6;7 8

    22、 9;b=2 4 6;1 3 5;7 9 10;a*bans = 25 37 46 55 85 109 85 133 172 a./b=b.aa.b=b./aa./b=b.a 都是都是a的元素被的元素被b的对应元的对应元 素除素除a.b=b./a 都是都是b的元素被的元素被a的对应元的对应元 素除素除例例: a=1 2 3;b=4 5 6; c1=a.b; c2=b./ac1 = 4.0000 2.5000 2.0000c2 = 4.0000 2.5000 2.0000 给出a,b对应元素间的商.例例:a=1 2 3;b=4 5 6;z=a.2z = 1.00 4.00 9.00z=a.bz

    23、= 1.00 32.00 729.003. 数组乘方数组乘方(.) 元素对元素的幂元素对元素的幂关系操作和逻辑操作关系操作和逻辑操作n关系操作符:关系操作符:n、=、 = =(等于等于)、 =(不等于不等于)n关系运算规则:关系运算规则:n两个变量都是标量,则结果为真两个变量都是标量,则结果为真(1)或假或假(0)。n两个变量都是数组,则必须大小相同,结果也两个变量都是数组,则必须大小相同,结果也是同样大小的数组,数组的元素为是同样大小的数组,数组的元素为0或或1。关系操作关系操作n一个数组和一个标量,则把数组的每个元一个数组和一个标量,则把数组的每个元素分别与标量比较,结果为与数组大小相素分

    24、别与标量比较,结果为与数组大小相同的数组,数组的元素为同的数组,数组的元素为0或或1。n、=,仅对参加比较变量,仅对参加比较变量的实部进行比较,的实部进行比较,n= = 和和 = ,则同时对实部和虚部进,则同时对实部和虚部进行比较。行比较。逻辑操作逻辑操作n逻辑操作符:n&(与)、|(或)、(非)和xor(异或)。a ba & ba | baxor(a,b)000010010111100101111100运算符优先级运算符优先级n(矩阵转置矩阵转置)、(矩阵幂矩阵幂)和和.(数组转数组转置置)、.(数组幂数组幂)n (逻辑非逻辑非) n *(乘乘)、/(左除左除)、(右除右除)和和.*(点乘点

    25、乘)、./(点点左除左除)、.(点右除点右除) n+、-(加减加减)n: (冒号冒号) n、=、= n&(逻辑与逻辑与) 多项式的表示和创建 在Matlab中,任意的多项式都是用一个行向量表示,将多项式的系数按降幂排列存放在行向量中。多项式p(x)=a0 xn+a1xn-1+an-1x+an对应的行向量为:P=a0 a1 an。1.直接创建多项式例:lp(x)=2x4+5x3-8x+32 5 0 -8 3通过根创建多项式polyn其调用格式如下:lP=poly(A)n如A为向量,则P是多项式的系数行向量,该多项式的根A。n注意:n如A为nn的矩阵,则P是一个长度为n+1的行向量,它是A的特征多

    26、项式的系数;例:A=6 -8 6;1 0 0;0 2 0;p=poly(A),roots(p),D=eig(A)求根:nroots 调用方式: roots(A)注意:n求根的精度问题: 例:y=(x-1)6 =x6-x5+15x4-20 x3+15x2-6x+1na=1 -6 15 -20 15 -6 1na =n 1 -6 15 -20 15 -6 1n roots(a)nans =n 1.0042 + 0.0025in 1.0042 - 0.0025in 1.0000 + 0.0049in 1.0000 - 0.0049in 0.9958 + 0.0024in 0.9958 - 0.002

    27、4i多项式的基本运算1.多项式的乘法convn多项式的乘法本质上是多项式系数向量的卷积运算。n卷积的定义为 K c(k)= a(i)b(k+1-i) i=1 n在Matlab,完成此功能的命令是conv:lC= conv(a,b)。例:求a=x3+3x2+2x1+1和b=4x3+3x2+9x1+10的乘积。a=1 3 2 1;b=4 3 9 10;c=conv(a,b)2.多项式的除法dconvn多项式的除法的运算实质就是多项式系数的解卷积运算。向量a对向量c进行解卷积得到的商向量q和余向量r,满足: knc(k)-r(k)= a(i)q(k+1-i) i=1n在Matlab,完成此功能的命令

    28、是dconv:lq,r= dconv(c,a)其中: c=conv(a,q)+r例:a=1 3 2 1;c=4 15 26 47 51 29 10;q,r=deconv(c,a)3.多项式的加减n对多项式所对应的向量利用数组加减运算规则执行加减运算。注:多项式所对应的向量如果大小不相等,必须用0补齐。例:求a=x3+3x2+2x1+1和b=4x3+3x2+9x1+10的和与差。a=1 3 2 1;b=4 3 9 10;c=a+b,c1=a-b,4.多项式的求导polyder 不仅可以计算单个多项式的导数,还可以计算两个多项式相乘和相除的导数。其调用方式如下:lpolyder(p):返回多项式系

    29、数向量p的导数;lpolyder(a,b):返回多项式a*b的导数;lq,d=polyder(b,a):返回b/a的导数,用q/d表示。其中q是结果的分子多项式,d是结果的分母多项式。例:求a=x3+3x2+2x1+1和b=4x3+3x2+9x1+10的乘和商的导数。a=1 3 2 1;b=4 3 9 10;polyder(a,b)q,d=polyder(b,a)5.多项式的求值polyvaln在Matlab中,多项式求值有两种方式:按数组规则和按矩阵规则计算多项式值。ny=polyval(p,x):按数组规则运算。用来计算多项式p在自变量x处的值,可以是数、向量和矩阵。如果x是向量或矩阵,则

    30、该命令将对x的每个元素计算p的值,结果大小和x的大小相同;ny=polyvalm(p,x):按矩阵规则运算。自变量x是一方阵。例:p=2 3 3 0 6;x=1 -1;y=polyval(p,x)x=-1 1;1 -1y1=polyval(p,x)y2=polyvalm(p,x)6. 多项式的部分分式展开没有多重根:n B(s) R(1) R(2) R(n)n - = - + - + . + - + K(s)n A(s) s - P(1) s - P(2) s - P(n)n有多重根时,则包含有:n R(j) R(j+1) R(j+m-1)n - + - + . + -n s - P(j) (

    31、s - P(j)2 (s - P(j)mn n在Matlab中完成此任务的指令是residue:lr,p,k=residue(b,a):求b(s)/a(s)的部分分式展开,返回值r是留数,p是极点,k是整式向量,a,b分别是分母和分子;lb,a=residue(r,p,k):将展开式还原为两个多项式b(s)和a(s)相除的形式。例:a=2 4 5 8 2;b=3 5 8 3;r,p,k=residue(b,a)bb,aa=residue(r,p,k)特殊变量和常数n非数(NaN 或nan),非数的意思是:不是一个数,指无效的数值。n空数组,凡是某维长度为0或若干维长度均为0的数组都是空数组。n

    32、特殊的变量n熟悉MATLAB的工作环境n熟练应用MATLAB的帮助信息n创建和修改矩阵n符号的用法n矩阵及数组运算小小 结:结:作业:1.给出MATLAB帮助信息的使用方法。2.给出生成向量 的指令。3.计算多项式 的根。22210.,21,5432234xxxx第三章第三章 MATLAB程序设计程序设计3.1 M文件文件3.2 程序控制结构程序控制结构3.3 函数文件函数文件3.4 程序举例程序举例3.5 程序调试程序调试3.1 M文件文件3.1.1 M文件概述文件概述 用用MATLAB语言编写的程序,称为语言编写的程序,称为M文件。文件。M文件可以根据调用方式的不同文件可以根据调用方式的不

    33、同分为两类:命令文件分为两类:命令文件(Script File)和函数文和函数文件件(Function File)。例例 分别建立命令文件和函数文件,将华氏温度分别建立命令文件和函数文件,将华氏温度f转换为摄氏转换为摄氏温度温度c。 程序程序1: 首先建立命令文件并以文件名首先建立命令文件并以文件名f2c.m存盘。存盘。 clear; %清除工作空间中的变量清除工作空间中的变量 f=input(Input Fahrenheit temperature:); c=5*(f-32)/9 然后在然后在MATLAB的命令窗口中输入的命令窗口中输入f2c,将会执行该命令,将会执行该命令文件,执行情况为:

    34、文件,执行情况为: Input Fahrenheit temperature:73 c = 22.77783.1 M文件文件 程序程序2: 首先建立函数文件首先建立函数文件f2c.m。 function c=f2c(f) c=5*(f-32)/9 然后在然后在MATLAB的命令窗口调用该函数文件。的命令窗口调用该函数文件。 clear; y=input(Input Fahrenheit temperature:); x=f2c(y) 输出情况为:输出情况为: Input Fahrenheit temperature:70 c = 21.1111 x = 21.11113.1 M文件文件3.1.

    35、2 M文件的建立与打开文件的建立与打开 M文件是一个文本文件,它可以用任何编辑程序来建立和文件是一个文本文件,它可以用任何编辑程序来建立和编辑,而一般常用且最为方便的是使用编辑,而一般常用且最为方便的是使用MATLAB提供的文本编提供的文本编辑器。辑器。1 建立新的建立新的M文件:启动文件:启动MATLAB文本编辑器有文本编辑器有3种方法:种方法: (1) 菜单操作。从菜单操作。从MATLAB主窗口的主窗口的File菜单中选择菜单中选择New菜单菜单项,再选择项,再选择M-file命令,屏幕上将出现文本编辑器窗口。命令,屏幕上将出现文本编辑器窗口。 (2) 命令操作。在命令操作。在MATLAB

    36、命令窗口输入命令命令窗口输入命令edit,启动,启动MATLAB文本编辑器后,输入文本编辑器后,输入M文件的内容并存盘。文件的内容并存盘。 (3) 命令按钮操作。单击命令按钮操作。单击MATLAB主窗口工具栏上的主窗口工具栏上的New M-File命令按钮,启动命令按钮,启动MATLAB文本编辑器后,输入文本编辑器后,输入M文件的内文件的内容并存盘。容并存盘。3.1 M文件文件2打开已有的打开已有的M文件:也有文件:也有3种方法:种方法: (1) 菜单操作。从菜单操作。从MATLAB主窗口的主窗口的File菜单中选择菜单中选择 Open命令,则屏幕出现命令,则屏幕出现Open对话框,在对话框,

    37、在Open对话框中选对话框中选中所需打开的中所需打开的M文件。在文档窗口可以对打开的文件。在文档窗口可以对打开的M文件进文件进行编辑修改,编辑完成后,将行编辑修改,编辑完成后,将M文件存盘。文件存盘。 (2) 命令操作。在命令操作。在MATLAB命令窗口输入命令:命令窗口输入命令:edit 文件文件名,则打开指定的名,则打开指定的M文件。文件。 (3) 命令按钮操作。单击命令按钮操作。单击MATLAB主窗口工具栏上的主窗口工具栏上的Open File命令按钮,再从弹出的对话框中选择所需打开命令按钮,再从弹出的对话框中选择所需打开的的M文件。文件。3.1 M文件文件3.2 程序控制结构程序控制结

    38、构3.2.1 顺序结构顺序结构1数据的输入数据的输入 从键盘输入数据,可以使用从键盘输入数据,可以使用input函数来进行,该函数来进行,该函数的调用格式为:函数的调用格式为: A=input(提示信息,选项提示信息,选项); 其中提示信息为一个字符串,用于提示用户输入什其中提示信息为一个字符串,用于提示用户输入什么样的数据。如果在么样的数据。如果在input函数调用时采用函数调用时采用s选项,选项,则允许用户输入一个字符串。例如,想输入一个人则允许用户输入一个字符串。例如,想输入一个人的姓名,可采用命令:的姓名,可采用命令: xm=input(Whats your name?,s);2数据的

    39、输出数据的输出 MATLAB提供的命令窗口输出函数主要是提供的命令窗口输出函数主要是disp函数,函数,其调用格式为:其调用格式为: disp(输出项输出项) 其中输出项既可以为字符串,也可以为矩阵。其中输出项既可以为字符串,也可以为矩阵。3.2 程序控制结构程序控制结构例例 输入输入x,y的值,并将它们的值互换后输出。的值,并将它们的值互换后输出。 程序如下:程序如下: x=input(Input x please.); y=input(Input y please.); z=x; x=y; y=z; disp(x); disp(y);3.2 程序控制结构程序控制结构例例 求一元二次方程求一

    40、元二次方程ax2 +bx+c=0的根。的根。 程序如下:程序如下: a=input(a=?); b=input(b=?); c=input(c=?); d=b*b-4*a*c; x=(-b+sqrt(d)/(2*a),(-b-sqrt(d)/(2*a); disp(x1=,num2str(x(1),x2=,num2str(x(2);3.2 程序控制结构程序控制结构3. 程序的暂停程序的暂停 暂停程序的执行可以使用暂停程序的执行可以使用pause函数,其调用函数,其调用格式为:格式为: pause(延迟秒数延迟秒数) 如果省略延迟时间,直接使用如果省略延迟时间,直接使用pause,则将暂,则将暂

    41、停程序直到用户按任一键后程序继续执行。若停程序直到用户按任一键后程序继续执行。若要强行中止程序的运行可使用要强行中止程序的运行可使用Ctrl+C命令。命令。3.2 程序控制结构程序控制结构3.2.2 选择结构选择结构1if语句语句:在:在MATLAB中,中,if语句有语句有3种格式。种格式。(1) 单分支单分支if语句:语句: if 条件条件 语句组语句组 end 当条件成立时执行语句组,执行完之后继续执行当条件成立时执行语句组,执行完之后继续执行if语句的后继语句,若条件不成立,则直接执行语句的后继语句,若条件不成立,则直接执行if语句的后继语句。语句的后继语句。3.2 程序控制结构程序控制

    42、结构(2) 双分支双分支if语句:语句: if 条件条件 语句组语句组1 else 语句组语句组2 end 当条件成立时执行语句组当条件成立时执行语句组1,否则执行语句组,否则执行语句组2,语句组语句组1或语句组或语句组2执行完后,再执行执行完后,再执行if语句的后语句的后继语句。继语句。3.2 程序控制结构程序控制结构例例 计算分段函数的值。计算分段函数的值。 程序如下:程序如下: x=input(请输入请输入x的值的值:); if x=A & c=a& c=0& c=9 disp(abs(c)-abs(0); else disp(c); end3.2 程序控制结构程序控制结构2. swit

    43、ch语句语句:根据表达式的取值不同分别执行不同的语句,其:根据表达式的取值不同分别执行不同的语句,其语句格式为:语句格式为: switch 表达式表达式 case 表达式表达式1 语句组语句组1 case 表达式表达式2 语句组语句组2 case 表达式表达式m 语句组语句组m otherwise 语句组语句组n end3.2 程序控制结构程序控制结构 当表达式的值等于表达式当表达式的值等于表达式1的值时,执行语的值时,执行语句组句组1,当表达式的值等于表达式,当表达式的值等于表达式2的值时,执的值时,执行语句组行语句组2,当表达式的值等于表达式,当表达式的值等于表达式m的的值时,执行语句组值

    44、时,执行语句组m,当表达式的值不等于,当表达式的值不等于case所列的表达式的值时,执行语句组所列的表达式的值时,执行语句组n。任意一个任意一个分支的语句执行完后,直接执行分支的语句执行完后,直接执行switch语句的下语句的下一句。一句。3.2 程序控制结构程序控制结构例例 某商场对顾客所购买的商品实行打折销售,标某商场对顾客所购买的商品实行打折销售,标准如下准如下(商品价格用商品价格用price来表示来表示): price200 没有折扣没有折扣 200price500 3%折扣折扣 500price1000 5%折扣折扣 1000price2500 8%折扣折扣 2500price 0)

    45、 sum mean=sum/cnt end3.2 程序控制结构程序控制结构3break语句和语句和continue语句:语句:与循环结构相关的语与循环结构相关的语句还有句还有break语句和语句和continue语句。它们一般与语句。它们一般与if语语句配合使用。句配合使用。 break语句用于终止循环的执行。当在循环体内语句用于终止循环的执行。当在循环体内执行到该语句时,程序将跳出循环,继续执行循执行到该语句时,程序将跳出循环,继续执行循环语句的下一语句。环语句的下一语句。 continue语句控制跳过循环体中的某些语句。当语句控制跳过循环体中的某些语句。当在循环体内执行到该语句时,程序将跳

    46、过循环体在循环体内执行到该语句时,程序将跳过循环体中所有剩下的语句,继续下一次循环。中所有剩下的语句,继续下一次循环。3.2 程序控制结构程序控制结构例例 求求100,200之间第一个能被之间第一个能被21整除的整数。整除的整数。 程序如下:程序如下: for n=100:200 if rem(n,21)=0 continue end break end n3.2 程序控制结构程序控制结构4循环的嵌套循环的嵌套:如果一个循环结构的循环体又包括另一个循环结:如果一个循环结构的循环体又包括另一个循环结构,就称为循环的嵌套,或多重循环结构。构,就称为循环的嵌套,或多重循环结构。例例 若一个数等于它的

    47、各个真因子之和,则称该数为完数,如若一个数等于它的各个真因子之和,则称该数为完数,如6=1+2+3,所以,所以6是完数。求是完数。求1,500之间的全部完数。之间的全部完数。 for m=1:500 s=0; for k=1:m/2 if rem(m,k)=0 s=s+k; end end if m=s disp(m); end end3.2 程序控制结构程序控制结构3.3.1 函数文件的基本结构函数文件的基本结构 函数文件由函数文件由function语句引导,其基本结构为:语句引导,其基本结构为: function 输出形参表输出形参表=函数名函数名(输入形参表输入形参表) 注释说明部分注释

    48、说明部分 函数体语句函数体语句 其中以其中以function开头的一行为引导行,表示该开头的一行为引导行,表示该M文文件是一个函数文件。函数名的命名规则与变量名相件是一个函数文件。函数名的命名规则与变量名相同。输入形参为函数的输入参数,输出形参为函数同。输入形参为函数的输入参数,输出形参为函数的输出参数。当输出形参多于一个时,则应该用方的输出参数。当输出形参多于一个时,则应该用方括号括起来。括号括起来。3.3 函数文件函数文件例例 编写函数文件求半径为编写函数文件求半径为r的圆的面积和周长。的圆的面积和周长。 函数文件如下:函数文件如下: function s,p=fcircle(r) %CI

    49、RCLE calculate the area and perimeter of a circle of radii r %r 圆半径圆半径 %s 圆面积圆面积 %p 圆周长圆周长 %2004年年7月月30日编日编 s=pi*r*r; p=2*pi*r;3.3 函数文件函数文件3.3.2 函数调用函数调用 函数调用的一般格式是:函数调用的一般格式是: 输出实参表输出实参表=函数名函数名(输入实参表输入实参表) 要注意的是,函数调用时各实参出现的顺要注意的是,函数调用时各实参出现的顺序、个数,应与函数定义时形参的顺序、个数序、个数,应与函数定义时形参的顺序、个数一致,否则会出错。函数调用时,先将实参传一致,否则会出错。函数调用时,先将实参传递给相应的形参,从而实现参数传递,然后再递给相应的形参,从而实现参数传递,然后再执行函数的功能。执行函数的功能。3.3 函数文件函数文件例例 利用函数文件实现直角坐标利用函数文件实现直角坐标(x,y)与极坐标与极坐标(,)之间的之间的转换。转换。 1.函数文件函数文件tran.m: function rho,theta=tran(x,y) rho=sqrt(x*x+y*y); theta=atan(y/x); 2.调用调用tran.m的命令文件的命令文件main1.m: x=input(Please input x=:); y=input(Ple

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:《matlab与数值分析课》全册配套课件3.ppt
    链接地址:https://www.163wenku.com/p-2038252.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库