《Matlab中的运算-Matlab软件与基础数学实验.ppt》由会员分享,可在线阅读,更多相关《Matlab中的运算-Matlab软件与基础数学实验.ppt(34页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1Matlab中数组及矩阵运算中数组及矩阵运算Matlab中函数的数值运算中函数的数值运算Matlab中的符号运算中的符号运算第一章第一章 MATLAB基本特性基本特性与基本运算与基本运算2 数组及矩阵运算数组及矩阵运算一基本运算一基本运算3A方阵,方阵,B、C为矩阵,为矩阵,s为常数为常数4二、矩阵的建立和访问二、矩阵的建立和访问创建规则创建规则(1)所有元素用“”括起来;(2)同行的不同元素用空格或“,”分割;(3)行与行之间用分号“;”或回车键分割;(4)元素可以是数值、变量、函数、表达式v1.直接输入直接输入v2.通过通过M文件创建文件创建v3.命令生成方式命令生成方式v4.利用函数创
2、建利用函数创建输入方式输入方式5A=1,2,3,4;5,6,7,8;9,10,11,12;13,14,15,16A=12345678910111213141516利用表达式输入利用表达式输入B=sqrt(A)B=1.0000 1.4142 1.7321 2.0000 2.2361 2.4495 2.6458 2.8284 3.0000 3.1623 3.3166 3.4641 3.6056 3.7417 3.8730 4.0000v1.直接输入直接输入6v2.通过通过M文件创建文件创建当创建尺寸较大的向量或矩阵,直接在命令窗口中输入容易出错,且不易修改,因此,可以将数据按照创建原则写入一个M文
3、件.A=1,2,3,4,5 6,7,8,9,10 11,12,13,14,15 16,17,18,19,20 21,22,23,24,257v3.命令生成方式命令生成方式(1)利用冒号生成向量利用冒号生成向量 m:p:n其中其中m表示向量的初值表示向量的初值p表示向量的步长表示向量的步长n表示向量的终值表示向量的终值p为为1可省略,且可省略,且nm.x=2:3:16x=2581114y=4:8y=456788(2)利用利用linspcae()生成向量生成向量linspcae(a:b:n)将区间将区间a,b等分成等分成n-1段,段,返回由段点及分段点坐标返回由段点及分段点坐标产生的产生的n个元素
4、的行向量个元素的行向量.y=linspace(0,2,7)y=00.33330.66671.00001.33331.66672.0000u=2y1u=2.000000.33330.66671.00001.33331.66672.00001.00009v4.利用函数创建利用函数创建10z=zeros(2,3)z=000000a=magic(3)a=816357492b=rand(2,3)b=0.27850.95750.15760.54690.96490.9706B=2-10332;diag(B)ans=23triu(B)ans=2-10300ans=1000-1000211二、矩阵运算和函数二、
5、矩阵运算和函数矩阵常用函数总结矩阵常用函数总结12矩阵的分解函数矩阵的分解函数 13a=1,2,3;4,5,6;7,8,9;v,d=eig(a)v=-0.2320-0.78580.4082-0.5253-0.0868-0.8165-0.81870.61230.4082d=16.1168000-1.1168000-0.000014矩阵元素的修改矩阵元素的修改A=1,2,3,4;5,6,7,8;9,10,11,12;13,14,15,16A=12345678910111213141516A(1,1)=0;A(2,2)=A(1,2)+A(2,1);A(4,4)=cos(0);AA=0 2 3 4 5
6、 7 7 8 9 10 11 12 13 14 15 1151矩阵元素矩阵元素在在MATLAB中,矩阵元素中,矩阵元素按列存储按列存储,先第一列,先第一列,再第二列,依次类推再第二列,依次类推。(1)利用冒号表达式获得子矩阵利用冒号表达式获得子矩阵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列列的全部
7、元素,的全部元素,A(i:i+m,k:k+m)表示表示取矩阵取矩阵A第第ii+m行行内,并在内,并在第第kk+m列列中的所有元素。中的所有元素。此外,还可利用一般向量和此外,还可利用一般向量和end运算符来表示矩阵下标,运算符来表示矩阵下标,从而获得子矩阵。从而获得子矩阵。end表示某一维的末尾元素下标。表示某一维的末尾元素下标。16172子块矩阵的操作子块矩阵的操作(1)子块的删除子块的删除当把矩阵的某一块设置为空矩阵,它就被删除,原来的矩阵就只保留剩余部分。A=1,2,3,4;5,6,7,8;9,10,11,12;13,14,15,16A=12345678910111213141516A(
8、2,:)=A=1 2 3 4 9 10 11 12 13 14 15 1618(2)子块的提取与插入子块的提取与插入A=1,2,3,4;5,6,7,8;9,10,11,12;13,14,15,16B=A(:,2 2 2 2)B=2 2 2 2 6 6 6 6 10 10 10 10 14 14 14 14X=-3:3,Y=X(abs(X)1)X=-3 -2 -1 0 1 2 3Y=-3-223取取X中绝对值大于中绝对值大于1的元素构成的元素构成Y19A=1,2,3,4;5,6,7,8;9,10,11,12;13,14,15,16i,j=find(A12)A=1 2 3 4 5 6 7 8 9
9、10 11 12 13 14 15 16i=4 4 4 4j=1 2 3 420 数值数值运算运算一数值函数的建立一数值函数的建立1.使用使用inline命令命令f=inline(x.2-3)%建立二元函数建立二元函数f=Inline function:f(x)=x.2-3f(3)ans=6g=inline(x.y-5,x,y)%建立二元函数建立二元函数212.使用使用function创建创建M-函数函数function输出变量列表输出变量列表=函数名函数名(输入变量列表输入变量列表)生成生成“函数名函数名.m”的文件的文件例例建立同时计算 的函数,即给出a、b、n三个数,返回y1、y2。fu
10、nctiony1,y2=fun(a,b,n)y1=(a+b).n;y2=(a-b).n;y1,y2=fun(3,-1,4)y1=16y2=25622二数值函数的运算二数值函数的运算1.数值函数的图形数值函数的图形例例设 ,画出在 0,2上的曲线段法法1plotx=0:0.01:2;y=1./(x-0.3).2+0.01)+1./(x-0.9).2+0.04)-6;plot(x,y,linewidth,2)grid法法2fplot(f,a,b)f=inline(1./(x-0.3).2+0.01)+1./(x-0.9).2+0.04)-6);fplot(f,0,2);grid232.数值函数的运
11、算命令数值函数的运算命令24f=inline(1./(x-0.3).2+0.01)+1./(x-0.9).2+0.04)-6);fplot(f,0,2);gridc=fzero(f,0,2)%求求f(x)在在0,2上的零点上的零点c=1.2995c=fzero(f,1)%求求f(x)在在x=1附近的零点附近的零点c=1.2995xmin,fmin=fminbnd(f,0.2,0.8)%求求f(x)在区间在区间0.2,0.8上的最小值点和最小值上的最小值点和最小值xmin=0.6370fmin=11.252825I=quad(f,0,1)%求求f(x)在在0,1上的定积分,即上的定积分,即I=2
12、9.8583g=inline(x.*y,x,y);I=dblquad(g,0,1,1,2)%二重积分二重积分I=0.7500h=inline(x.*exp(y)+z.2,x,y,z);I=triplequad(h,0,1,0,1,0,1)%求三重积分求三重积分I=1.192526 符号符号运算运算一符号函数的表示和求值一符号函数的表示和求值1.首先用首先用syms命令声明变量,再建立符号函数表达式命令声明变量,再建立符号函数表达式symsxyn%声明声明x,y,n均为符号变量均为符号变量f=x2+sin(x*yn)%建立符号函数建立符号函数2.直接用直接用sym命令生成符号函数命令生成符号函数
13、f=sym(x2+sin(x*yn)%建立符号函数建立符号函数3.求值求值x=2;y=3;n=2;a=eval(f)a=3.2490272.符号函数的运算符号函数的运算28例例 求极限求极限symsx;%定义符号变量定义符号变量 f=(x*(exp(sin(x)+1)-2*(exp(tan(x)-1)/sin(x)3;%确定符号表达式确定符号表达式w=limit(f)%求函数的极限求函数的极限w=-1/229【例】求导数:x=sym(x);%定义符号变量定义符号变量 diff(sin(x2),2)%求求一阶一阶导运算导运算ans=2*cos(x2)*xdiff(sin(x2),2)%求求二阶二
14、阶导运算导运算ans=-4*sin(x2)*x2+2*cos(x2)3030【例】求下述积分。求积分:symsx;int(1/(1+x2)ans=atan(x)313131【例】求级数的和:1/12+1/22+1/32+1/42+syms k;symsum(1/k2,1,Inf)%k%k值为值为1 1到无穷大到无穷大ans=1/6*pi2其结果为:其结果为:1/12+1/22+1/32+1/42+=2/61/12+1/22+1/32+1/42+=2/632【例】解代数方程:a*x2-b*x-6=0syms a b x;solve(a*x2-b*x-6)ans=1/2/a*(b+(b2+24*a)(1/2)1/2/a*(b-(b2+24*a)(1/2)即该方程有两个根即该方程有两个根:x1=1/2/a*(b+(b2+24*a)(1/2)x1=1/2/a*(b+(b2+24*a)(1/2);x2=1/2/a*(b-(b2+24*a)(1/2)x2=1/2/a*(b-(b2+24*a)(1/2)33【例】泰列展开式:dsolve(D2y=1+Dy,y(0)=1,Dy(0)=0)ans=exp(t)-t34【例】解微分方程:dsolve(D2y=1+Dy,y(0)=1,Dy(0)=0)ans=exp(t)-t