收藏 分享(赏)

matlab使用指导(2012)new.doc

上传人:dzzj200808 文档编号:2251220 上传时间:2018-09-07 格式:DOC 页数:32 大小:452KB
下载 相关 举报
matlab使用指导(2012)new.doc_第1页
第1页 / 共32页
matlab使用指导(2012)new.doc_第2页
第2页 / 共32页
matlab使用指导(2012)new.doc_第3页
第3页 / 共32页
matlab使用指导(2012)new.doc_第4页
第4页 / 共32页
matlab使用指导(2012)new.doc_第5页
第5页 / 共32页
点击查看更多>>
资源描述

1、1一、基础知识 1.1 常见数学函数函 数 名 数 学 计 算 功 能 函 数 名 数 学 计 算 功 能abs(x) 实数的绝对值或复数的幅值 floor(x) 对 x 朝-方向取整acos(x ) 反余弦 arcsin xgcd(m,n) 求正整数 m 和 n 的最大公约数acosh( x) 反双曲余弦 arccosh imag(x ) 求复数 x 的虚部angle(x) 在四象限内求复数 x 的相角lcm( m,n) 求正整数 m 和 n 的最小公倍数asin(x) 反正弦 arcsin log(x) 自然对数(以 为底数)easinh(x) 反双曲正弦 arcsinh log10(x)

2、 常用对数(以 10 为底数)atan(x) 反正切 arctan xreal(x) 求复数 x 的实部atan2(x,y) 在四象限内求反正切rem(m ,n) 求正整数 m 和 n 的 m/n 之余数atanh(x) 反双曲正切 arctanh round(x) 对 x 四舍五入到最接近的整数ceil( x) 对 x 朝+方向取整 sign(x) 符号函数:求出 x 的符号conj(x) 求复数 x 的共轭复数 sin(x) 正弦 sincos(x) 余弦 cos sinh(x) 反双曲正弦 sinhcosh(x) 双曲余弦 cosh sqrt(x) 求实数 x 的平方根:exp(x) 指

3、数函数 xetan(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 7fix(x) = -4 -2 0 1 4 6floor(x) = -5 -3 -1 1 4 6round(x) = -5 -2 0 1 5 71.2 系统的在 线帮助1 help 命令:1.当不知系统有何帮助内容时,可直接输入 help 以寻求帮助: help

4、(回车)22.当想了解某一主题的内容时,如输入: help syntax (了解 Matlab 的语法规定)3.当想了解某一具体的函数或命令的帮助信息时,如输入: help sqrt (了解函数 sqrt 的相关信息)2 lookfor 命令现需要完成某一具体操作,不知有何命令或函数可以完成,如输入: lookfor line (查找与直线、线性问题有关的函数)1.3 常量与 变量系统的变量命名规则:变量名区分字母大小写;变量名必须以字母打头,其后可以是任意字母,数字,或下划线的组合。此外,系统内部预先定义了几个有特殊意义和用途的变量,见下表:特殊变量 取 值ans 用于结果的缺省变量名pi

5、圆周率eps 计算机的最小数,当和 1 相加就产生一个比 1 大的数flops 浮点运算数inf 无穷大,如 1/0NaN 不定量,如 0/0i,j i=j= 1nargin 所用函数的输入变量数目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;

6、4.37 5.982系统中提供了多个命令用于输入特殊的矩阵:函数 功 能 函数 功 能3compan 伴随阵 toeplitz Toeplitz 矩阵diag 对角阵 vander Vandermonde 矩阵hadamard Hadamard 矩阵 zeros 元素全为 0 的矩阵hankel Hankel 矩阵 ones 元素全为 1 的矩阵invhilb Hilbert 矩阵的逆阵 rand 元素服从均匀分布的随机矩阵kron Kronercker 张量积 randn 元素服从正态分布的随机矩阵magic 魔方矩阵 eye 对角线上元素为 1 的矩阵pascal Pascal 矩阵 me

7、shgrid 由两个向量生成的矩阵上面函数的具体用法,可以用帮助命令 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 11 2 3 4 0 0 0 01 2 3 4 5 5 5 5目的是将原始数据 x,y 转化为矩阵数据 X,Y 。2 符号向量(矩阵)的输入1用函数 sym 定义符号矩阵:函数 sym 实际是在定义一个符号表达式,这时的符号矩阵中的元素可以是任何的符号或者是表达式,而且长度没有限制。只需将方括号置

8、于单引号中。例 2: sym_matrix = sym( a b c; Jack Help_Me NO_WAY)sym_matrix = a, b, cJack, 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 =4 a, b, cClassical, Jazz, Blues 2,

9、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

10、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,求 Y1.6 关系运算符:1 关系操作符:2关系操作符 说明大于= 大于或等于= = 等于5= 不等于2逻辑运算符:逻辑操作符 说明与或非上机练习(一):1练习数据和符号

11、的输入方式,将前面的命令在命令窗口中执行通过;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

12、() 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

13、为步长,表达式 3 为循环终值;当表达式 2 省略时则默认步长为 1;for 语句允许嵌套。例 6: 如:矩阵输入程序生成 34 阶的 Hiltber 矩阵。 m=input(矩阵行数: m=);for i=1 : 3 n= input(矩阵列数:n=);6for j=1 : 4 for i=1:m H( i, j) =1/( i+j-1) ; for j=1:nend disp(输入第,num2str(i),行,第, num2str(j),列元素)end A(i, j) = input ( )end end 2.2 条件循环1) if-else-then 语句if-else-then 语句的

14、常使用三种形式为:(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内的一个根。523x解:a = 0;fa = -inf;b = 3;fb = inf ;while b-a eps*bx =(a+b)/2;fx = x3-2*x-5;if sign(fx)= si

15、gn(fa)a =x;fa = fx;elseb = x;fb = fx;endend7x运行结果为:x = 2.09455151481542332.3 分支结构若需要对不同的情形执行不同的操作,可用 switch 分支语句:switch 表达式(标量或字符串)case 值 1语句体 1case 值 2语句体 2 otherwise语句体 nend说明:当表达式不是“case”所列值时,执行 otherwise 语句体。2.4 建立 M 文件将多个可执行的系统命令,用文本编辑器编辑后并存放在后缀为 .m 的文件中,若在MATLAB 命令窗口中输入该 m-文件的文件名(不跟后缀 .m!) ,即可

16、依次执行该文件中的多个命令。这个后缀为.m 的文件,也称为 Matlab 的脚本文件 (Script File)。注意:文件存放路径必须在 Matlab 能搜索的范围内。2.5 建立函数文件对于一些特殊用户函数,系统提供了一个用于创建用户函数的命令 function,以备用户随时调用。1格式:function 输出变量列表=fun_name(输入变量列表)用户自定义的函数体2函数文件名为:fun_name,注意:保存时文件名与函数名最好相同;3存储路径:最好在系统的搜索路径上。4. 调用方法:输出参量=fun_name (输入变量)例 8:计算 s = n!,在文本编辑器中输入:functio

17、n s=pp(n);s=1;for i=1:ns=s*i;8ends;在 MATLAB 命令窗口中输入: s=pp(5)结果为 s = 120上机练习(二):1编写程序,计算 1+3+5+7+(2n+1)的值(用 input 语句输入 n 值) 。2编写分段函数 的函数文件,存放于文件 ff.m 中,计算其 它0212)(xxf出 , , 的值。)3(f)(f(f三、微积分3.1 极限 limit:limit(F, x, a) 计算 )x(Flimalimit(F, a) 符号表达式 F 中由命令 findsym(F)返回独立的变量 v,计算)v(Flimalimit(F) 符号确定同上,设为

18、 v,计算 )v(lim0limit(F, x, a, right) 计算 )x(lialimit(F, x, a, left) 计算 Fm例 9:计算 , 2n16li3n3x21li解: 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/493.2 函数的导数 diff:diff(f, v) 计算 或dvfdiff(f, v, n) 计算 或ndiff(f, n) 独立变量确定同上

19、,设为 v,计算 或ndvf例 10:已知 ,证明: 。)yxlg(z21yzx解: 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:已知 ,求 )zyxln(zyarctg?xyz2解:设方程 F(x, y , z) = 0 确定了函数 z = z(x, y),则 ,再用类似的计算方法,zxF可以计算 。xz2 syms x y z F = atan(y+z)/x)-log(x+y+z) dFdx

20、 = diff(F, x) dFdz = diff(F, z) dZdx = -dFdx/dFdz % 计算 xz dZdxdy = diff(dZdx, y) dZdxdz = diff(dZdx, z) d2Zdxdy = -dZdxdy/dZdxdz % 计算 yxz2103.3 单积分 int、quad、quad8:1. int不定积分:F = int(f)F = int(f, var) f:被积函数,var:对函数 f 中的变量 var 积分。F:函数 f 的原函数。 F 中没有常数 C。例 12:计算 , dxe1zy dze2xy解: syms x y z; f = exp(x*

21、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 方法计算定

22、积分的近似值。quad8() 函数采用的是 Newton Cotes 方法计算定积分的近似值,其精度比前者更高。例 13:计算 , 2dx31Fdx321F解: 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 = 111/2*2(1/2)*pi例 14:计算无初等原函数的定积分 32/xde1解:先定义被积函数为函数文件,文件名为:f.mfunction y = f (x)

23、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 阶;xe(2)把 y = lnx 在 x = 1 点展开到 6 阶;

24、(3)把 y = 关于变量 t 展开到 3 阶。t解: 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*t2123.5 近似梯度 gradient:FX,FY = gradient(F)FX,FY = gradient(F,H)FX,FY = gradien

25、t(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:计算函数 数值梯度,且以图形显示。2yxez解: x,y = meshgrid(-2:.2:2, -2:.2:2); z = x .* exp(-x.2 - y

26、.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) 处的梯度;xyzu 在点 O(0, 0, 0)及 A(1, 2, 3)处的梯度。z6y2x32解: syms x y z u1 = x*y*z u2 = x2+2*y2+3*y2+x*y+3*x-2*y-6*z v =

27、x, y, z13 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 1J2_O =3 -2 -6J2_A =6 3 23.7 方程(组)的求解 solve、linsolve:x = linsolve(A, B) 专门用于求解线性方程组ss = solve (s) 可适用于所有代数方程(组)ss

28、= solve(s, v) 参数说明:s:包含方程(一个)等式的字符串(可以是函数名,或者是描述方程的字符串) ;v:方程 s 中的一个变量;例 18:求解:(1) ,其中 , ;BAX31521264B(2) ,其中 为未知数;qtxp)sin(t解: 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:求非线性方程组的解 20)sin(yxex解: x,y = solve(sin(x+y)-exp(x)*y = 0,x2-y = 2)计算结果为:14x =-6.0173272500

29、593065641097297117905y =34.208227234306296508646214438330上机练习(三):1求极限: 2. 求导数: ,求xsinlm0 xylndy3求不积分: 4. 求定积分:de2 1025解方程组: 6. 求 的 5 阶泰勒展开式。12yx )sin(xy四、微分方程4.1 常微分方程(组)的符号解 dsolve:y1,y2, = dsolve(eqn1,qun2,var1,var2,inition,disp_var1,disp_var2)参数说明:eqn1,eqn2,:包含微分方程(组)在内的字符串,可以是函数名或是微分方程(组)的表达式;每个

30、eqn_i可以包含一个或多个微分方程。var1,var2,:指定方程组中独立的变量(若方程组中有多个符号,要指定某个符号为未知变量符号) ;inition:微分方程的初始条件(组) ,或者是初始条件的表达式。如:y(a) = b表示 ,D3y(c) = d 表示b)x(yadxyc3例 20:求通解 (1)y+3y+2y = 0(2) 0)(,)(1yxt解: 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

31、)=0)15计算结果为(略):4.2 常微分方程( 组)的数值解 odeXX:t, y=odeXX(F,tspan,y0,) 参数说明:XX 可为 45 或者为 23,F 是函数名。tspan 为自变量 t 的积分范围,y0 为方程的初始状态值。 例 21:把高阶(3 阶)方程 转化为同解的一阶导数方程组,写成函数0y432y文件,并在时间段 0, 120 内求解。解:设 ,则原方程等价于方程组 ,y321 12321y4y令 y(1)= ,y(2)= ,y(3)= ,121写成函数文件为:function y = my_fun(t,y)y = y(2); y(3); -2*y(3)-3*y(

32、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 可以为无穷

33、大;例 22:16求下列数列的和 102)(nkS122)(2kk解: 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:在某实验中测得输入如下:x 104 180 190 177 147 134 150 191 204 121y 100 200 210 185 155 135 170 205 235 125由此推测出 x 和 y 的函数关系:y=f(x) 。解:先把数据点描出来,观察 x

34、和 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,由数学推断过程得:, ,2112)(niniiii xyyxa 21121)()(nini iiiini xyb

35、其中 n 为 x 和 y 的长度。用 Matlab 计算 a 与 b 为:17 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

36、=polyfit(x, y, n) x, y:测量数据的横纵坐标向量, n 为多项式的次数,p:拟合多项式的系数向量(按降幂排列) 。Y=polyval(p, x) p:多项式系数向量,x:自变量向量, Y:多项式在 x 处的值例 24:在某次工程测量中得到如下数据:X 15 20 25 30 35 40 45 50Y 0 7442 26703 41635 49785 50209 50226 50230对以上数据用一次数合适的多项式进行拟合,并画图比较。解:先把数据点描出来: x = 15:5:50; y = 0 7442 26703 41635 49785 50209 50226 50230

37、 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),

38、 plot(x, y,*,xi,y5i,-)计算结果为:p2 =181.0e+004 *-0.0066 0.5845 -7.6669p3 =1.0e+004 *-0.0001 0.0035 0.2800 -4.8880p5 =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:待插值的点的横坐标,可以是标量或单

39、调增加的向量;t:若 X0 为标量, ,则该方式用的是线性插值:认为被插函数在点10iixXX0 处的值落在过两点 与 的直线上,其值为 t;若 X0 为向量,则),(iy),(1it 也是同维向量;method:指定插值的算法,取值如下:nearest:最近插值。该方式不进行插值。而是找出与点 X0 最接近的原始数据点,再返回其值;linear:线性插值。该方式认为相邻的点之间是线性关系;cubic:三次插值。该方式认为被插函数在点 X0 处的值落在过相临两点的三次曲线上;spline:样条插值。该方式认为被插函数在点 X0 处的值落在过相临两点的三次样条曲线上。例 25:在例 24 中,由

40、于需要,现估计 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;19 y5i = polyval(p5,

41、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求微分方程的符号解: 。x3ey2六、函数作图6.1 二维图形 plot、fplot:plot(x, y) 平面曲线图形,x 为自变量,y 为函数值fplot(FUN, LIMS) FUN 为函数名或表达式,LIMS:变量范围例 26:画下列函数的图形(1) , ;604.)9.x(10.)3.x(1y22 10x(2) , , ;cosintay解: x=0

42、: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:画极坐标图 ,)3cos(in30解: theta = linspace(0, 3*pi); 或 theta = 0:pi/180:3*pi; rho = sin(3*theta).*cos(3*theta); polar(the

43、ta, rho, k)206.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:画参数函数图 , .tzcosytin10t解: t = 0:pi/50:10*pi; plot3(sin(t),cos(t),t); title(Helix Plot) xlabel(sint),ylabel(cost),zlabel(t) t

44、ext(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:作 的图形。2yxz解: x=0

45、:0.1:10; y=x; X, Y=meshgrid(x, y); Z=sqrt(X.2+Y.2); mesh(Z)213 三维曲面图命令 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,

46、 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作出函数 在 的图形;xcosey102画出 的示意图。)y/()in(z22七、线性代数1 向量运算 dot、cross :dot(x, y) 向量 x,y 的点乘,即内积cross(x, y) 向量 x, y 的叉乘,即外积2 矩阵的转置() 、transpose:A或

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报