matlab使用指导宏病毒文档修复前备份.doc_第1页
matlab使用指导宏病毒文档修复前备份.doc_第2页
matlab使用指导宏病毒文档修复前备份.doc_第3页
全文预览已结束

VIP免费下载

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

文档简介

第一部分MATLAB实验指导一、基础知识 1.1 常见数学函数函 数 名数 学 计 算 功 能函 数 名数 学 计 算 功 能abs(x)实数的绝对值或复数的幅值floor(x)对x朝-方向取整acos(x)反余弦arcsingcd(m,n)求正整数m和n的最大公约数acosh(x)反双曲余弦arccoshimag(x)求复数x的虚部angle(x)在四象限内求复数 x 的相角lcm(m,n)求正整数m和n的最小公倍数asin(x)反正弦arcsinlog(x)自然对数(以为底数)asinh(x)反双曲正弦arcsinhlog10(x)常用对数(以10为底数)atan(x)反正切arctanreal(x)求复数x的实部atan2(x,y)在四象限内求反正切rem(m,n)求正整数m和n的m/n之余数atanh(x)反双曲正切arctanhround(x)对x四舍五入到最接近的整数ceil(x)对x朝+方向取整sign(x)符号函数:求出x的符号conj(x)求复数x的共轭复数sin(x)正弦sincos(x)余弦cossinh(x)反双曲正弦sinhcosh(x)双曲余弦coshsqrt(x)求实数x的平方根:exp(x)指数函数 tan(x)正切tanfix(x)对x朝原点方向取整tanh(x)双曲正切tanhabs(x)x的绝对值sum(x)对x求和max(x)x的最大值min(x) x的最小值如:输入 x=-4.85 -2.3 -0.2 1.3 4.56 6.75,则: ceil(x)= -4 -2 0 2 5 7 fix(x) = -4 -2 0 1 4 6 floor(x) = -5 -3 -1 1 4 6 round(x) = -5 -2 0 1 5 71.2 系统的在线帮助1 help 命令:1.当不知系统有何帮助内容时,可直接输入help以寻求帮助: help(回车)2.当想了解某一主题的内容时,如输入: help syntax(了解Matlab的语法规定)3.当想了解某一具体的函数或命令的帮助信息时,如输入: help sqrt (了解函数sqrt的相关信息)2 lookfor命令现需要完成某一具体操作,不知有何命令或函数可以完成,如输入: lookfor line (查找与直线、线性问题有关的函数)1.3 常量与变量系统的变量命名规则:变量名区分字母大小写;变量名必须以字母打头,其后可以是任意字母,数字,或下划线的组合。此外,系统内部预先定义了几个有特殊意义和用途的变量,见下表:特殊变量取 值ans用于结果的缺省变量名pi圆周率eps计算机的最小数,当和1相加就产生一个比1大的数flops浮点运算数inf无穷大,如1/0NaN不定量,如0/0i,ji=j=nargin所用函数的输入变量数目nargout所用函数的输出变量数目realmin最小可用正实数realmax最大可用正实数1 数值型向量(矩阵)的输入1任何矩阵(向量),可以直接按行方式输入每个元素:同一行中的元素用逗号(,)或者用空格符来分隔;行与行之间用分号(;)分隔。所有元素处于一方括号( )内;例1: Time = 11 12 1 2 3 4 5 6 7 8 9 10 X_Data = 2.32 3.43;4.37 5.982系统中提供了多个命令用于输入特殊的矩阵:函数功 能函数功 能compan伴随阵toeplitzToeplitz矩阵diag对角阵vanderVandermonde矩阵hadamardHadamard矩阵zeros元素全为0的矩阵hankelHankel矩阵ones元素全为1的矩阵invhilbHilbert矩阵的逆阵rand元素服从均匀分布的随机矩阵kronKronercker张量积randn元素服从正态分布的随机矩阵magic魔方矩阵eye对角线上元素为1的矩阵pascalPascal矩阵meshgrid由两个向量生成的矩阵上面函数的具体用法,可以用帮助命令help得到。如help zeros,可查到zeros的具体用法。例:meshgrid(x,y)输入 x=1 2 3 4; y=1 0 5; X,Y=meshgrid(x, y),则X = Y = 1 2 3 4 1 1 1 1 1 2 3 4 0 0 0 0 1 2 3 4 5 5 5 5目的是将原始数据x,y转化为矩阵数据X,Y。2 符号向量(矩阵)的输入1用函数 sym定义符号矩阵:函数sym实际是在定义一个符号表达式,这时的符号矩阵中的元素可以是任何的符号或者是表达式,而且长度没有限制。只需将方括号置于单引号中。例2: sym_matrix = sym(a b c;Jack Help_Me NO_WAY) sym_matrix = a, b, c Jack, Help_Me, NO_WAY2用函数syms定义符号矩阵先定义矩阵中的每一个元素为一个符号变量,而后像普通矩阵一样输入符号矩阵。例3: syms a b c ; M1 = sym(Classical); M2 = sym( Jazz); M3 = sym(Blues); A = a b c; M1, M2, M3;sym(2 3 5)A = a, b, c Classical, Jazz, Blues 2, 3, 51.4 数组(矩阵)的点运算运算符:+(加)、-(减)、./(右除)、.(左除)、.(乘方),例4: g = 1 2 3 4;h = 4 3 2 1; s1 = g + h, s2 = g.*h, s3 = g.h, s4 = g.2, s5 = 2.h1.5 矩阵的运算运算符:+(加)、-(减)、*(乘)、/(右除)、(左除)、(乘方)、(转置)等;常用函数:det(行列式)、inv(逆矩阵)、rank(秩)、eig(特征值、特征向量)、rref(化矩阵为行最简形)例5: A=2 0 1;1 3 2; B=1 7 1;4 2 3;2 0 1; M = A*B % 矩阵A与B按矩阵运算相乘 det_B = det(B) % 矩阵A的行列式 rank_A = rank(A) % 矩阵A的秩 inv_B = inv(B) % 矩阵B的逆矩阵 V,D = eig(B) % 矩阵B的特征值矩阵V与特征向量构成的矩阵D X = A/B % A/B = A*B-1,即XB=A,求X Y = BA % BA = B-1*A,即BY=A,求Y例6:A = 1,2,3,4; 5 6 7 8; 9,10,11,12A(2,3) = 5B = A(2,1:3)A = A,B %增补一列A(:,2) = %删去第2列A = A; 1 2 3 4 %增补一行A(1,4,:) = %删去1,4行B = reshape( A, 2, 6 ) %将A按列的顺序重新组成2行6列的矩阵。注意,这里要求新矩阵和旧矩阵具有相同的元素个数。A=repmat(4,5 6) %产生一个5行4列的全是4的矩阵1.6 关系运算符:1 关系操作符:关系操作符说明小于大于=大于或等于= =等于=不等于2逻辑运算符:逻辑操作符说明与或非上机练习(一):1练习数据和符号的输入方式,将前面的命令在命令窗口中执行通过;2输入A=7 1 5;2 5 6;3 1 5,B=1 1 1; 2 2 2; 3 3 3,在命令窗口中执行下列表达式,掌握其含义:A(2, 3) A(:,2) A(3,:) A(:,1:2:3) A(:,3).*B(:,2) A(:,3)*B(2,:) A*B A.*B A2 A.2 B/A B./A3输入C=1:2:20,则C(i)表示什么?其中i=1,2,3,10;4查找已创建变量的信息,删除无用的变量;5欲通过系统做一平面图,请查找相关的命令与函数,获取函数的帮助信息。6利用help 学习一下函数的功能:size() ones() rand() randn() pascal() dot() cross() max() min() sort() mean() det()inv() trace() norm() rank() floor() round() fix() ceil() mod() 7利用help学习一下命令的功能:clear clc clock now whos date tic toc save load二、编程2.1 无条件循环当需要无条件重复执行某些命令时,可以使用for循环:for 循环变量t=表达式1 : 达式2 : 表达式3 语句体end说明:表达式1为循环初值,表达式2为步长,表达式3为循环终值;当表达式2省略时则默认步长为1;for语句允许嵌套。例6: 如:矩阵输入程序生成34阶的Hiltber矩阵。 m=input(矩阵行数:m=); for i=1 : 3 n= input(矩阵列数:n=); for j=1 : 4 for i=1:m H(i,j)=1/(i+j-1); for j=1:n end disp(输入第,num2str(i),行,第, num2str(j),列元素) end A(i, j) = input ( ) end end 2.2 条件循环1) if-else-then语句if-else-then语句的常使用三种形式为:(1) if 逻辑表达式 (3) if 逻辑表达式1 语句体 语句体1end elseif 逻辑表达式2 语句体2(2) if 逻辑表达式1 elseif 逻辑表达式3 语句体1 else else 语句体2 语句体nend end 2) while循环语句while循环的一般使用形式为:while 表达式 语句体end例7:用二分法计算多项式方程= 0在0,3内的一个根。 解:a = 0;fa = -inf;b = 3;fb = inf;while b-a eps*b x =(a+b)/2; fx = x3-2*x-5; if sign(fx)= sign(fa) a =x;fa = fx; else b = x;fb = fx; endendx运行结果为:x = 2.09455151481542332.3 分支结构若需要对不同的情形执行不同的操作,可用switch 分支语句:switch 表达式(标量或字符串) case 值1 语句体1 case 值2 语句体2 otherwise 语句体nend说明:当表达式不是“case”所列值时,执行otherwise语句体。2.4 建立M文件将多个可执行的系统命令,用文本编辑器编辑后并存放在后缀为 .m 的文件中,若在MATLAB命令窗口中输入该m-文件的文件名(不跟后缀.m!),即可依次执行该文件中的多个命令。这个后缀为.m的文件,也称为Matlab的脚本文件(Script File)。注意:文件存放路径必须在Matlab能搜索的范围内。2.5 建立函数文件对于一些特殊用户函数,系统提供了一个用于创建用户函数的命令function,以备用户随时调用。1格式:function 输出变量列表=fun_name(输入变量列表) 用户自定义的函数体2函数文件名为:fun_name,注意:保存时文件名与函数名最好相同;3存储路径:最好在系统的搜索路径上。4. 调用方法:输出参量=fun_name (输入变量)例8:计算s = n!,在文本编辑器中输入:function s=pp(n);s=1;for i=1:n s=s*i;ends;在MATLAB命令窗口中输入:s=pp(5) 结果为s = 120上机练习(二):1编写程序,计算1+3+5+7+(2n+1)的值(用input语句输入n 值)。2编写分段函数 的函数文件,存放于文件ff.m中,计算出,的值。三、微积分3.1 极限limit:limit(F, x, a) 计算limit(F, a) 符号表达式F中由命令findsym(F)返回独立的变量v,计算limit(F) 符号确定同上,设为v,计算limit(F, x, a, right) 计算limit(F, x, a, left) 计算例9: 计算 , 解: syms n m x f = (6*n2-n+1)/(n3-n2+2) h = (sqrt(1+x)-2)/(x-3) lim_f=limit(f, n, inf) lim_h=limit(h,x,3,right)运算结果是:lim_f = 0lim_h = 1/43.2 函数的导数diff:diff(f, v) 计算或diff(f, v, n) 计算或diff(f, n) 独立变量确定同上,设为v,计算或例10: 已知,证明:。解: x = sym(x) y = sym(y) z = log(sqrt(x)+sqrt(y) result = x * diff(z, x) + y* diff(z, y) simple(result)计算的结果为: result= 1/2例11: 已知 ,求 解:设方程F(x, y , z) = 0确定了函数z = z(x, y),则,再用类似的计算方法,可以计算。 syms x y z F = atan(y+z)/x)-log(x+y+z) dFdx = diff(F, x) dFdz = diff(F, z) dZdx = -dFdx/dFdz % 计算 dZdxdy = diff(dZdx, y) dZdxdz = diff(dZdx, z) d2Zdxdy = -dZdxdy/dZdxdz % 计算3.3 单积分int、quad、quad8:1. int不定积分:F = int(f)F = int(f, var) f:被积函数,var:对函数f中的变量var积分。F:函数f的原函数。F中没有常数C。例12: 计算 , 解: syms x y z; f = exp(x*y+z); F1 = int(f) F2 = int(f, z)2. int定积分及广义积分:F = int(f, a, b) F = int(f, var, a, b) f:被积函数;a,b:积分上下限,可为无穷大(负无穷大:); F:函数的积分值,有时为无穷大。3quad、quad8定积分:y = quad(f, a, b, tol)y = quad8(f, a, b, tol) 参数说明:f:被积函数;a, b:积分上下限;tol:计算精度,quad()的默认值为:tol=1e-3,quad8()的默认值为:tol=1e-6。quad()函数采用的是Simpson 方法计算定积分的近似值。quad8()函数采用的是Newton Cotes方法计算定积分的近似值,其精度比前者更高。例13: 计算 , 解: syms x f = 1/(x2+2*x+3); F1 = int(f,2,pi) F2 = int(f,-inf,inf) 运算的结果是: F1 = 1/2*atan(1/2*2(1/2)*(pi+1)*2(1/2)-1/2*atan(3/2*2(1/2)*2(1/2) F2 = 1/2*2(1/2)*pi例14: 计算无初等原函数的定积分 解:先定义被积函数为函数文件,文件名为:f.mfunction y = f (x)y=1/sqrt(2*pi)*exp(-x.2/2);保存后,在命令窗口键入 format long y = quad(f, -3, 3)则显示结果为y = 0.997300050554703.4 泰勒展式taylor:taylor(f) f:待展开的函数表达式,可以不用单引号生成;taylor(f, n) n:把函数展开到n阶;若不包含n,则缺省地展开到阶taylor(f, v) v:对函数f中的变量v展开taylor(f, a) a:对函数f在x=a点展开。例15: 计算(1)把y =展开到6阶; (2)把y = lnx在x = 1点展开到6阶; (3)把y = 关于变量t展开到3阶。解: syms x t t1 = taylor(exp(-x) t2 = taylor(log(x),6,1) t3 = taylor(xt,3,t)运算结果为:t1 = 1-x+1/2*x2-1/6*x3+1/24*x4-1/120*x5t2 = x-1-1/2*(x-1)2+1/3*(x-1)3-1/4*(x-1)4+1/5*(x-1)5t3 =1+log(x)*t+1/2*log(x)2*t23.5 近似梯度gradient: FX,FY = gradient(F) FX,FY = gradient(F,H) FX,FY = gradient(F,HX,HY) FX,FY,FZ = gradient(F) FX,FY,FZ = gradient(F,HX,HY,HZ)参数说明: F:待求梯度的数值矩阵。F可以为向量、二维矩阵、三维矩阵; FX,FY,FZ:矩阵F在x、y、z方向上的数值梯度; H:H为一标量,作为各个方向上各点之间的步长; HX,HY,HZ:矩阵F在x、y、z方向上的具体步长。HX,HY,HZ可为标量或与矩阵F各个方向上同维的向量。例16: 计算函数 数值梯度,且以图形显示。解: x,y = meshgrid(-2:.2:2, -2:.2:2); z = x .* exp(-x.2 - y.2); px,py = gradient(z,.2,.2); contour(z) hold on quiver(px, py)3.6 函数梯度和方向导数jacobian: jacobian(f, v)参数说明: f:函数向量或标量,当f为标量时,jacobian(f, v) = gradient(f); v:自变量向量或者单个变量。例17: 求 在点M(1,1,1) 处的梯度;在点O(0, 0, 0)及A(1, 2, 3)处的梯度。解: syms x y z u1 = x*y*z u2 = x2+2*y2+3*y2+x*y+3*x-2*y-6*z v = x, y, z J1 = jacobian(u1,v) J2 = jacobian(u2,v) J1_M = subs(subs(subs(J1,x,1),y,1),z,1) J2_O = subs(subs(subs(J2,x,0),y,0),z,0) J2_A = subs(subs(subs(J1,x,1),y,2),z,3)计算的结果为: J1_M = 1 1 1 J2_O = 3 -2 -6 J2_A = 6 3 23.7 方程(组)的求解solve、linsolve:x = linsolve(A, B) 专门用于求解线性方程组ss = solve (s) 可适用于所有代数方程(组)ss = solve(s, v) 参数说明:s:包含方程(一个)等式的字符串(可以是函数名,或者是描述方程的字符串);v:方程s 中的一个变量;例18: 求解:(1),其中,;(2),其中为未知数;解: A = 2,5;1,3; B = 4,-6;2,1; x = linsolve(A,B) 或X=AB solve(p*sin(2*x+t)=q,t)例19: 求非线性方程组的解 解: x,y = solve(sin(x+y)-exp(x)*y = 0,x2-y = 2)计算结果为: x = -6.0173272500593065641097297117905 y = 34.208227234306296508646214438330上机练习(三):1求极限: 2. 求导数:,求3求不积分: 4. 求定积分:5解方程组: 6. 求的5阶泰勒展开式。四、微分方程4.1 常微分方程(组)的符号解dsolve:y1,y2, = dsolve(eqn1,qun2,var1,var2,inition,disp_var1,disp_var2)参数说明:eqn1,eqn2,:包含微分方程(组)在内的字符串,可以是函数名或是微分方程(组)的表达式;每个eqn_i可以包含一个或多个微分方程。var1,var2,:指定方程组中独立的变量(若方程组中有多个符号,要指定某个符号为未知变量符号);inition:微分方程的初始条件(组),或者是初始条件的表达式。如:y(a) = b表示,D3y(c) = d 表示例20: 求通解 (1)y+3y+2y = 0(2)解: equ_1 = D2y+3*Dy+2*y=0 equ_41 = Dx=y+x equ_42 = Dy=y-x+1 y1 = dsolve(equ_1,x) x,y = dsolve(equ_41, equ_42, x(0)=0, y(0)=0)计算结果为(略):4.2 常微分方程(组)的数值解odeXX:t, y=odeXX(F,tspan,y0,) 参数说明:XX可为45或者为23,F是函数名。tspan为自变量t的积分范围,y0为方程的初始状态值。 例21: 把高阶(3阶)方程转化为同解的一阶导数方程组,写成函数文件,并在时间段 0, 120 内求解。解:设 ,则原方程等价于方程组,令y(1)= ,y(2)=,y(3)=,1写成函数文件为:function y = my_fun(t,y)y = y(2); y(3); -2*y(3)-3*y(2)-4*y(1)2保存于文件:my_fun.m3调用函数odeXX求解。 y0 = 10;9;8; % 定解条件 t, y = ode23(my_fun,0,120,y0); plot(t,y(:,1) % y的第一列为方程的解 xlabel(time) ylabel(y = y(t)五、数值分析5.1 级数求和symsum:S=symsum(s) s:数列的通项式;S=symsum(s, v) v:通式S中的变量,求和时将对v从1求至v-1;S=symsum(s, v, a, b) a,b:对变量从a至b求和,b可以为无穷大;例22:求下列数列的和 解: syms n s1 = 1/(2*n-1)2; s2 = 1/(n*(n+1)*(n+2)2; S1 = symsum(s1) S2 = symsum(s2, n, 1, inf)5.2 拟合与插值polyfit、interp1:1 最小二乘法例23: 在某实验中测得输入如下:x104180190177147134150191204121y100200210185155135170205235125由此推测出x和y的函数关系:y=f(x)。解:先把数据点描出来,观察x和y大概满足的函数关系。为此先把数据x和y进行适当的调整,使自变量x的值从小到大排列,y也做相应的排列: x = 104 180 190 177 147 134 150 191 204 121; y = 100 200 210 185 155 135 170 205 235 125; x,i = sort(x) y = y(i) plot(x, y, r*) hold on(图略)这些数据点大致分布于一直线上,由此推测x和y有线性函数关系:y = ax+b,由数学推断过程得:, ,其中n为x和y的长度。用Matlab计算a与b为: n = length(x); a_den = n*sum(x.*y) sum(x)*sum(y); b_den = sum (y).*sum(x.2) sum (x).*sum(x.*y); ab_num = n*sum(x.2)(sum(x)2; a = a_den/ab_num b = b_den/ab_num x = 100:0.5:220; y = a*x +b plot(x,y)(图略)2. 一维拟合polyfit:在MATLAB中,一般选用多项式作为拟合函数:p=polyfit(x, y, n) x, y:测量数据的横纵坐标向量,n为多项式的次数,p:拟合多项式的系数向量(按降幂排列)。Y=polyval(p, x) p:多项式系数向量,x:自变量向量,Y:多项式在x处的值例24:在某次工程测量中得到如下数据:X1520253035404550Y07442267034163549785502095022650230对以上数据用一次数合适的多项式进行拟合,并画图比较。解:先把数据点描出来: x = 15:5:50; y = 0 7442 26703 41635 49785 50209 50226 50230 subplot(2,2,1), plot(x, y,*)用2、3、5次多项式对数据进行拟合,分别画出图形,与原数据点进行比较: p2 = polyfit(x,y,2) p3 = polyfit(x,y,3) p5 = polyfit(x,y,5) xi = 15:0.1:50; y2i = polyval(p2,xi); y3i = polyval(p3,xi); y5i = polyval(p5,xi); subplot(2,2,2), plot(x, y,*,xi,y2i,:) subplot(2,2,3), plot(x, y,*,xi,y3i,-) subplot(2,2,4), plot(x, y,*,xi,y5i,-)计算结果为: p2 = 1.0e+004 *-0.0066 0.5845 -7.6669 p3 = 1.0e+004 *-0.0001 0.0035 0.2800 -4.8880 p5 = 1.0e+005 * -0.0000 0.0000 -0.0015 0.0526 -0.8082 4.5106从图中可以看得出来,5次多项式的拟合效果是最好的。3. 一维插值interp1:t = interp1(X, Y, X0, method)参数说明:X:原始数据的横坐标向量,必须是单调增加的向量;Y:原始数据的纵坐标向量;X0:待插值的点的横坐标,可以是标量或单调增加的向量;t:若X0为标量,则该方式用的是线性插值:认为被插函数在点X0处的值落在过两点与的直线上,其值为t;若X0为向量,则t也是同维向量;method:指定插值的算法,取值如下:nearest:最近插值。该方式不进行插值。而是找出与点X0最接近的原始数据点,再返回其值;linear:线性插值。该方式认为相邻的点之间是线性关系;cubic:三次插值。该方式认为被插函数在点X0处的值落在过相临两点的三次曲线上;spline:样条插值。该方式认为被插函数在点X0处的值落在过相临两点的三次样条曲线上。例25:在例24中,由于需要,现估计x = 22, 27, 36时y的值,比较几种插值方式的差异。解: x = 15:5:50; y = 0 7442 26703 41635 49785 50209 50226 50230 X0 = 22 27 36; Y0_n = interp1(x,y,X0,nearest); Y0_c = interp1(x,y,X0,cubic); Y0_s = interp1(x,y,X0,spline); Y0_l = interp1(x,y,X0,linear); p5 = polyfit(x,y,5); xi = 15:0.1:50; y5i = polyval(p5,xi); plot(x,y,*,xi,y5i,:,X0,Y0_n,s,X0,Y0_c,p,X0,Y0_s,h,X0,Y0_l,d)上机练习(四):1对下列数据进行1次或3次拟合:(1,4),(2,3),(3,0),(5,-2)2求微分方程的符号解:。六、函数作图6.1 二维图形plot、fplot:plot(x, y) 平面曲线图形,x为自变量,y为函数值fplot(FUN, LIMS) FUN为函数名或表达式,LIMS:变量范围例26: 画下列函数的图形(1),;(2),;解: x=0:0.01:1; y = 1./(x-0.3).2+0.01)+1./(x-0.9).2+0.04)-6 ; plot(y, 0 1) fplot(tan(x), sin(x), cos(x), 2*pi*-1 1 -1 1)6.2 极坐标作图函数polar:polar(theta, rho) % 用角度theta(弧度表示)和极半径rho作极坐标图例27: 画极坐标图 ,解: theta = linspace(0,3*pi); 或theta = 0:pi/180:3*pi; rho = sin(3*theta).*cos(3*theta); polar(theta,rho,k)6.3 三维图形1 三维曲线plot3:plot3(x_1,y_1,z_1,S_1,x_2,y_2,z_2,S_2,)参数说明:x_n, y_n, z_n:是数据点的x坐标,y坐标,z坐标。其中x_n,y_n,z_n为向量或矩阵;S_n:用来指定使用的颜色、标记符号或线形。与plot的形式完全相同。例28: 画参数函数图 ,.解: t = 0:pi/50:10*pi; plot3(sin(t),cos(t),t); title(Helix Plot) xlabel(sint),ylabel(cost),zlabel(t) text(0,1,0,Start Point)2 三维网格图mesh:mesh(x, y, z) x为某一区域内所有取值点的横坐标矩阵;y为所有取值点的纵坐标矩阵;z为函数在取值点的高度矩阵例29: 在Matlab内部,预定义了一个曲面函数:山峰函数peaks。我们利用它来作为三维曲面的演示函数。解: X,Y,Z=peaks(30) subplot(2,2,1), mesh(X,Y,Z) subplot(2,2,2), meshc(X,Y,Z), hidden on subplot(2,2,3), meshz(X,Y,Z), grid on例30:作的图形。解: x=0:0.1:10; y=x; X, Y=meshgrid(x, y); Z=sqrt(X.2+Y.2); mesh(Z)3 三维曲面图命令surf:surf(x, y, z)surf(z) 参数说明:x,y,z含义同网格图命令mesh。曲面图是在网格图的基础之上,在小网格之间用不同颜色填充,使图形更加美观。surf的调用格式与mesh的调用格式完全相同。4 球面sphere:x, y, z= sphere(N) %产生3个(N+1)*(N+1)矩阵, 然后再用surf可产生单位球面sphere(N) %只绘图, 不返回任何值,N为正整数5 柱面cylinder:x, y, z= cylinder(R, N) % R为母线,N等分刻度,用mesh(x,y,z)可产生柱面例31: x=0 : pi/20 : 3*pir=5+cos(x)a,b,c=cylinder(r, 30);mesh(a,b,c)6 等高线contour、contour3:contour(z, n) %z为函数值,n为等高线条数,作平面等高线 contour3(z, n) %作三维等高线 z表示函数值,n表示等高线条数上机练习(五):1作出函数在的图形;2画出的示意图。七、线性代数1 向量运算dot、cross:dot(x, y) 向量x,y的点乘,即内积 cross(x, y) 向量x, y的叉乘,即外积2 矩阵的转置()、transpose:A或transpose(A) 与线性代数中矩阵的转置相同。3 矩阵的逆矩阵 (-1)、inv:例31: 求的逆矩阵解: A = 1 2 3; 2 2 1; 3 4 3 inv(A)或A(-1)4 方阵的行列式det:det(A) 计算方阵A行列式的值5 符号矩阵的运算(1). 符号矩阵的四则运算:符号矩阵的四则运算符有:加()、减()、乘()、除(/、)等,或四则运算的函数运算:和(symadd)、差(symsub)、乘 (symmul)、除(symdiv)。例32: A = sym(1/x, 1/(x+1); 1/(x+2), 1/(x+3) B = sym(x, 1; x+2, 0)C = B-AD = AB(2). 其他基本运算:符号矩阵的其他一些基本运算包括转置()、行列式(det)、逆(inv)、秩(rank)、幂()和指数(exp和expm)等都与数值矩阵相同。6 其他常用函数:rank(A) A为矩阵或向量组构成的矩阵rref(A) 将矩阵A化成行最

温馨提示

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

评论

0/150

提交评论