数学实验3公开课获奖课件_第1页
数学实验3公开课获奖课件_第2页
数学实验3公开课获奖课件_第3页
数学实验3公开课获奖课件_第4页
数学实验3公开课获奖课件_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Matlab数学试验安阳师范学院数学科学学院第1页目录Matlab入门Matlab编程与作图矩阵代数函数和方程应用微积分常微分方程Matlab符号计算-2-132第2页MatrixLaboratory矩阵试验室Matlab入门Matlab简介Matlab发展历史与特性Matlab桌面元素数值数组与运算基本操作、语法、常用函数数组创立与寻访数组运算与数组操作函数字符串、元胞和构造-2-133第3页1.Matlab简介Matlab发展历史与特性发展历史1984年,MATLAB第1版(DOS版)1988年,MATLAB3.0版(DOS版)1993年,MATLAB4.0版1994年,MATLAB4.2版1997年,MATLAB5.0版1999年,MATLAB5.3版,MATLAB6.0版年,MATLAB6.1版20,MATLAB6.5版20,MATLAB7.0版CleveMoler——Matlab软件创始人-2-134第4页1.Matlab简介特性卓越数组和矩阵运算能力强大数据可视化功能丰富函数库和工具箱如:A=magic(3);det(A)-2-135第5页1.Matlab简介Matlab桌面元素窗口指令窗(CommandWindow)工作空间(Workspace)目前目录(CurrentDirectory)指令历史(CommandHistory)菜单和工具栏菜单工具栏-2-136第6页上机练习1:Matlab界面及协助使用在指令窗输入“clear;a=2,b=3,a+b”,回车后观测输出成果,注意工作空间变化。运行who,whos命令察看变量状况。用help命令察看matlab对“clear”协助。将a,b两个变量保留为名为dat_ab.mat数据文献。输入“clear;a,b”后回车,观测指令窗及工作空间变化,用who命令察看内存中变量。输入“loaddat_ab”后回车,再用who命令察看变量状况。用help命令察看“who”、“whos”协助。作业:观看Matlab中Mathematics\BasicMatrixOperationsDemo演示程序并按照其指导完毕同样操作。-2-137第7页2.数值数组与运算基本操作、语法、常用函数变量命名:字母开头,后接字母、数字或“_”。最长63位。Matlab辨别大小写!系统预定义变量:i(j),pi,eps,realmax,realmin,Inf,NaN赋值方式:变量=表达式。若无变量,则表达式值赋给系统变量“ans”。一行书写多种命令:命令之间用“;”或“,”分隔。两者有辨别。“%”后为注释语句,不执行。续行用“…”。清除内存变量:clear;清除指令窗:clc。-2-138第8页2.数值数组与运算简询内存变量:who;详询内存变量:whos;查找函数文献途径:which数据显示格式命令:formatshort:短格式(4位小数)formatlong:长格式(15位定点数)formatshorte:短格式e方式formatlonge:长格式e方式formatbank:金融元、角、分formathex:十六进制格式注:数据寄存格式总是双精度浮点数-2-139第9页2.数值数组与运算常用函数abs%取模(绝对值),对字符取ASCII码(同double)。min%取最小,注:对一维数组和二维数组有辨别。max%取最大,注:同上。sum%求和,注:同上。prod%求积,注:同上。sort%排序,注:同上。eval%计算字符表达式值。find%以列向量形式返回数组中满足条件元素下标。size%以行向量形式返回各维长度。length%所有维中最长长度。即max(size(A))。ndims%返回数组维数。即length(size(A))。-2-1310第10页上机练习2:mandwindow和常用函数用help察看系统预定义变量状况。观测各显示格式命令对数pi影响。设定三个标量,分别是实数,复数和字符,考察abs函数对它们作用。运行A=magic(4)生成4阶魔方阵,分别以min,max,sum,prod,sort函数对A操作,分析其成果。运行eval([‘fplot(’,‘’‘sin’‘,’,‘[-8,8])’]),观测图形窗口变化,理解eval函数作用。用help命令察看“who”、“whos”协助。自己构造一维或二维数组,考察size,length,ndims函数作用,并验证其关系。作业:判断下面语句显示成果,并在Matlab中验证。1)abs([3+4i,6-8i,-pi,inf])2)min([3+4i,6-8i,-pi,inf])3)max([3+4i,6-8i,-pi,inf])4)sum([3+4i,6-8i,-pi,inf])5)eval(‘find(size([5,6,7,8])<4)’)-2-1311第11页2.数值数组与运算数组创立与寻访一维数组创立与寻访创立措施逐一输入法:x=[2*pisqrt(3)3+5i]冒号生成法:y=a:inc(步长):b%inc为采样点间隔定数线性采样法:z=linspace(a,b,n)%生成1×n数组,a,b为生成数组首尾元素,n为采样总点数,即把原区间n-1等分。故等同于:z=a:(b-a)/(n-1):b寻访(赋值)措施下标寻访法:x(3),x(find(x>3))%访问数组x第3个元素子数组寻访法:x([135])%访问数组x第1、3、5个元素x(3:end)%访问数组x除前2个元素外剩余元素x(3:-1:1)%数组x前3个元素倒排形成数组逻辑寻访法:x(x>3)%取出数组x中不小于3所有元素,注意它和x(find(x>3))不一样样。本质上,一维数组仍是二维数组!Matlab中虽然数字也是二维。-2-1312第12页2.数值数组与运算赋值:寻访数组=表达式(值)二维数组创立与寻访创立措施直接输入法:[1,2,3;4,5,6]特殊矩阵创立法:zeros、ones、eye、rand、randnreshape函数重组法:reshape(1:6,2,3)%成果同直接输入法repmat函数铺排法:repmat(A,2,3)%成果把A在行维上排2个,列维上排3个。寻访(赋值)措施见下表-2-1313第13页2.数值数组与运算子数组使用说明应用举例A(r,c)由Ar指定行和c指定列上元素组成。A(1:3,2:4)A(r,:)由Ar指定行和全部列上元素组成。A([3,2],:)A(:,c)由A全部行和c指定列上元素组成。A(:,1)A(:)单下标全元素寻访。由A各列按从左向右,自上而下组成一维长列。A(:)A(s)单下标寻访。生成s指定一维数组。结果:A(s)与s同为长度相同行(列)数组。A(2:12)A(L)%L为逻辑数组逻辑1寻访。由与A一样大小逻辑数组L中“1”元素选出A对应元素,按单下标组成一维长列。A(A>5&A<10)A(r,c)=Sa以双下标方式,对子数组A(r,c)赋值。Sa行宽、列长必须与A(r,c)相同。A(1:3,2:4)=ones(3)A(:)=D(:)全元素赋值。A、D两数组总元素数必须相等。结果:Asize不变。A(:)=[1:8;-8:-1]A(s)=Sa单下标部分元素赋值。S单下标数组长度必须与一维数组Sa相同。A([3,5,9])=10:12A=reshape(1:16,4,4)-2-1314第14页2.数值数组与运算数组运算与数组操作函数数组运算四则运算数组加减:A+BA-B%A与B有同样size.数组乘法:A.*B%同上数组乘方:A.^B%同上数组除法:A.\BB./A%同上数与数组运算:kopA%A每一元素与k作运算.数学函数运算基本初等函数取整函数求余函数设A=[aij],B=[bij],op为运算符,则AopB=aijopbij设A=[aij],f为函数名,则f(A)=f(aij)-2-1315第15页2.数值数组与运算关系与逻辑运算关系运算符:<,<=,>,>=,==,~=逻辑运算符:~,&,|关系逻辑函数:xor(A,B),any(A),all(A),isequal(A,B)运算优先级:~→关系运算→&→|数组操作函数数组生成函数:zeros,ones,eye,rand,randn,magic,diag,triu,tril数组构造函数:reshape,repmat数组翻转函数:flipdim,fliplr,flipud,rot90高维数组0为假,非0数为真。规定A,B大小相似,A与B运算为A和B对应元素运算。成果生成与A,B同样大小0,1逻辑数组。-2-1316第16页上机练习3:数组运算及操作任意构造两个数组,看它们与否能进行加减运算。构造两个尺寸相似二维数组,考察数组乘和矩阵乘辨别。考察数组乘方和矩阵乘方辨别。A./B和B.\A成果与否相似,为何?A/B和B\A成果与否相似,为何?练习取整和求余函数使用。练习数组间关系与逻辑运算及有关函数使用。练习数组操作函数magicdiagtriutrilreshaperepmatflipdimfliplrflipudrot90使用。作业:判断下面语句显示成果,并在Matlab中验证。A=[0,3;1,5];B=[1,3;0,6];1)A>B,A==B,~A==~B2)A&B,A|B,xor(A,B),any(A),all(B),isequal(A,B)3)A./B,A.^B,A*B,A/B,A\B4)C=[A,B],D=reshape(C,4,2)5)diag(C),diag(C,1),triu(C),tril(C)6)flipdim(C,2),fliplr(C),rot90(C)-2-1317第17页2.数值数组与运算字符串、元胞、构造字符串创立直接输入:a=‘I’;b=‘love’;c=‘matlab’;单行串数组拼接:d=[a,’‘,b,’‘,c]多行串数组拼接:char(a,b,c)%试察看其size字符串操作函数字符→ASCII码:double(a),abs(a)ASCII码→字符:char(number)大小写转换:lower(s),upper(s)执行串指令:eval(s)数字←→字符:num2str,str2num空格串生成和删除:blanks(n),deblank%截去尾部空格,strtrim%截去首尾空格一种字符(不管中、英文)占一列。但虽然是单字符串也是二维。-2-1318第18页上机练习4:字符串操作a=‘ilovematlab,whichisagreatsoftwareformaths.’ 1)求出a中单词个数 2)把a每个单词首字母变为大写 3)删除a中所有空格生成大写字母A-Z序列,赋值给变量AZ;生成小写字母z-a序列,赋值给变量za.在AZ每一元素前加一种空格。-2-1319第19页2.数值数组与运算元胞元胞数组创立外标识元素赋值法:A(r,c)={数组a},如A(1,1)={1:3};A(2,2)={[‘我和你’]}内编址元素赋值法:A{r,c}=数组a,如A{1,1}=1:3;A{2,2}=‘我和你’元胞数组显示显示构造:用外标识法显示内容:用内编址法,或celldisp(A)指令形象化图示:用cellplot(A)指令元胞数组寻访寻访方式:用内编址法,如A{2,2}([3,2,1])元胞数组用于寄存不一样样类型,不一样样size数据。从数学角度看,元胞数组类似于集族概念。元胞创立和显示可通过“外标识”和“内编址”两种方式完毕,寻访则用“内编址”方式。-2-1320第20页2.数值数组与运算构造构造数组创立与显示直接对域赋值创立:G(r,c).f1=数组a,G(r,c).f2=数组b, 如G(1,1).sp=‘信计’;G(2,2).nu=45域调用显示:G.f1,G(r,c).f1元素调用显示域内容:G(r,c)域删除:rmfield(S,field)%删除构造Sfield域元胞与构造转换构造→元胞:C=struct2cell(S)%将构造S转为元胞C。若S为具有p个域m×n构造数组,则C为p×m×n元胞数组。元胞→构造:S=cell2struct(C,field,dim)%将元胞C转为构造S。把dim指定维转为域,该维长度要和field域个数相似。构造数组也可寄存各类数据,它以“域”方式组织和寄存数据。构造数组好比现实中某一单位组织构造。如:某年级分若干班,“专业”即“年级”构造数组一种域。-2-1321第21页上机练习5:元胞与构造生成两行两列元胞数组A,其元素如下:‘Ilovematlab.’[1x14double]‘我和你‘ [1x3double](其中A{1,2},A{2,2)分别为A{1,1},A{2,1}ASCII码) 1)将A{1,1}值改为’Welovematlab.’ 2)将A{1,2}逆序排列后重新赋值 3)将A{2,1}重新赋值为A{1,2}对应字符串生成两行一列两个域构造数组B,域名分别是:str,asc;将元胞数组A4个元素按域名对应赋值给B。分别取行,列为域,把元胞A转为构造C1,C2,与B对照。将构造B转为元胞D,与A对照。-2-1322第22页Matlab编程与作图Matlab程序设计流程控制语句M脚本文献函数文献函数句柄Matlab作图曲线图曲面图图形阐明和定制图形编辑-2-1323第23页1.Matlab程序设计流程控制语句循环语句循环结构语法说明for循环for循环变量=数组指令组;end循环变量依次取数组中值,直到遍历数组。while循环while条件表示式指令组;end条件表示式值为真,则执行循环体,不然退出循环。-2-1324第24页1.Matlab程序设计分支语句分支结构语法说明if分支if条件式1指令组1;elseif条件式2

指令组2;……else

指令组n;end条件式i为真,则执行指令组i后结束,若条件均为假,则执行指令组n后结束。switch分支switch分支变量case值1指令组1;case值2指令组2;……otherwise

指令组n;end分支变量值为i,则执行指令组i后结束,若其不取列出值,则执行指令组n后结束。-2-1325第25页1.Matlab程序设计其他语句语句语法说明中止语句pause暂停执行,直到击键。pause(n)为暂停n秒后继续。break跳出for和while循环return中止执行,回到主调函数或指令窗。error(字符串)显示字符串信息,终止程序。交互语句v=input(字符串)把用户键入内容赋值给v。keyboard控制权交给键盘,用户能够输入任意指令,使用return指令后,控制交还程序。-2-1326第26页1.Matlab程序设计例用循环指令求Fibonacc数列中第一种不小于10000元素。法一:for循环f(1)=1;f(2)=1;fori=3:100%从第三项开始循环f(i)=f(i-2)+f(i-1);%为数列各项赋值iff(i)>10000f(i),i,break%满足条件则显示项及项数,跳出循环endend-2-1327第27页1.Matlab程序设计法二:while循环f(1)=1;f(2)=1;i=2;

whilef(i)<=10000%从第二项开始循环f(i+1)=f(i)+f(i-1);%为数列各项赋值i=i+1;end%满足条件则显示项及项数,跳出循环i,f(i)-2-1328第28页1.Matlab程序设计例从键盘输入若干个数,当输入0时结束输入,求这些数之和。y(1)=input('输入');i=1;whiley(i)~=0i=i+1;y(i)=input('输入');end;s=sum(y(1:i))-2-1329第29页1.已知(1)

n为任意给定整数,求y值。(2)

y≥1.5时,求n值。2.求[100,200]之间第5个能被13整除整数。上机练习5:循环和分支语句编程-2-1330第30页1.Matlab程序设计M脚本文献脚本文献是一系列按顾客意图排列而成指令集合。脚本文献运行时产生所有变量都驻留在基本工作空间,除非顾客使用clear指令清除,或关闭指令窗。在指令窗中运行指令集,显得繁琐且不易调试。这时应当在M文献编辑器中建立M脚本文献。-2-1331第31页1.Matlab程序设计M函数文献函数文献特点形式上,函数文献总以“function”引导函数申明行开头。函数文献运行时产生变量都储存在临时工作空间,文献执行完毕时,变量所有被清除。函数文献构造函数申明行%H1行%helptext%编写和修改记录函数体-2-1332第32页1.Matlab程序设计例求整数n阶乘。functionf=fact(n)%findthefactorialofintegern%%

%Copyright,byYJ.

ifn==1f=1;elsef=n*fact(n-1);end-2-1333第33页1.Matlab程序设计例编程构造符号函数。functions=sig(x)%sign(x)%

%Copyright,byYJ.

ifx>0s=1;elseifx<0s=-1;elses=0;end-2-1334第34页1.Matlab程序设计函数句柄函数句柄使用会使函数调用象变量调用同样灵活,在反复调用时,速度优势更明显。创立函数句柄: fun=@(自变量组)函数表达式 如;sn=@(x)sin(x)/x-2-1335第35页用M脚本程序验证级数发散性。

2.输入正整数n,用函数文献返回1,2,...,n这n个数几何平均值。上机练习6:M程序文献-2-1336第36页2.Matlab作图曲线图作图指令plotfplotplot3图形元素设定线型标识颜色-2-1337第37页2.Matlab作图曲面图作图指令mesh(x,y,z)surf(x,y,z)contour(x,y,z)contour3(x,y,z)作图环节初始数据采样xa,ya生成格点矩阵 [x,y]=meshgrid(xa,ya) 若xa,ya分别是长为m,n向量时,得到x,y均为n行m列矩阵。为z赋值后作图 -2-1338第38页作出在区间[0,100]之间图像。

2.作出二元函数 在平面区域

上图像。上机练习7 作图指令-2-1339第39页Matlab矩阵代数矩阵运算符四则运算符转置运算符矩阵类函数矩阵生成类矩阵提取类矩阵分析类-2-1340第40页1.矩阵运算符四则运算符加、减、乘、乘方A+B、A-B、A*B、A^k(A、B可以是标量)矩阵左除与右除A\B:inv(A)*BB/A:B*inv(A)转置运算符共轭转置A’转置A.’-2-1341第41页2.矩阵类函数矩阵生成类矩阵提取类矩阵分析类trace %矩阵迹rank %矩阵秩det %方阵行列式inv %矩阵逆null %矩阵零空间基,Ax=0解系orth %矩阵列向量空间原则正交基norm %向量或矩阵范数eig %矩阵特性值与特性向量-2-1342第42页Matlab微积分多项式多项式表达方式多项式运算多项式拟合函数零点与极值函数零点函数极值函数微积分函数数值差分、导数、梯度函数数值积分-2-1343第43页1.多项式多项式表达方式以多项式降幂系数向量来表达多项式 p=[a1a2a3…an+1]表达n次多项式 poly2str(p,’x’)可将其转为常见形式多项式运算polyval %y=polyval(p,x)求多项式值conv %p3=conv(p1,p2)求多项式乘积deconv %[p3,r]=deconv(p1,p2)商和余式roots %x=roots(p)多项式所有复根多项式拟合p=polyfit(x,y,k) %用k次多项式p拟合-2-1344第44页求解线性方程组

2.求如下矩阵行列式、逆、特性值、特性向量,并判断其与否正定。3.求多项式所有根,并验证。

上机练习8 代数与分析指令-2-1345第45页2.函数零点与极值函数零点fzero %x=fzero(fun,x0)一元函数零点fsolve %x=fsolve(fun,x0)多元函数零点% 以上二指令中fun可以是Matlab内建函数,inline创立函数或函数句柄。fzero只能求函数穿过x轴零点。函数极值fminbnd % [x,y]=fminbnd(fun,a,b)返回fun一元函数在区间[a,b]内极小值点和极小值fminsearch% [x,y]=fminsearch(fun,x0)返回fun多元函数在初始点x0附近极小值点-2-1346第46页3.函数微积分函数数值差分、导数、梯度diff %diff(x,k)向量或矩阵xk阶差分gradient %Fx=gradient(F,x)一元函数沿x方向导数,[Fx,Fy]=gradient(F,x,y)二元函数F梯度。函数数值积分trapz %I=trapz(x,y)梯形法计算y积分Iquad %I=quad(fun,a,b)Simpson法计算fun在区间[a,b]上积分Idblquad %I=dblquad(fun,a,b,c,d)计算二元函数fun在区域[a,b]×[c,d]上积分Itriplequad%I=triplequad(fun,a,b,c,d,e,f)计算三元函数fun在区域[a,b]×[c,d]×[e,f]上积分I% 积分指令中

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论