版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章:MATLAB语言简介IntroductiontoMATLAB国家级
一
流
本
科
课
程
建设MATLAB科学运算与仿真第一章MATLAB简介IntroductiontoMATLABMATLAB科学运算与仿真国家级一流本科课程建设课程教材薛定宇.MATLAB/Simulink实用教程——编程、计算与仿真,北京:清华大学出版社,2021参考教材薛定宇.《高等应用数学问题的MATLAB求解》(第4版),薛定宇,清华大学出版社,2017薛定宇.《薛定宇教授大讲堂》卷I~卷VI,清华大学出版社,2019~2021,英文版DeGruyter出版社出版英文版:XueDingyuandYangquanChen.ScientificComputingwithMATLABandSimulink.CRCPress,2016第一章MATLAB简介科学运算与仿真问题演示MATLAB语言简介科学运算问题的三步求解方法本课程的结构1.1科学运算与仿真问题演示科学运算问题求解大数计算解方程微积分问题其他常规计算机语言的局限性例1-1:奥数问题末位数是多少?物理意义约等于0雕虫小技大数怎么存储?MATLAB求解如何计算有多少位?例1-2:你会求解方程吗?两个代数方程MATLAB求解第二方程求解例1-3:函数的高阶导数已知函数,求4阶导数MATLAB求解求100阶导数常规计算机语言的局限性不能处理大数不能进行公式推导局限性演示Fibonacci序列的生成矩阵相乘的通用程序编写绘图:隐函数绘制例1-4Fibonacci序列数学背景:意大利数学家Fibonacci在1205年提出一个人将一对兔子放到一个封闭的围墙内,并假设每对兔子每个月都繁殖出一对兔子,且新生兔子从第二个月开始有繁殖能力,那么一年以后这个封闭的围墙内有多少对兔子?数学公式如何由公式计算C语言求解C语言程序程序运行编译连接、形成可执行文件前若干项:1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946,17711,28657后面>32767Fibonacci序列(续)如何解决问题?变int为long?MATLAB求解更精确的求解用C语言需要考虑太多底层的东西,不易查错例1-5:矩阵乘法——通用子程序编写数学表示核心C语言代码问题:程序正确吗?矩阵乘法(续)未考虑可乘性问题:与矩阵乘法考虑可乘性:ifcols(A)==rows(B)语句引起新的错误:标量乘矩阵被标错引入更多的判定语句,处理标量情形程序仍然是不通用的:不能处理复数矩阵编写更多的代码:复数表示、复数乘法、复数输出等需要反复尝试MATLAB直接求解:例1-6:隐函数曲线绘制隐函数的数学表达式如何绘制曲线?如果不使用专业计算机语言,可能连绘图否思路也没有1.2MATLAB语言简介MATLAB语言的出现与发展MATLAB语言的特色MATLAB语言的出现与发展1978年之前,线性代数的计算使用EISPACK、LINPACK等FORTRAN软件包,比较麻烦例:实矩阵的特征值/特征向量1978年CleveMoler构思并实现了MATLAB美国NewMexico大学的计算机科学系主任CleveMoler取名含义MATrixLABoratory自动控制学科的应用JackLittleMATLAB1984v1TheMathWorksInc1984年12月,IEEE决策与控制年会上发布,立即引起控制界学者关注并广泛接受1990SimuLAB、Simulink与CleveMoler和JackLittle的合影2008withJackLittle,BeijingMathWorksBeijingOfficeOpen2012withCleveMoler,Shanghai科学运算与MATLAB发展的回顾建议观看CleveMoler在上海演讲的视频视频2012同济大学EvolutionofMATLAB英文字幕by薛定宇MATLAB的发展历程MATLAB已经成为很多领域的首选计算机语言1990年推出了Simulink仿真工具1992年推出了MATLAB4.0版本,全面支持Windows编程1996年12月推出的MATLAB5.0版支持了更多的数据结构2004年6月推出的MATLAB7.0版引入的多领域物理建模仿真策略2012年推出的MATLAB8.0版支持APP编程与应用2016年提出的MATLAB9.0版推出了全新的实时编辑器MATLAB每年推出两个版本,3月推出a版,9月推出b版。最新的版本是2021a版,对应的传统版本号为9.10版。MATLAB语言的特点简洁高效性MATLAB程序设计语言的集成度高,语句简洁科学运算功能MATLAB语言以复数矩阵为基本单元,可以直接用于矩阵运算绘图功能科学可视化庞大的工具箱与模块集强大的动态系统仿真功能钱学森对工科数学改革的理念(1985)现在已经可以看到电子计算机对工程技术工作的影响今后对一个问题求解可以全部让电子计算机去干,不需要人去一点一点算而直到今天,工科理科大学一二年级的数学课是构筑在人自己去算这一要求上的所以理工科的数学课必须改革,数学课不是为了学生学会自己去求解,而是为了学生学会让电子计算机去求解,学会理解电子计算机给出的答案,知其所以然,这就是工科教学改革的部分内容1.3科学运算问题的三步求解方法2014年12月,东京首届MathWorks亚洲研究峰会三步方法是什么——What如何描述——How如何求解——Solve即使没有接触过相应的分支,通过几分钟学习直接求解两个演示例子1.6
线性规划问题求解数学形式是什么?目标函数最小:约束条件线性规划三步求解方法(续)如何描述——通过几分钟学习、照猫画虎求解例1-7人工神经网络的应用有一组数据用人工神经网络拟合数据,绘制曲线不了解神经网络没关系:三步求解方法什么是如果神经网络如何建立神经网络如何拟合数据、画曲线神经网络的应用什么是人工神经网络:带有可调参数的信息处理单元网络层数、节点、权值如何建立神经网络模型创建网络由样本点数据训练网络神经网络数据拟合三步求解方法的好处无需事先系统学习相关知识找一个类似的实例,就可以照猫画虎直接求解问题求解可以借鉴现有的求解方法如果没有现成的,不妨用MATLAB从底层编写全新解法程序,创造性地求解问题把公式变成代码:Fourier级数、Sylvester方程的解析解把想法变成代码:多解矩阵方程的求解、全局最优解法1.4本课程的主要内容兼顾三个主题(编程、计算与仿真)与以往的现代科学运算——MATLAB语言与应用相比大幅加强了MATLAB编程的介绍。系统介绍了MATLAB的编程方法,介绍面向对象编程与App界面设计方法降低了“科学运算”的起点和难度,但整体要求没变系统引入了基于Simulink的建模与仿真方法第一部分:MATLAB语言编程第1章~第6章第1章MATLAB简介第2章MATLAB编程基础:数据结构、语句结构、基本运算第3章MATLAB流程结构:几种流程结构、向量化编程第4章函数编写:函数编辑界面、实时编辑器、函数的基本结构、函数编程技巧、函数的跟踪调试第5章MATLAB绘图第6章面向对象编程与App设计第二部分:科学运算问题求解第7章~第12章第7章微积分问题求解:微积分计算、数值微积分、积分变换第8章线性代数问题求解:矩阵分析、矩阵变换、矩阵函数第9章方程求解:线性、非线性方程求解、多解矩阵方程第10章最优化:有约束、无约束最优化问题,智能求解方法、全局最优解方法与对比研究第11章微分方程:解析解与数值解第12章数据处理:数据插值与函数拟合、假设检验、方差分析第三部分:系统建模与仿真第13章、第14章第13章系统建模与仿真入门:Simulink简介、模块库与模块集、框图绘制与仿真、仿真参数设置、微分方程的建模与仿真第14章系统建模与仿真进阶:基于命令的建模与仿真方法、并行仿真、快速重启的仿真方法、子系统与模块封装方法、S-函数的编程与应用丰富的课程资料国家一流本科课程《现代科学运算——MATLAB语言与应用》的全部内容,包括授课全程视频扩展学习内容《薛定宇教授大讲堂》6卷,进一步介绍本课程每个组成部分的内容。MOOC课程《MATLAB与现代科学运算》2020年获批首批国家级一流本科课程在手机版中国大学MOOC下搜索XueDingyu,可以找到该课程的英文版,PC版目前不支持课程教材进一步学习的相关内容中文版六卷著作,清华大学出版社,2019-2021英文版五卷著作由Berlin:DeGruyter,2020出版第6卷2021年即将出版第二章:MATLAB的编程基础FundamentalsinMATLABProgramming主讲:薛定宇
东北大学信息学院国家级
一
流
本
科
课
程
建设MATLAB科学运算与仿真第二章MATLAB编程基础FundamentalsinMATLABProframming主讲:薛定宇东北大学信息学院MATLAB科学运算与仿真国家级一流本科课程建设第二章MATLAB编程基础MATLAB的基本操作MATLAB数据结构MATLAB语句结构MATLAB基本运算MATLAB的文件操作2.1MATLAB的基本操作MATLAB窗口的组成部分工作路径设置startup.m文件MATLAB联机帮助系统显示格式
short(默认)、rat、compact、longe等界面设置例2.1
圆周长与面积计算、显示假设圆半径r=5,计算圆的周长和面积圆周率p
用保留常数pi表示求解语句显示误差计算其他命令工作空间的管理who,whosclear,clearvars,clearvars-exceptsave,load箭头键的使用耗时测试方法一:tic,toc命令方法二:2-2MATLAB数据结构保留的常数机器精度eps,其值为圆周率pi不定式NaN,
notanumber无穷大Inf,inf虚数i,j,i=1i;逻辑量true,false常数可以改写,恢复默认值可用clear命令例2-2pi的值与改写显示pi的值改写pi的值恢复默认值2.2.2变量的命名规则第一个字符为字母后面接字母、数字与下划线,不能含有空格最大长度不超过63个字符,否则将自动被截断区分大小写查询某函数名是否被占用which命令exist函数2.2.3数值型数据结构数值运算支持的最精确数值型数据结构IEEE标准:64位二进制位(8字节)一个符号位,11个指数位,52位数值值域范围最小可以表示的数可以保留15~16位十进制有效数字可以由double函数直接转换其他数值结构,single,32位,7位十进制数字整型数值int8,uint8,int16,uint16,int32,uint32等例2-3矩阵输入已知矩阵MATLAB输入命令矩阵动态定维例2-4
复数矩阵的输入复数矩阵MATLAB输入语句虚数的表示复数单位:1i,1j或sqrt(-1),不建议使用i或j2.2.4符号型数据结构用于公式推导和解析解求解声明符号变量其他类型选项positive,negative,integer,rational可以使用clear命令取消定义其他属性设置assume()和assumeslso()函数由assumptions()函数显示属性提取表达式中符号变量例2-5
如何表示1/3?数值的表示方法双精度表示方法1/3符号表示方法sym(1/3)简单算式双精度框架计算符号运算例2-6
你能记住p的多少位?MATLAB可以使用vpa()显示数值(甚至无理数)p的显示直接显示最多显示32766位可以存入字符串逐位显示可以考虑使用循环例2-7
显示无理数e
的前100位直接命令正确的命令符号变量的进一步设置设置范围符号变量性质的显示已知A,可以转换成符号型数据结构例2-8如何表示长整数?如果想在MATLAB下描述12345678901234567890直接描述方法执行机制带来的问题正确的描述方法例2-9
符号矩阵的变换已知复数矩阵输入MATLAB环境变换成符号矩阵例2-10
符号函数的描述描述符号函数符号型变量结构为sym,符号型函数为symfun如果给出下面命令如果冲突,可以先删除原有定义2.2.5任意符号型矩阵的生成任意向量任意矩阵例2-11:生成任意矩阵MATLAB命令2.2.6
其他数据结构字符串整型数据与逻辑数据结构体多维数组单元数组类与对象表格数据2.2.7数据结构的识别可以由class函数读取数据结构可以由isa函数,如很多由is引导的函数isnanisfiniteisstruct2.3MATLAB语句结构基本赋值语句函数调用语句冒号表达式子矩阵提取MATLAB人机交互命令2.3.1
基本赋值语句语句格式语句的执行,结果赋给aa可以忽略,返回给ansans为answer,存最新的无返回变元赋值语句结果分号的作用例2-12
嵌套函数计算已知求MATLAB求解语句2.3.2
函数调用语句结构函数对应*.m文件,或由MATLAB内核提供同一函数支持不同的调用格式举例第4章介绍MATLAB函数编程方法2.3.3
冒号表达式语句格式生成行向量s2可以省略,默认值为1向量不一定包含s3如果想包含s3选择合适步距调用函数例2-13
生成行向量生成范围选择步距h=0.2MATLAB命令其他生成方法例2-14
生成13可以整除的数搜索范围1-1000脑筋急转弯满足条件的整数MATLAB求解2.3.4
子矩阵的提取子矩阵提取命令删除某行例2-15子矩阵提取实例MATLAB命令2.3.5MATLAB的人机交互函数输入数值输入字符串菜单选择例2-16人机交互命令2.4MATLAB基本运算代数运算超越函数运算逻辑运算比较运算字符串运算符号表达式处理2.4.1代数运算代数运算的定义:变量之间的有限次加、减、乘、除、乘方、开方等运算称为代数运算。常用代数运算及MATLAB实现转置加减乘除法方阵的乘方方阵的开方多解问题其他常用运算点运算(相应元素的运算)翻转旋转展开变维,前提条件最大值矩阵最大值排序取整,其他取整函数ceil,floor,fix
例2-17
特殊的加法已知矩阵数学上两个矩阵是否可加?MATLAB运算例2-18复数矩阵的实部虚部提取已知矩阵提取实部、虚部唯一解问题例2-19
方阵开方解的不唯一性解的旋转已知矩阵三次方根其他的根例2-20A的逆矩阵与A的-1次方二者是一回事吗?已知矩阵MATLAB运算例2-21
如何保留两位小数?已知矩阵,求逆保留两位小数如何实现?乘以100后取整,再乘以0.01MATLAB实现2.4.2超越函数运算超越函数通常指变量之间的关系不能用有限次加、减、乘、除、乘方、开方运算表示的函数常用的超越函数指数函数对数函数三角函数单位变换反三角函数例2-22
证明恒等式证明公式的方法直接将公式用符号表达式表示如果想证明两端相等,则得出其差再化简,观察是否为0直接证明例2-23
化简对数计算表达式对数计算表达式MATLAB求解例2-24
化简三角函数已知三角函数MATLAB求解例2-25
计算三角函数已知三角函数MATLAB直接计算例2-26
总是成立吗?以前的概念是在实数范围内建立起来的可以尝试复数,看看有无新结论复数的余弦逻辑运算与比较运算逻辑运算(相当于点运算)逻辑与,标量的与逻辑或逻辑非逻辑异或比较运算关系语句其他关系:>,<,<=,==,~=2.4.5
字符串运算字符串的表示:单引号例2-27多个字符串的串接与其他处理方法演示MATLAB求解例2-28
字符串中如何表示单引号?单引号可以表示字符串如何在字符串内表示单引号?两个连续的单引号表示字符串中的单一单引号MATLAB表示字符串处理函数例2-29
字符串查找已知字符串找出其中的oMATLAB求解字符串替换:o替换成OK例2-30
将字符串转换成ASCII码字符串MATLAB下的转换转换回字符串例2-31
双精度的1/3到底是什么?将1/3转换成字符串MATLAB表示例2-32
圆的面积与周长
圆半径r=5用可读的方式显示圆的周长和面积MATLAB求解2.4.6符号表达式的处理符号表达式的处理方法例2-33
改写表达式已知表达式将其改写成正弦函数MATLAB求解例2-34
改写分段函数已知表达式x为实数改写成分段函数MATLAB求解例2-35
因式分解多项式多项式因式分解例2-36
变量替换多项式将s
替换成MATLAB求解例2-37
另一种变量替换方法多项式符号函数2.5MATLAB的文件操作MATLAB工作空间变量的存取文件读写函数MicrosoftExcel文件的操作2.5.1MATLAB工作空间变量的存取文件处理文件名后缀mat2.5.2
文件读写函数常用文件处理函数例2-38MATLAB文件源代码显示器MATLAB显示器使用了循环结构,后面介绍2.5.3MicrosoftExcel文件的操作读文件写文件例2-39MicrosoftExcel文件census.xlsB列为年,C列为人口数第5行到67行为有效信息MATLAB命令例2-40
将魔方矩阵写入Excel文件生成100阶魔方矩阵将第2-33列存入Excel文件MATLAB命令第三章:MATLAB的流程结构FlowControlStructuresinMATLAB主讲:薛定宇
东北大学信息学院国家级
一
流
本
科
课
程
建设MATLAB科学运算与仿真第三章MATLAB的流程结构FlowControlStructuresinMATLAB主讲:薛定宇东北大学信息学院MATLAB科学运算与仿真国家级一流本科课程建设第3章
MATLAB的流程结构循环结构for/end,while/end转移结构if,elseif,else,end开关结构switch,case,end试探结构try,catch,end3.1循环结构For循环结构While循环结构循环结构的嵌套向量化编程与循环结构3.1.1for循环结构for循环结构的一般形式执行机制每步循环从v向量中取一个值执行一次循环结构体语句,直至循环结束每一个结构以end结束v可以为矩阵,每步循环提取一列例3-1
用循环求和求MATLAB求和更简洁的命令例3-2
由迭代方法生成序列序列的生成规则第一项第二项迭代公式计算机记号(伪代码)迭代k=31的MATLAB命令数学形式理论值例3-3Fibonacci序列递推公式求前100项双精度求解精确求解例3-4
显示p的1000000位直接使用vpa函数只能显示32766个字符可以采用循环,每行显示10000个字符最后一行只有一个字符,为什么?For循环的局限性For循环是无条件循环,v向量取完就结束循环有些循环问题不能求解例3-5求满足的最小m未知m,无法构造v向量,不能使用for循环应该考虑while循环——有条件的循环3.1.2while循环结构While循环的结构条件为真,则继续循环,然后回while语句继续判定条件条件为伪,则结束循环例3-6
重新求解用while循环同样求解将i<=100作为循环的条件,满足则继续加MATLAB求解语句例3-7
求满足的最小mFor循环不能求解可以将不等式作为循环的条件MATLAB求解验证例3-8
例3-2的迭代求解序列序列生成规则第一项第二项迭代公式若满足条件则结束迭代MATLAB循环例3-9
回顾例2-38的读程序代码前面给出的代码两个函数读入一行的函数fgetl判断读文件是否结束的函数feof3.1.3循环语句的嵌套循环语句内部允许嵌套其他的结构,包括循环每个循环语句都应该由end结束例3-10Hilbert矩阵通项MATLAB求解3.1.4向量化编程与循环结构向量化编程——直接对向量进行处理向量化编程的特点可以避开循环、提高效率向量化编程更专业、更美观过多的循环会被认为不专业、代码质量不高如果可能,尽量采用向量化编程例3-11一组圆,求面积圆半径求各个圆的面积循环求解可求,但不是地道的MATLAB程序向量化计算例3-12
求解级数求和问题级数求和循环计算向量化计算向量化编程:速度快、结构简单、多占用存储空间例3-13
网格数据生成网格数据,由meshgrid函数生成横坐标刻度纵坐标刻度生成两个矩阵坐标矩阵的结构网格数据解释两个矩阵的叠印坐标矩阵(1,-1)(2,-1)(4,-1)(3,-1)(5,-1)(7,-1)(9,-1)(1,0)(2,0)(4,0)(3,0)(5,0)(7,0)(9,0)(1,2)(2,2)(4,2)(3,2)(5,2)(7,2)(9,2)例3-14Hilbert矩阵的不同输入命令生成Hilbert矩阵循环语句大循环移至内层,半向量化向量化例3-15方程的整数解如果x、y
都是正整数求解代数方程该方程的解唯一吗?求解思路用meshgrid函数生成所有的可能,逐一检验3.2转移结构简单的条件转移结构条件转移结构的一般形式其他流程控制命令分段函数的向量化计算3.2.1简单的条件转移结构两种简单的条件转移结构If结构if(条件),语句段落,endIf-else结构
if(条件)
语句段落1else,语句段落2,end3.2.2
条件转移结构的一般形式完整的条件转移语句if(条件1),语句段落1elseif(条件2),语句段落2elseif….….else
语句段落nend3.2.3其他流程控制命令break命令:中断上一层循环continue命令:跳过本次循环后续语句,直接跳回for或while语句,执行下一次循环例3-16增加循环次数,如果和式大于10000就停止循环
MATLAB语句例方程整数解问题的实现如果x、y
都是正整数求解代数方程该方程的解唯一吗?求解思路用底层语句逐一判定所有的可能——省空间3.2.4分段函数的向量化计算分段函数互斥条件分段函数的直接计算符号表达式的分段函数描述例3-17
饱和非线性函数数学形式循环+条件转移MATLAB语句符号函数描述例3-18
多元形式数学表达式双重循环+条件转移,逐一判定MATLAB描述3.3开关结构开关结构现实生活中的多路开关,一路导通,其他回路关闭条件表达式实现开关结构开关结构MATLAB与C语言开关结构在使用开关语句结构时应该注意下面几点:当开关表达式的值等于表达式1时,将执行语句段1,执行完语句段1后将转出开关体,而无须像C语言那样在下一个case语句前加break语句,本结构与C语言是不同的。当开关表达式满足若干个表达式之一,使用单元数组表示当前面枚举的各个表达式均不满足时,用otherwise不用default程序的执行结果和各个case语句的次序是无关的在case语句引导的各个表达式中,不要用重复的表达式例3-19
根据需要求周长、面积和体积由input命令输入半径,可以输入多个(向量)由menu语句得到选择,根据选择求周长、面积或体积MATLAB实现3.4试探结构MATLAB下的试探结构试探语句结构的应用App设计中,设置错误陷阱。设计界面可用如果解决问题由两种方法快速方法,经常出错保守方法特别慢例3-20
判断一个变量是不是数值MATLAB的isnumeric不能用为什么?实现思路,试图将其转化成为double,如果成功则是第四章:MATLAB的函数编程MATLABFunctionProgramming主讲:薛定宇
东北大学信息学院国家级
一
流
本
科
课
程
建设MATLAB科学运算与仿真MATLAB科学运算与仿真国家级一流本科课程建设第四章MATLAB函数编程MATLABFunctionProframming主讲:薛定宇东北大学信息学院第4章
MATLAB的函数编程MATLAB脚本文件函数的基本结构函数变量的传递MATLAB函数调试方法与处理4.1MATLAB脚本文件MATLAB的程序编辑界面edit例4-1建立第一个程序MATLAB语句将其写入编辑界面,并存盘后缀名为m脚本文件的局限性4.1.2MATLAB实时编辑界面实时文件(livefile)两种模式文本:格式(标题、正文)插入对象:图片、公式、链接等代码——可以执行,实时文本文件后缀名mlx,非纯文本文件可以转换为PDF文件,不能反向转换例4-2
生成一个实时文件期望的实时文件创建文件公式的代码实时代码4.2函数的基本结构为什么需要MATLAB函数?函数的结构函数名的命令规则输入、输出变元的个数函数的递归调用匿名函数4.2.1为什么需要MATLAB函数?例4-3脚本文件的局限性如果和式不是10000,而是20000,则需要修改源程序大规模程序,修改源程序很困难可以定义用户接口,无需修改源程序4.2.2
函数的结构函数主体结构函数示意图例4-4
将例4-1脚本文件转换成函数例4-1的脚本文件接口设计输入变元N返回变元s
和m存盘,构造新文件函数调用4.2.3函数名的命令规则函数名与变量名规则一致由字母引导,后面接字母、数字或下划线区分大小写命名规则与注意事项避免使用过简的函数名,如a,不要与变量名冲突命名前确保没有同名函数,用which命令确认文件名可以与函数名不同,以文件名为准,建议尽量一致大小写与文件名不一致时可能给出警告信息4.2.4
输入、输出变元的个数实际的输入、输出个数
nargin、nargout进入函数就会自动生成这两个量可以利用这些量,使得函数调用的格式更灵活例4-5Hilbert矩阵生成函数生成n×m
阶Hilbert矩阵矩阵元素输入变元n、m,返回变元H如果只给出一个变元,则生成方阵4.2.5函数的递归调用什么是递归调用?递归调用就是函数自己调用自己以阶乘为例阶乘的重要性质MATLAB的递归调用假设k=my_fact(n)函数能求n的阶乘,则
k=n*my_fact(n-1)递归调用应该有出口,否则会一直递归下去例4-6
编写求阶乘n!的函数核心语句k=n*my_fact(n-1)添加出口1!=0!=1检查输入变元类型,输入变元应该为非负整数,否则出错MATLAB实现例4-7Fibonacci序列的递归实现数学公式递归实现实际调用Fibonacci序列耗时的原因二叉树不能利用以前的信息,每个数都从头计算如果利用以前的信息,则可以提高程序效率4.2.6匿名函数函数对应实体的*.m文件简单函数可以采用简洁的定义方法,不用建立实体文件匿名函数格式f=@(变量名列表)函数表达式匿名函数举例可以直接使用工作空间中的当前值如果想采用变量的新值,应该重新定义匿名函数例4-8
匿名函数与数学函数如果已知,求可以由MATLAB如果已知,求应该重新定义,再求值例4-9
分段函数求值分段函数匿名函数定义求值4.3函数变量的传递输入、输出变元的传递与提取局部变量与全局变量工作空间变量的存取4.3.1
输入、输出变元的传递与提取调用函数时输入变元的传递第k项提取返回变元:例4-10
多项式乘法两个多项式乘法如何求多个多项式乘法由函数实现任意多个多项式的乘积MATLAB计算例4-11
函数的容错处理正常情况下p
为行向量如果某个p为列向量,需要容错处理强制将
p转成行向量MATLAB实现4.3.2局部变量与全局变量变元之外的函数变量函数内其他的变量都是局部变量函数调用后,变量消失局部变量不修改工作空间里的同名变量由global命令声明全局变量至少两个地方需要声明全局变量全局变量赋值的地方、全局变量使用的地方例4-12
全局变量传递前面的MATLAB函数如果N不选择为输入变元,而使用全局变量MATLAB实现4.3.3工作空间变量的存取由工作空间读入变量向工作空间写入变量与主调函数交互数据base改写成caller例4-13
工作空间变量读写前面的MATLAB函数如果N,m直接读写,MATLAB实现4.4MATLAB函数调试方法与处理MATLAB编辑器带有跟踪调试(debug)功能设置断点、显示断点直接访问MATLAB的内部变量对内部变量进行直接操作程序的单步执行例4-14
函数的跟踪调试函数清单进入跟踪调试状态设置断点操作变量的值4.4.2伪代码技术伪代码(pseudocode)隐藏源代码,提供伪代码,可以正常执行提高代码的运行速度(省去解释性代码的编译过程)MATLAB命令注意一定把源代码保存好,别误删——伪代码不可逆第五章:MATLAB科学绘图MATLABGraphics主讲:薛定宇
东北大学信息学院国家级
一
流
本
科
课
程
建设MATLAB科学运算与仿真第五章MATLAB科学绘图MATLABGraphics主讲:薛定宇东北大学信息学院MATLAB科学运算与仿真国家级一流本科课程建设第5章
MATLAB科学绘图由数据绘图、由公式绘图,更好地了解数据MATLABR2014b全新绘图体系早期版本的命令仍可使用,但建议采用新的命令本章主要内容简单二维图形绘制特殊二维图形MATLAB三维绘图隐函数绘制5.1简单二维图形绘制本节主要内容基于数据的绘图基于函数表达式的绘图参数方程曲线绘制双y轴曲线图形修饰与编辑图形数据的提取5.1.1基于数据的绘图通过实验或计算得出数据由数据绘图构造向量或矩阵直接绘图图形不是真正曲线,而是由坐标点构成的折线例5-1
显函数绘图数学函数生成数据并绘图图形似乎有误得出的是粗糙的折线如何检验?例5-2
选择密集的样本点数学表达式其中的项在点附近变步长绘图全程小步长绘图
plot函数的其他调用格式t
仍然是向量,y
是矩阵t
和y
都是矩阵,同维数多个向量(矩阵)对:带有选项使用句柄:绘图语句的选项选项表字符串组合,如另一种绘图参数绘图语句绘图参数名与参数值例5-3
分形树的绘制数学模型初值为[0,1]区间均匀分布的伪随机数用圆点绘图,不能连线分形树绘制数学模型MATLAB代码5.1.2基于函数表达式的绘图已知显式函数的数学表达式可以用匿名函数表示函数(点运算)利用符号表达式描述函数利用符号函数描述函数获得函数的句柄h直接绘图
默认绘图区间自定义绘图区间例5-4
重新绘制已知函数数学函数MATLAB绘制语句符号表达式匿名函数:注意点运算同时绘制多条曲线如果有多个函数句柄调用语句允许使用多个选项返回图形句柄例5-5
同时绘制两个函数原函数Taylor级数近似为如何比较Taylor函数在[-4,4]区间的逼近效果?MATLAB语句5.1.3参数方程曲线绘制参数方程的数学形式MATLAB绘制命令当然,也可以生成向量t,再生成x,y由plot函数绘制曲线例5-6Lissajous
曲线数学表达式MATLAB绘图绘图时自动选择t向量的步距得到图形后应该检验例5-7
绘制大范围Lissajous
曲线数学表达式默认参数下的图形绘制修正绘制参数Meshdensity参数,设置成大值,如3005.1.4
双y
轴曲线如果两条曲线差异过大,则可以绘制具有双y轴曲线早期版本可以使用yyplot函数新版本,可以采用yyaxisleft和yyaxisright单独设置坐标系,并在不同的坐标系下绘图
例5-8
双y轴坐标系曲线数学函数为什么需要绘制双y坐标系图形?双y
轴坐标系曲线绘制5.1.5图形修饰与编辑图形修饰命令图形修饰的菜单操作查看(V)绘图编辑工具栏坐标自带的工具LaLeX命令下标与上标gtext、text函数可以直接给出LaTeX命令5.1.6图形数据的提取MATLAB图形可以存入*.fig文件可以获得图形窗口和图形对象的句柄gcf:getcurrentfigure,获得当前窗口的句柄gca:getcurrentaxis,获得当前坐标轴的句柄gco:getcurrentobject,获得当前选中对象的句柄clf:清空当前图形窗口的内容选择感兴趣的曲线给出命令5.2特殊二维图形其他绘图命令除了plot还可以使用line函数,此外5.2.1极坐标极坐标定义正常极坐标广义极坐标:允许负值
r,坐标变换,得出极坐标曲线MATLAB函数早期版本例5-9
极坐标曲线数学公式极坐标函数的周期(理论值)极坐标曲线的绘制排除部分更大范围:实际周期6p例5-10
非周期极坐标函数数学函数MATLAB极坐标曲线绘制选择剔除负r
部分5.2.2离散数据的图形表示时间序列值已知绘制火柴杆图绘制阶梯图零阶保持器(zeroorderhold,ZOH )例5-11
离散信号的图形表示数学函数采样周期T=0.1s生成向量,绘制火柴杆图绘制阶梯图5.2.3统计图形绘制已知一组离散数据数据分布区间(a,b),等间距分为m个子区间落入第i个子区间的数据个数称为频度频度计算方法,k为频度结构体数据数值概率密度函数计算、绘图由数据绘制饼图例5-12
数据的统计分析令b=1,生成10000×1的Rayleigh分布伪随机数绘制概率密度函数的直方图例5-13
绘制频度的饼图同样的数据绘制饼图5.2.4填充图已知一组样本点绘制折线,再将两个点连起来构成封闭曲线,并填充内部例5-14
填充图Rayleigh分布的概率密度函数绘制面积为95%的填充图MATLAB实现5.2.5对数图绘制系统的Bode图已知系统的传递函数模型G(s)选择频率点计算系统的增益(复数向量)绘制图形:横坐标为频率w,对数坐标纵坐标分别为半对数坐标绘制:semilogx,semilogy函数全对数坐标绘制:loglog函数例5-15Bode图幅频特性传递函数模型选择频率向量绘制Bode幅频特性5.2.6动态轨迹绘制与动画制作已知数据的走行轨迹将plot函数替换成comet,即可以绘制轨迹已知质点的移动用循环的方式更新每个时刻的质点位置每步循环修正质点对象的Xdata和Ydata属性更新后调用drawnow命令,立即显示质点位置通过这样的方法生成动画例5-16
单个例子的运行轨迹数学表达式MATLAB生成运动轨迹与前面例子类似,生成样本点再用comet函数取代plot函数,生成质点运动轨迹例5-17Brown运动的动画演示Brown运动粒子个数n=30例子位置s为比例因子,增量满足标准正态分布MATLAB动画生成5.2.7图形窗口的分割用规范的方式分割图形窗口由菜单生成任意的坐标系Insert菜单例5-18Bode图绘制传递函数模型选择频率向量绘制Bode图,将图形窗口分为上下两个部分5.3MATLAB三维绘图两种三维图形三维曲线的绘制、三维曲面的绘制本节主要内容三维曲线三维参数方程的曲线绘制三维曲面视角设置二元参数方程的曲面绘制三维动画的制作与播放5.3.1三维曲线绘制三维空间质点的运动数学模型(参数方程)三维曲线基本绘制函数其他三维函数stem3,stairs3,fill3,bar3,comet3例5-19
三维空间曲线数学模型三维图形绘制生成数据绘制三维曲线5.3.2三维参数方程的曲线绘制参数方程数学模型数学模型的两种表示方法符号表达式匿名函数(点运算)绘制三维曲线例5-20
三维空间曲线数学模型三维图形绘制用符号表达式描述参数方程由匿名函数(点运算)描述参数方程图形绘制5.3.3三维曲面绘制二元函数由meshgrid函数生成x,y网格矩阵用点运算计算每个网格点处的函数中,得出z
矩阵绘制三维网格或曲面图已知函数的符号表达式或匿名函数表达式例5-21
二元函数曲面数学表达式生成数据并绘制曲面在允许的范围内生成网格数据计算函数值并绘图例5-22由表达式直接绘图数学表达式MATLAB绘图命令由匿名函数描述原函数再绘图5.3.4
视角设置视角定义方位角a俯角b唯一确定视角三视图俯视图view(0,90)主视图view(0,0)右侧视图view(90,0)例5-23
曲面的三视图数学表达式将图形窗口分成2行2列形式在不同的分区显示不同的视角5.3.5二元参数方程的曲面绘制二元参数方程的一般形式自变量的范围默认范围[-5,5]曲面绘制例5-24
Möbius带的曲面绘制数学表达式自变量范围曲面图形绘制5.3.6
三维动画的制作与播放由getframe(h)命令可以读取当前图形窗口的一帧图像其中,h
为当前窗口的句柄如果生成动画,则可以提取若干帧图像由这些帧图像可以构造视频由movie函数可以生成视频文件例5-25
时变的三维曲面
时变函数选择一系列t
值,由MATLAB绘制曲面动画视频制作方法由getframe函数叶可以提取一帧二维图像由VideoWriter函数可以打开视频文件由writeVideo函数可以向视频文件中写入一帧图像以Brown运动为例演示生成视频的方法例5-26
将Brown运动做成视频假设运动步数为200步,粒子个数仍为30MATLAB语句5.4
隐函数绘制隐函数不能用plot等底层函数绘制,需要使用特别的图形绘制函数本节介绍内容二维隐函数曲线绘制三维隐函数曲面绘制5.4.1二维隐函数曲线绘制二维隐函数的数学形式不能生成x向量,再由解方程方法得出y向量方程的解不一定唯一fplot函数只能绘制显函数曲线,不能处理隐函数隐函数的绘制方法由符号表达式或匿名函数描述隐函数调用fimplicit函数绘制隐函数调整MeshDensity等参数,使得隐函数曲线更精确例5-27隐函数曲线绘制隐函数的数学表达式自变量的变化范围隐函数绘制方法用符号表达式描述隐函数隐函数绘制(续)原曲线不光滑,有毛刺可以调整绘图参数,使得曲线更平滑设置MeshDensity参数用匿名函数描述隐函数——点运算例5-28
联立方程的图解法非线性联立方程由fimplicit函数能够同时绘制多条曲线曲线的交点是联立方程的解5.4.2
三维隐函数曲面绘制三维隐函数数学形式可以描述三维隐函数由符号表达式描述三维隐函数由匿名函数描述隐函数绘制三维隐函数默认范围[-5,5]例5-29
三维隐函数绘制三维隐函数的数学形式自变量范围MATLAB直接绘图三维隐函数(续)用匿名函数描述隐函数,然后绘图在隐函数图形上叠印一个单位球体球体的隐函数模型图形绘制第六章:MATLAB面向对象编程ObjectOrientedProgramminginMATLAB主讲:薛定宇
东北大学信息学院国家级
一
流
本
科
课
程
建设MATLAB科学运算与仿真第6章MATLAB面向对象编程ObjectOrientedProgramminginMATLAB主讲:薛定宇东北大学信息学院MATLAB科学运算与仿真国家级一流本科课程建设第6章
MATLAB面向对象编程新的编程方法——面向对象的编程面向对象编程不同于常规的编程主要是围绕对象及其属性进行操作本章主要内容面向对象程序的基本概念类与对象的设计应用程序的界面设计6.1面向对象程序的基本概念面向对象的编程技术(objectorientedprogramming,OOP)是一种重要的计算机编程方法该方法基于“对象”的概念,编写出相应的程序对象是数据的一种表示方法对象将数据表示成域(field)的形式域又称为属性(attribute)或成员变量(membershipvariable)共享相同结构与行为的全体对象的集合称为类(class)对象是类的一个实例例:图形窗口类图形窗口是一个类每打开一个图形窗口,该图形窗口就是一个对象图形窗口下有各种域(成员变量),属性可以修改图形窗口的背景颜色图形窗口菜单系统、工具栏类还有下一级的类图形窗口下可以有若干个坐标系坐标系还有下一级的类:曲线(成员变量包括颜色、线型等)面向对象的编程面向对象的编程对象的代码(方法)可以读取和修改对象的域通过修改对象属性的方法实现程序的具体功能执行机制的不同传统编程方法是逐条语句顺序执行的面向对象编程是先准备好一些对象及其方法函数,平时这些函数与方法是不执行的,一旦对象的一个事件被触发,则自动调用相应的事件响应方法函数去执行MicrosoftWindows的界面通常都是以面向对象的方式实现的,如果单击一个菜单项,则会自动生成一个事件,Windows的执行机制会自动执行某段代码来响应单击菜单的动作面向对象编程的特点面向对象编程的优势面向对象编程的可读性、可重用性、可扩展性等两种方式使用面向对象的程序设计技术客户(client)式使用方法:直接使用MATLAB的对象程序员式使用方法:自己极限底层编程,生成自己的类6.2类与对象的设计面向对象编程需要用户自己去设计类,其中类名的选择、域的选择、类的定义等类建立起来之后,还需为类编写响应函数要设计一个类需要如下的几个步骤:选择类的名字。类名的选择与变量名选择的原则是一致的建立空白文件夹,可以建立一个以@引导的文件夹为类设计域。域可以存储类的必要参数编写两个必要的函数。与类同名的文件和display.m设计必要的回调函数,响应类的操作以伪多项式为例演示类的编程伪多项式(pseudo-polynomial)的数学模型例6-1设计一个伪多项式类取一个名字ppoly,可以用which先查是否被占用创建@ppoly文件夹为该类设计域:域名a:域名na:例6-2
编写类的定义函数ppoly.m设计类允许的调用格式给出两个向量:给出一个向量,生成多项式:定义算子:类编程的空白框架定义类classdefppoly,…end域名定义:properties,a,na,end方法定义methods,…,end,所有的响应函数设计的主函数类定义函数清单例6-3
为ppoly类编写显示函数显示化简必要的字符串组合,如+1s化简为+s例6-4输入伪多项式输入伪多项式两种输入方式方法一方法二,先声明算子再输入6.2.3
加减法运算的重载函数所有的回调函数都需要编写回调函数的名字不能任写,应该遵从每种规则例6-5
编写加减法的存在函数加法应该编写plus.m文件思路:将两个伪多项式的a,na域都串接起来合并同类项,化简伪多项式(后面介绍)减法的实现:先自反,再相加6.2.4乘法运算的重载函数数学基础Kronecker乘积MATLAB求解Kronecker和例6-6为ppoly类编写乘法重载函数乘法重载函数的思路系数向量由Kronecker乘积获得,阶次为Kronecker和合并同类项,化简伪多项式MATLAB程序实现允许任意多个伪多项式连乘积p=p1*p2*p3*p4例6-7
两个伪多项式连乘积已知伪多项式MATLAB输入与乘积输入伪多项式,计算乘积例6-8计算6.2.5乘方运算重载函数乘方运算乘方运算是有条件的如果p(s)是真正的伪多项式,则n
必须为整数否则乘方不是ppoly对象(自反性)可以由连乘积实现,可以使用循环如果p(s)为单项,n
可以为小数例6-9
对ppoly类编写出乘方重载函数MATLAB实现考虑前面提及的条件,编写重载函数例6-10
由加减乘除运算输入伪多项式输入为多项式MATLAB实现先定义算子s利用四则运算输入伪多项式例6-11
计算伪多项式乘方已知伪多项式计算前面给出的计算方法6.2.6合并同类项重载函数合并同类项的思路所有的系数、阶次重新排序按照阶次从大到小排列对新的阶次向量求差分将差分值等于0(绝对值小于1e-10)项的系数加到前面的项系数上对生成的新系数向量进行检测如果某项系数为0(绝对值小于1e-5),删除该项系数与阶次根据上面介绍的方法编写合并同类项的重载函数例6-12
合并同类项重载函数根据前面介绍的思路,用MATLAB实现完成类的设计注意前面介绍的重载函数都应该置于@ppoly文件夹内不能置于其他文件夹内,否则会影响其他函数,带来麻烦在路径设置时,不必加入@ppoly,其上一级文件夹在MATLAB的搜索路径下即可还可以增加其他的重载函数,留作习题如eq、latex、set、get等6.3应用程序的界面设计还可以为自编的应用程序设计图形用户界面6.3.1图形用户界面的对象6.3.2简易对话框可以用一个命令直接使用的标准对话框例6-13
使用参数对话框打开一个参数对话框提示输入传递函数的分子和分母字符串两个提示对应字符串给出MATLAB命令分子和分母字符串由mod{1}、mod{2}返回提取分母多项式系数或6.3.3标准对话框的编程与使用常用的标准对话框例6-14打开标准的字体设置对话框6.3.4用AppDesigner设计应用程序早期版本MATLAB建议用guide函数设计界面AppDesigner的功能更强大,设计界面更容易键入appdesigner命令启动设计界面工具分区窗口界面绘制区属性编辑区例6-15
简单界面的设计空白界面,带有两个组件静态文本组件,初始值为空白的字符串按钮组件,字符串为PressMe期望的程序功能按钮按下时,在静态文本组件上显示“HelloWorld!”程序实现主动组件与被动组件任务分派与回调函数设计例6-16Brown
运动的动画演示绘制界面,设计组件编辑框,输入粒子的数目N标尺组件,也可以输入粒子数,与编辑框联动编辑框,输入比例因子s按钮Animation,按下该按钮则启动动画演示坐标系,Brown运动动画演示的场所核心代码:参见例5-26界面布局与任务分派文件名c6mbrown.mlapp主动组件按钮N编辑框滚动杆滚动杆与编辑框联动回调函数动画按钮的回调函数任务分派获得坐标系的句柄打开存文件对话框,选择建立存储视频文件从两个编辑框读入参数N(赋给变量n)和s生成含有n
个随机数的x、y
向量进入循环,每步找出绘制粒子的位置,生成一帧动画完成循环,则将动画存成视频文件关闭视频文件回调函数例6-17程序漏洞界面编程中可预见性错误常见:编辑框输入了非数字由于这里的编辑框使用了“编辑字段(数值)”不允许出错另一个可能出现漏洞的是联动如果超出了滚动杆量程,做特殊处理(强行设置为100)第七章:微积分与积分变换求解CalculusandIntegralTransform主讲:薛定宇
东北大学信息学院国家级
一
流
本
科
课
程
建设MATLAB科学运算与仿真第7章微积分与积分变换求解CalculusandIntegralTransforms主讲:薛定宇东北大学信息学院MATLAB科学运算与仿真国家级一流本科课程建设第7章微积分与积分变换求解传统微积分课程主要介绍极限、微分、积分、级数求和与函数逼近等内容主要使用手工推导的方法求解问题需要做大量习题,积累大量经验,需要掌握求解问题的技巧考试之后,在工作中遇到微积分问题,你还会求解吗?传统微积分课程的局限性函数(序列)必须已知,否则无法计算很多问题无解析解本章主要内容微积分问题的解析单变量与多变量的极限、微分、积分函数的级数逼近与效果评价Taylor与Fourier级数逼近;级数求和、求积与收敛性微积分问题的数值积分变换入门Laplace、Fourier与z变换,解析解与数值解7.1微积分问题的解析求解微积分问题的解析求解工具7.1.1单变量函数的极限函数的极限物理意义MATLAB求解求解极限问题的三个步骤申明符号变量,有时需要进一步设置变量属性用符号表达式描述原函数调用limit函数直接求解,无需其他技巧例7-1
简单极限问题的求解求极限:最简单的极限问题该极限的结果为1,如何用MATLAB求解?三个步骤MATLAB直接求解由于只有一个符号变量,不会产生歧义传统求极限之外可以得到的信息除了求极限,还可以观察在x=0的小邻域内,原函数的变化情况:原函数以什么方式趋近于1MATLAB绘图语句引入小的偏移量,将向量上的x=0点剔除不建议使用fplot函数例7-2
复杂一点的极限问题极限问题利用三个步骤求解这个问题与前面的简单问题一样容易也可以使用符号表达式例7-3
极限问题数学描述直接求解函数曲线例7-4
需要分段考虑的极限问题求解极限问题在传统方法下需要分段考虑利用MATLAB可以直接计算,自动分段需要假设x为实变量,否则结果更麻烦序列的极限可以将自变量定义为整数,也可以不定义直接调用limit函数求极限例7-5求极限直接求解绘图例7-6
求极限求解极限问题MATLAB命令单边极限单边极限的数学模型MATLAB求解例7-7
求单边极限求解下面的单边极限MATLAB求解7.1.2
多元函数的极限两类极限问题累极限重极限例7-8
累极限累极限问题MATLAB求解命令例7-9
重极限计算重极限问题尝试几个不同的方向图形表示例7-10
求重极限重极限的数学形式MATLAB求解假设y=rx图形显示7.1.3函数求导函数导数的定义函数导数求解基于定义的计算直接计算例7-11
由定义求导数已知函数由定义计算导数定义求解语句例7-12
由函数直接求导已知函数直接求解一阶导数四阶导数100阶导数求导并计时例7-13
求函数的n
阶导数已知函数调用diff函数时不允许使用n,只能使用给定数值选择几个阶次,总结规律多元函数的偏导数给定二元函数一般的偏导数定义高阶偏导数记号例7-14梯度及图形表示二元函数一阶偏导数(梯度)计算图形表示例7-15
三元函数偏导三元函数求4阶偏导数偏导数计算与化简隐函数的偏导数二元隐函数,记一阶偏导数二阶偏导数n阶偏导数递推公式高阶偏导数的MATLAB实现递推公式MATLAB实现例7-16
隐函数求导已知隐函数求导数MATLAB求解参数方程的导数已知参数方程参数方程的高阶导数递推公式与MATLAB实现递推公式MATLAB实现例7-17
参数方程的导数参数方程求导MATLAB求解7.1.4函数的积分积分问题是函数求导的反问题不定积分:被积函数f(x),原函数F(x),原函数族MATLAB的直接计算不支持n
阶重积分运算例7-18
积分运算原函数一阶导数后积分运算4阶导数后积分运算例7-19
不定积分求解不定积分问题MATLAB求解定积分及MATLAB求解定积分问题的数学描述MATLAB求解积分边界可以使用inf可以直接求解反常积分问题积分结果可以使用vpa函数得出具体数值例7-20
定积分计算定积分问题MATLAB求解积分问题的图形表示:填充图形反常积分的求解被积函数在(a,b)求解存在不连续的c点在数学上的求解方法分成两个积分区间(a,c),(c,b)再求解MATLAB的int函数嵌入这样的规则可以直接求解反常积分问题例7-21
反常积分计算反常积分问题被积函数在x=e点不连续,分母为0MATLAB直接求解重积分与计算二重积分三重积分重积分可以由int函数嵌套执行,计算结果例7-22
双重积分双重积分问题MATLAB求解(近似解极其耗时)例7-23
三重积分三重积分MATLAB求解结果可能含有特殊函数7.2函数的级数逼近与效果评价级数问题的MATLAB求解函数7.2.1Taylor级数关于x=a
点的Taylor近似其中,有限项拟合的残差为MATLAB的直接求解例7-24
函数的Taylor级数逼近原函数求9阶Taylor级数展开理论上是无穷级数,收敛域有限项逼近理论上的收敛域是MATLAB图形功能的对比研究例7-25正弦函数的T
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026-2030年中国蜡染布行业市场全景调研及未来趋势研判报告
- 2026年中介客服晋升模拟试题及答案详解
- 2026年美线货代专业知识题库(含答案)
- 2026年度重庆市招聘村级后备干部备考题库(含答案)
- 2026年新北京安全员c证考试题库(含答案)
- 2026年小学教育导论模拟试题及答案详解
- 2026年中国乙酸辛酯行业市场调查研究及投资潜力预测报告
- 2026年west3题库(含答案)
- 中职学校班主任经验交流课件(2026年):班主任工作的道与术
- 2026年节日礼品行业技术创新动态报告
- 2025-2026学年风筝教学设计图片素材
- 《地球的“面纱”》教学设计-2026-2027学年青岛版四年级科学上册
- GB 48013-2026养老机构基本规范
- 完整版农田建设项目施工组织设计方案
- 2026增材制造用金属粉末球形度控制关键技术突破
- 2026年生态环境行政执法与刑事司法衔接竞赛
- 2026年特殊食品考核测试卷【必刷】附答案详解
- 云知账号案例分析(小约翰可汗)
- 三生公司直销培训课件
- 2025年南京神学院考试题及答案
- 煤矸石处置申请书
评论
0/150
提交评论