资源预览内容
第1页 / 共33页
第2页 / 共33页
第3页 / 共33页
第4页 / 共33页
第5页 / 共33页
第6页 / 共33页
第7页 / 共33页
第8页 / 共33页
第9页 / 共33页
第10页 / 共33页
亲,该文档总共33页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
1Matlab中数组及矩阵运算Matlab中函数的数值运算Matlab中的符号运算第一章 MATLAB基本特性与基本运算Matlab软件与基础数学实验2 数组及矩阵运算一基本运算Matlab软件与基础数学实验3常规运算含义点运算含义 的共轭转置矩阵 的转置同型矩阵相加同型矩阵相减 的每个元素加同型矩阵中对应运算相乘 的每个元素减矩阵乘法同型矩阵中对应运算相除 的每个元素乘以数 的每个元素除以数 右除 ( ) 中每一元素的次幂 左除 ( ) 的 次幂A方阵,B、C为矩阵,s为常数Matlab软件与基础数学实验4二、矩阵的建立和访问创建规则(1) 所有元素用“ ”括起来;(2) 同行的不同元素用空格或“,”分割;(3) 行与行之间用分号“;”或回车键分割;(4) 元素可以是数值、变量、函数、表达式v1.直接输入v2.通过M文件创建v3.命令生成方式v4.利用函数创建输入方式Matlab软件与基础数学实验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.直接输入Matlab软件与基础数学实验6v2.通过M文件创建当创建尺寸较大的向量或矩阵,直接在命令窗口中输入容易出错,且不易修改,因此,可以将数据按照创建原则写入一个M文件.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,25Matlab软件与基础数学实验7v3.命令生成方式(1)利用冒号生成向量 m:p:n其中m表示向量的初值p表示向量的步长n表示向量的终值p为1可省略,且nm.x=2:3:16x=2581114y=4:8y=45678Matlab软件与基础数学实验8(2)利用linspcae()生成向量linspcae(a:b:n)将区间a,b等分成n-1段,返回由段点及分段点坐标产生的n个元素的行向量.y=linspace(0,2,7)y=00.33330.66671.00001.33331.66672.0000u=2y1u=2.000000.33330.66671.00001.33331.66672.00001.0000Matlab软件与基础数学实验9v4.利用函数创建 产生一个空矩阵zeros(m,n)生成一个 m 行 n 列的零矩阵,m=n 时可简写为 zeros(n)ones(m,n)生成一个 m 行 n 列的元素全为 1 的矩阵, m=n 时可写为 ones(n)eye(m,n)生成一个主对角线全为 1 的 m 行 n 列矩阵, m=n 时可简写为 eye(n),即为 n 维单位矩阵diag(X)若 X 是矩阵,则 diag(X) 为 X 的主对角线向量若 X 是向量,diag(X) 产生以 X 为主对角线的对角矩阵tril(A)提取一个矩阵的下三角部分triu(A)提取一个矩阵的上三角部分rand(m,n)产生 01 间均匀分布的随机矩阵 m=n 时简写为 rand(n)randn(m,n)产生均值为0,方差为1的标准正态分布随机矩阵m=n 时简写为 randn(n)magic(n) 产生n阶魔方矩阵Matlab软件与基础数学实验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-10002Matlab软件与基础数学实验11二、矩阵运算和函数矩阵常用函数总结Matlab软件与基础数学实验12矩阵的分解函数 Matlab软件与基础数学实验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.0000Matlab软件与基础数学实验14矩阵元素的修改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 7 7 8 9 10 11 12 13 14 15 1Matlab软件与基础数学实验151矩阵元素在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列的全部元素,A(i:i+m,k:k+m)表示取矩阵A第ii+m行内,并在第kk+m列中的所有元素。此外,还可利用一般向量和end运算符来表示矩阵下标,从而获得子矩阵。end表示某一维的末尾元素下标。Matlab软件与基础数学实验16Matlab软件与基础数学实验172子块矩阵的操作(1)子块的删除当把矩阵的某一块设置为空矩阵,它就被删除,原来的矩阵就只保留剩余部分。A=1,2,3,4;5,6,7,8;9,10,11,12;13,14,15,16A=12345678910111213141516A(2,:)=A = 1 2 3 4 9 10 11 12 13 14 15 16Matlab软件与基础数学实验18(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的元素构成YMatlab软件与基础数学实验19A=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 10 11 12 13 14 15 16i = 4 4 4 4j = 1 2 3 4Matlab软件与基础数学实验20 数值运算一数值函数的建立1.使用inline命令f=inline(x.2-3)%建立二元函数f = Inline function: f(x) = x.2-3f(3)ans = 6g=inline(x.y-5,x,y)%建立二元函数Matlab软件与基础数学实验212.使用function创建M-函数function输出变量列表=函数名(输入变量列表)生成“函数名.m”的文件例建立同时计算 的函数,即给出a、b、n三个数,返回y1、y2。functiony1,y2=fun(a,b,n)y1=(a+b).n;y2=(a-b).n;y1,y2=fun(3,-1,4)y1=16y2=256Matlab软件与基础数学实验22二数值函数的运算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);gridMatlab软件与基础数学实验232.数值函数的运算命令零点c=fzero(f,x0)函数 f (x) 在 x0 处附近的零点c=fzero(f,a,b)函数 f (x) 在区间 a,b 处附近的零点最小(大)值x,y=fminbnd(f,a,b) x、y 分别为一元函数 f (x)的最小值点和最小值x,y=fminsearch(f,x0)x、y 分别为多元函数 f (x)在 x0附近的最小值点和最小值积分quad(f,a,b)一元函数 f (x) 在区间a,b上的定积分dblquad(f,a,b,c,d)二元函数 f (x, y) 在a,bc,d上的积分triplequad(f,a,b,c,d,e,f)三元函数 f (x,y,z)在a,bc,de, f 上的积分Matlab软件与基础数学实验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.2528Matlab软件与基础数学实验25I=quad(f,0,1)%求f(x)在0,1上的定积分,即I=29.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.1925Matlab软件与基础数学实验26 符号运算一符号函数的表示和求值1.首先用syms命令声明变量,再建立符号函数表达式symsxyn%声明x,y,n均为符号变量f=x2+sin(x*yn)%建立符号函数2.直接用sym命令生成符号函数f=sym(x2+sin(x*yn)%建立符号函数3.求值x=2;y=3;n=2;a=eval(f)a=3.2490Matlab软件与基础数学实验272.符号函数的运算求极限limit(f,x,a)计算当 xa 时, f (x) 的极限值求导数 diff(s,v,n) f (x)关于变量 x 的 n 阶导数,n 省略时为一阶导数。求积分int(f ,v,a,b)求函数 f 在区间a,b上的定积分,没有区间时,表示以 v 为自变量,对被积函数求一阶不定积分级数求和 symsum(s, a,b)对数列s关于自变量v自a至b求和.泰列展开taylor(f,v,n,v0)求函数f关于自变量v在v0处泰列展开式的前n项方程求根slove方程(组)求解dsolve(expr1,expr2,.,exprN,var1,var2,.,varN) 求解代数方程组expr1,expr2,.,exprN的根,未知数为var1,var2,.varNMatlab软件与基础数学实验28例 求极限symsx; % %定义符号变量 f=(x*(exp(sin(x)+1)-2*(exp(tan(x)-1)/sin(x)3; % %确定符号表达式w=limit(f) % %求函数的极限w=-1/2Matlab软件与基础数学实验29【例】求导数:x=sym(x); % %定义符号变量 diff(sin(x2),2) % %求一阶导运算ans=2*cos(x2)*xdiff(sin(x2),2) % %求二阶导运算ans=-4*sin(x2)*x2+2*cos(x2)Matlab软件与基础数学实验3030【例】求下述积分。求积分:symsx;int(1/(1+x2)ans=atan(x)Matlab软件与基础数学实验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/6Matlab软件与基础数学实验32【例】解代数方程: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) Matlab软件与基础数学实验33【例】泰列展开式:dsolve(D2y=1+Dy,y(0)=1,Dy(0)=0)ans = exp(t)-tMatlab软件与基础数学实验
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号