版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数学物理建模与计算机辅助设计第一部分:Matlab的学习1第一部分内容1.Matlab的发展、功能和应用的基本情况介绍2.MATLAB的工作界面3.MATLAB的数值计算功能4.MATLAB的符号计算功能5.MATLAB的图形可视化6.MATLAB的程序设计7.本部分作业和习题2MATLAB介绍:与其它语言对比C/C++高级语言编译型编译环境如VC++通用编程Matlab高级语言解释型运行环境Matlab面向数学,工程问题Matlab语言特点语言简洁紧凑,库函数非常丰富运算符丰富具有结构化的控制语句和面向对象编程的特性语法限制不严格,程序设计自由度大程序可移植性好图形功能强大3MATLAB介绍:初步体验MATLAB的功能例:已知函数,如何求导及高阶导数?思路:①由分式求导公式,得出②逐次求导则可以得出问题:求导过程很繁杂,容易出错怎么办?4MATLAB介绍:初步体验MATLAB的功能Matlab解决>>x=sym(‘x’);>>diff(‘sin(x)/(x^2+4*x+3)’,4)>>ans=sin(x)/(x^2+4*x+3)+4*cos(x)/(x^2+4*x+3)^2*(2*x+4)-12*sin(x)/(x^2+4*x+3)^3*(2*x+4)^2+12*sin(x)/(x^2+4*x+3)^2-24*cos(x)/(x^2+4*x+3)^4*(2*x+4)^3+48*cos(x)/(x^2+4*x+3)^3*(2*x+4)+24*sin(x)/(x^2+4*x+3)^5*(2*x+4)^4-72*sin(x)/(x^2+4*x+3)^4*(2*x+4)^2+24*sin(x)/(x^2+4*x+3)^35MATLAB介绍:
发展、功能和应用MATLAB由MATrix和
LABoratory
两词的词头合成。1980年美国的CleveMoler博士首先开发MATLAB。初衷是解决“线性代数”课程的矩阵运算问题。最初的MATLAB是用FORTRAN编写的。1884年Moler与其合作者Little和SteveBangert成立MathWorks公司把MATLAB推向市场。采用C语言编写MATLAB的内核,除原有的数值计算能力外,还新增了数据图视功能。1993年MathWorks公司推出了4.0版本。1997年5.x版本问世。2000年推出6.0版本,2003年推出6.5版本,最新版本是2004年7月推出的7.0版本。6MATLAB介绍:
发展、功能和应用MATLAB是一种直译式的高级语言,比其它程序设计语言容易。MATLAB将易用性与可靠性、通用性与专业性、一般目的的应用与高深的科学技术应用有机的相合。MATLAB不仅是“矩阵实验室”,集科学计算、图象处理、声音处理于一身,提供丰富的Windows图形界面设计方法。MATLAB是功能强大的高级语言,以超群的风格与性能风靡全世界,成功应用于各工程学科的研究域。MATLAB在美国是大学工科学生必修的计算机语言之一(C,FORTRAN,ASSEMBLER,MATLAB)7MATLAB介绍:
MATLAB能做什么?数值分析;数值和符号计算;工程和科学绘图;控制系统的设计和研发;数字图像处理;数字信号处理;通信系统的设计和仿真;财务和金融工程。8MATLAB介绍:
体验强大的表现能力9MATLAB介绍:体验强大的表现能力用四种方法描述cos(x)*sin(y)图形10MATLAB介绍:
体验强大的表现能力利用Matlab进行仿真实验11MATLAB介绍:
MATLAB相关资源TheMathWorks公司官方网站产品与全套工具箱手册下载第三方工具箱下载http://www.M研学论坛(Matlab,Simulink栏目)/index.html博士家园论坛网站(各类数学问题)电脑技能坊Matlab资料/Get/M08A45/index.aspMatlab基础/machine/matlab/index1/1.htm12MATLAB介绍:
MATLAB的构成Matlab由5部分组成1)Matlab工作环境2)Matlab语言体系3)图形句柄系统4)Matlab数学函数库5)Matlab应用程序接口(API)13MATLAB的工作界面:工作环境命令窗口历史命令菜单栏>>为提示符,在当前提示符后输入命令按Enter后,Matlab将给出结果.14MATLAB的工作界面:工作空间在工作空间管理窗口显示所有目前内存中的Matlab变量的变量名,数学结构,字节数以及类型,不同类型分别对应不同图标.双击图标可查看15MATLAB的工作界面:工作环境16MATLAB的工作界面:调试编辑器17MATLAB的工作界面:联机帮助系统1.联机帮助系统2.命令窗口查询帮助系统3.联机演示系统18MATLAB的工作界面:命令窗口常用命令type—可显示指定M文件的内容whos—变量查询函数,列出在Matlab工作空间中已经驻留的变量名清单ans—预设计算结果变量名,输入后显示上一次未指定变量名的计算结果clear—清除所有定义过的变量名clc—清屏clf—清除图形窗help—显示当前帮助系统中所有主题help+函数名—提供该函数的使用方法lookfor+函数名—查找一个不知确切名称的函数19MATLAB的数值计算功能1Matlab的数据类型2向量及其运算3矩阵及其运算4多项式运算5结果保存与再用6Matlab矢量化20MATLAB的数值计算功能:数据类型Matlab数据类型主要包括数字11.23.1415926字符串Ihavemanygoodfriends!矩阵单元型数组结构型变量不同类型数据组合在一起,用指针传递数据Matlab不要求事先声明要使用的变量Matlab不需要指定变量类型[1234]1'abcd'21MATLAB的数值计算功能:数据类型变量命名规则由一个字母开头,后面可以为字母,数字,下划线,但不能使用标点区分大小写
Abc≠ABc变量名长度不超过31个字符,31个字符之后将被忽略有效MYvar12,MY_Var12和MyVar12_错误的变量名12MyVar,_MyVar12变量的作用域未加说明时,默认一切变量为局部变量,本M文件内有效关键字global定义全局变量,可以在多个M文件间有效.(非必须)作为好的风格,全局变量常用大写字母表示22MATLAB的数值计算功能:数据类型Matlab预定义一些常量常量名常量值常量名常量值i,j虚数单位,i2=-1Realmin最小正浮点数,2-1022pi圆周率Realmax最大正浮点数,21023eps机器零阈值Inf无穷大,如1/0NaN不是一个数,如0/023MATLAB的数值计算功能:数据类型>>pians=3.14159265358979>>1/0Warning:Dividebyzeroans=
Inf>>0/0Warning:Dividebyzeroans=
NaN24MATLAB的数值计算功能:数据类型Matlab中,应避免变量与常量同名.若已重名,通过clear+常量名恢复例:>>pi=1pi=1>>clearpi>>pians=3.1415926535897925MATLAB的数值计算功能:数据类型数字变量运算>>258*369ans=95202%这里ans指当前计算结果>>x=258*369x=95202%计算结果赋给变量x>>x=258*369;>>%用分号;结束一行,中间结果不显示>>x>>x=95202%输入变量名,则可查询此变量26MATLAB的数值计算功能:数据类型数值计算的基本运算符号加法+减法-乘法*除法/乘方^开方sqrt数值计算的基本运算符号的优先级^和sqrt>*和/>+和-27MATLAB的数值计算功能:数据类型数值计算的显示格式缺省情况下,整数输出为整数,实数输出为小数点后4位浮点数MATLAB中数据采用IEEE浮点标准规定的长型格式存储,数值的有效范围为10-308~10308。MATLAB的输入输出格式完全继承了C语言的风格和规则。28MATLAB的数值计算功能:数据类型数字输入输出格式:Matlab数据存储和运算总是以双精度进行的根据类型显示不同形式:format命令控制显示格式>>x=sqrt(2)x=1.4142>>formatlong>>xx=1.4142135623731029MATLAB的数值计算功能:数据类型数值计算的显示格式控制
指令含义举例说明format
通常保证小数点后四位有效,最多不314.159被显示为314.1590
超过7位,对于大于1000的实数,用53141.59被显示为3.1416e+003formatshort
位有效数字的科学记数形式显示
formatlong
15位数字表示
3.14159265358979formatshorte
5位科学记数表示3.1416e+00formatlonge
15位科学记数表示3.14159265358979
e+0030MATLAB的数值计算功能:数据类型作业1.请指出如下5个变量名中,哪些是合法的?abcd-2xyz_33chana变量ABCDefgh2.在MATLAB指令窗口中运行指令(-32)^(1/5)后,会得到-2么?的全部方根有几个,并且写出全部方根的M脚本文件。3.在当前MATLAB过程中已经被执行过的指令如何被重新调回再次运行?在以前MATLAB过程中被执行过的指令如何被调回再运行?31MATLAB的数值计算功能:向量及其运算向量的生成的三种方式1直接输入向量>>a=[123456789]>>b=[1;2;3;4;5;6;7;8;9]用空格或逗号生成行向量,用分号生成列向量2利用冒号表达式基本形式x=x1:step:xn>>a=1:2:11a=13579113线性等分向量生成基本格式y=linspace(x1,x2,n)>>y=linspace(1,100,6)y=1.000020.800040.600080.2000100.000032MATLAB的数值计算功能:向量及其运算向量的基本运算1.向量与数的四则运算向量与数的加法和减法>>vec1=80:-9:10vec1=8071625344352617>>vec1+101ans=18117216315414513612711833MATLAB的数值计算功能:向量及其运算向量的基本运算1.向量与数的四则运算向量与数的乘法和除法>>vec2=linspace(10,100,9)vec2=10.000021.250032.500043.750055.000066.250077.500088.7500100.0000>>vec2/100ans=0.10000.21250.32500.43750.55000.66250.77500.88751.0000>>vec2*2ans=20.000042.500065.000087.5000110.0000132.5000155.0000177.5000200.000034MATLAB的数值计算功能:向量及其运算向量的基本运算2.向量与向量之间的加减运算向量与向量的加法(减法)运算:向量中的每个元素与另一个向量相应的元素的加法(减法)运算。>>vec1=linspace(200,500,7)vec1=200250300350400450500>>vec2=linspace(900,600,7)vec2=900850800750700650600>>vec3=vec1+vec2vec3=110011001100110011001100110035MATLAB的数值计算功能:向量及其运算向量的基本运算向量点积:两个向量在其中一个向量方向上的投影的乘积向量点积实现方法dot(a,b)向量点积函数,返回a和b的数量点积,a和b须同维>>a=[1,2,3];b=[3,4,5];>>dot(a,b)ans=26AB另一种实现点积方法:>>sum(a.*b)ans=2636MATLAB的数值计算功能:向量及其运算向量的基本运算向量叉积向量叉积的实现c=cross(a,b)返回向量a和b的叉积,a和b维度必须同为3>>a=[1,2,3];b=[3,4,5];>>c=cross(a,b)c=-24-2ABC37MATLAB的数值计算功能:向量及其运算向量的基本运算向量混合积向量积的实现>>dot(a,cross(b,c))ans=24>>cross(a,dot(b,c))???Errorusing==>crossAandBmustbesamesize.BCA38MATLAB的数值计算功能:向量及其运算作业1.令A=[1,2,3],B=[3,1,4],C=[9,-1,4](1)求A和B的点积;
(2)求B和C的叉积;
(3)求A、B、C的混合积。2.首先生成一个1×10的随机数组A,然后将它的第5个元素和第8个元素取出,并对它们进行四则运算39MATLAB的数值计算功能:矩阵及其运算矩阵的生成方式直接输入小矩阵例:表示矩阵a=>>a=[123;456;789]a=1234567891.矩阵大小可不预先定义2.行元素用空格或逗号格开行之间用分号或回车符分开3.输入矩阵要以"[]"为标识40MATLAB的数值计算功能:矩阵及其运算矩阵的生成方式创建M文件输入大矩阵M文件是一种可以在MATLAB环境下运行的文本文件,可以分为命令式文件和函数式文件。这里用到的是命令式文件,可以方便地创建大矩阵。例:编制一个名为example.m的M文件,内容如下%example.mexm=[456468873257955216785448881365465688980215]>>example41MATLAB的数值计算功能:矩阵及其运算矩阵的基本数学运算矩阵的基本数学运算包括:与矩阵的四则运算与常数的运算逆运算行列式运算幂运算指数运算对数运算开方运算42MATLAB的数值计算功能:矩阵及其运算矩阵与矩阵的四则运算矩阵与矩阵的加减运算,运算符号为+和-,要求两个矩阵同阶>>a=[123;234;345];>>b=[111;222;333];>>c=a+bc=23445667843MATLAB的数值计算功能:矩阵及其运算矩阵的四则运算矩阵的乘法运算,运算符号为*,要求两个矩阵有相邻公共维,即若A为i×j阶,B必须为j×k阶时A和B才能相乘>>e=[b,[555]']e=111522253335>>f=a*ef=14141430202020452626266044MATLAB的数值计算功能:矩阵及其运算矩阵的四则运算矩阵的除法运算,分为左除\和右除/运算。对两种除法的直观理解左除"\":X=A\B是方程式A*X=B的解右除“/”:X=B/A是方程式X*A=B的解通常用矩阵的除法求解方程组的解对方程组Ax=b,其中A是一个n×m阶矩阵,则当n=m且A非奇异时,方程成为恰定方程当n>m时,方程称为超定方程(方程数多于变量数)当n<m时,方程称为欠定方程(方程数少于变量数)45MATLAB的数值计算功能:矩阵及其运算矩阵的四则运算矩阵的除法运算例:求解线性方程组Ax=b,A=[5128;658;9610],b=[7;11;7];>>A=[5128;658;9610];>>b=[7;11;7];>>x=A\bx=-4.7073-1.24395.682946MATLAB的数值计算功能:矩阵及其运算矩阵与常数的运算常数与矩阵的运算是常数与矩阵各元素之间的运算。需要注意的是进行除法运算的时候常数通常只能做除数。矩阵的逆运算矩阵的逆运算用命令inv计算>>a=[21-3-1;3107;-124-2;10-15];>>inv(a)ans=-0.04710.5882-0.2706-0.94120.3882-0.35290.48240.7647-0.22350.2941-0.0353-0.4706-0.0353-0.05880.04710.294147MATLAB的数值计算功能:矩阵及其运算矩阵的行列式运算矩阵的行列式运算用命令det计算>>a1=det(a)a1=-85>>a2=det(inv(a))a2=-0.0118>>a1*a2ans=1.000048MATLAB的数值计算功能:矩阵及其运算矩阵的幂运算矩阵的幂运算和数字的幂运算的形式相同,即用算符^来表示。>>a=[1,2,3;4,5,6;7,8,9]a=123456789>>a^3ans=468576684106213051548165620342412>>a.^3ans=18276412521634351272949MATLAB的数值计算功能:矩阵及其运算矩阵的基本函数运算矩阵的函数运算是矩阵运算中最为实用部分,主要包括特征值的计算、奇异值的计算、条件数、各类范数、矩阵的秩和迹的计算、矩阵的空间运算等。矩阵的特征值和特征向量:E=eig(A)
%命令生成由矩阵A的特征值所组成的一个列向量。[x,y]=eigs(A)
%命令生成两个矩阵,其中x是以矩阵A的特征向量作为列向量组成的矩阵,y是由矩阵A的特征值作为主对角线元素构成的对角矩阵。例:计算矩阵A的特征值和特征向量50MATLAB的数值计算功能:矩阵及其运算矩阵的基本函数运算矩阵的特征值和特征向量>>A=[73-2;34-1;-2-13];>>[x,y]=eig(A)x=0.5774-0.0988-0.8105-0.57740.6525-0.49080.57740.75130.3197y=2.00000002.39440009.6056注:特征值对应的列向量是其对应的特征向量。51MATLAB的数值计算功能:矩阵及其运算矩阵的基本函数运算矩阵的秩和迹的计算矩阵的秩的求解可由函数rank实现矩阵的迹的求解可由函数trace实现例:求矩阵的秩和迹>>e=[1123;2234;3345;44812];>>rank(e)ans=2>>trace(e)ans=1952MATLAB的数值计算功能:矩阵及其运算一些特殊矩阵的生成全0矩阵>>zeros(m,n);%生成m*n阶的全0阵单位矩阵>>eye(m,n);%生成m*n阶的单位阵全1矩阵>>ones(m,n);%生成m*n阶的全1阵随机矩阵>>rand(n);%生成n*n阶(0,1)区间均匀分布的随机阵>>rand(m,n);%生成m*n阶(0,1)区间均匀分布的随机阵>>randn(m,n);%生成m*n阶正态分布的随机阵,均值为1,
方差为0,标准差为153MATLAB的数值计算功能:矩阵及其运算矩阵元素的定位和获取取出矩阵中某一个元素>>a(i,j)取出矩阵某几行(列)元素>>a(x1:x2,:)>>a(:,y1:y2)>>a(x1:x2,y1:y2)54MATLAB的数值计算功能:矩阵及其运算矩阵对角抽取diag(m)diag(m,k)diag(v,k)a=0.95010.89130.82140.92180.23110.76210.44470.73820.60680.45650.61540.17630.48600.01850.79190.4057diag(a,3)=[0.9218]diag(a,2)=[0.82140.7382]’diag(a,1)=[0.89130.44470.1763]’diag(a,0)=[0.95010.76210.61540.1763]’diag(a,-1)=[0.23110.45650.7919]’diag(a,-2)=[0.60680.0185]’diag(a,-3)=[0.4860]’V=[1234567];diag(V,2)ans=00100000000020000000003000000000400000000050000000006000000000700
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年碳排放权交易与许可合同
- 2024年股东保密协议:保护商业秘密共创双赢
- 2024年道路灯光设备安装协议
- 2025年度离婚协议书争议解决机制设计合同3篇
- 2024建筑工程整洁施工管理合同一
- 2024餐馆废弃物处理合作协议
- 2024年跨国健康产业投资与服务合同
- 2024软件公司关于信息系统集成与运维的合同
- 2025年度城乡公司农村电商服务平台开发与运营合同3篇
- 2024年矿区环境保护与修复协议
- DB37T 5175-2021 建筑与市政工程绿色施工技术标准
- GB∕T 26465-2021 消防员电梯制造与安装安全规范(高清最新版)
- 泌尿道感染临床路径
- 古诗词常见的修辞手法讲课教案
- 科研项目评审评分表
- A5技术支持的课堂导入作业1—问题描述.针对日常教学中的某一主题针对教学目标、教学内容以及教学对象用简短的语言描述当前课堂导入环节中存在的问题和不足以及借助信息技术改进课堂导入的必要性
- 2-07端阳赛马节的传说
- 国家开放大学《土木工程力学(本)》章节测试参考答案
- 衣柜技术标准
- 某隧道二衬检测报告范本(共13页)
- (完整版)临时用电施工合同
评论
0/150
提交评论