ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:63.16KB ,
资源ID:29662858      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/29662858.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(MATLAB编程代码集结4.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

MATLAB编程代码集结4.docx

1、MATLAB编程代码集结4第三章 MATLAB符号运算(区别于数值运算其对象主要为非数值的字符串)sym函数将数值类型转换为符号类型的变量s=sym(A,flag)s=sym(A,flag)上述表达式是由A建立一个符号对象或者符号表达式s,不带单引号的A是一个数字,数值矩阵或者数值表达式,其输出是将数值对象转换成符号对象或者符号表达式。带单引号的A是一个字符串,输出是将字符串转换成的符号对象或者符号表达式3.1.2 符号对象的创建符号常量的创建将数值常亮作为sym函数的输入参量,建立一个符号常量。例如s=sym(2*5);s1=s+2class(s1)产生结果s = 10 s1 = 12 an

2、s = SymS和s1虽然是数字形式,但是他们是按照符号形式存储的符号变量的创建x=sym(a);y=sym(b);a=class(x)b=class(y)a =symb =Symsyms a ba=class(a)b=class(b)利用sym创建矩阵符号矩阵的创建利用sym创建矩阵的时候元素可以使任何不带等号的符号表达式,各元素字符串之间长度可以不相等,符号矩阵内的元素之间使用逗号或者空格键隔开,各行之间使用分号隔开。s=sym(a*b exp(a);cos(x)2 1/(3+x2)产生结果如下s = a*b, exp(a) cos(x)2, 1/(3+x2) 直接输入法创建矩阵要求每一行

3、用中括号括起来,并且使用分号隔开,个元素之间使用逗号隔开。同事要保证同一列上的各行字符长度相同,不够时候用空格填补。s1=(a+b),sin(b),exp(a);a*b ,log(b),b 产生的结果如下s1 =(a+b),sin(b),exp(a)a*b ,log(b),b 将数值矩阵转换为符号矩阵数值矩阵不能直接参与符号运算,因此在符号运算中需要先将数值矩阵转换为符号矩阵,用sym函数可以实现将数值矩阵转换为符号矩阵。s2=2/3,sqrt(2);5.2,log(3)s3=sym(s2) s2=2/3,sqrt(2);5.2,log(3)s3=sym(s2)产生的结果为s2 = 0.666

4、7 1.41425.2000 1.0986s3= 2/3, sqrt(2) 26/5, 4947709893870346*2(-52) 符号表达式的创建使用syms建立符号函数syms x y z;f1=2*x*y/zf2=sin(x)*x+y2+cos(z)f3=f1/f2f1 =2*x*y/zf2 =sin(x)*x+y2+cos(z) f3 = 2*x*y/z/(sin(x)*x+y2+cos(z)使用sym建立符号函数e1=sym(x2+b*x+c)e2=sym(sin(x)2+2*cos(x)2=1)e3=sym(dy-5=x) e1 =x2+b*x+c e2 =sin(x)2+2*

5、cos(x)2=1 e3 = dy-5=x符号运算中的运算符符号表达式中自变量的确定findsym确定表达式的自变量findsym(f,n);按数学常规函数中确定符号函数f中的n个自变量,当n=1时候,说明有一个自变量,于是从字母之中寻找与x最接近的字母,如果两个字母都与x距离相等则选取较后的一个,当n为默认状态时候,findsym函数会给出符号函数f中所有的符号变量。findsym(e,n):该表达式确定符号方程中的n 个变量f=sym(m2+8*z+n*m);findsym(f,1)ans =zf=sym(w*y+y2+w*z);findsym(f,1)e=sym(2*a+c*b+d=0)

6、;findsym(e,1)findsym(e)ans =dans =a, b, c, d默认时候findsym函数给出了符号方程中的所有变量 3.2符号表达式的运算(1)提取分子和分母 要求符号函数表达式是一个有理式(两个多项式比的形式)Numden函数的具体用法如下n,d=number(f):f指的要进行提取的有理式,n指的是提取后的有理式,d指的是提取后的分母。提取函数的分子和分母,在命令中输入如下语句:f=sym(x2/(2*y+1)n,d=numden(f)f =x2/(2*y+1)n =x2 d = 2*y+1 提取函数的分子和分母f=sym(2/3*x2+1/2*x+5)n,d=n

7、umden(f)f =2/3*x2+1/2*x+5n =4*x2+3*x+3 d =6(2)标准代数运算 m=sym(x3+2*x2)n=sym(x2-3*x)a=m+nb=m/nc=m*nm = x3+2*x2 n = x2-3*xa =x3+3*x2-3*xb =(x3+2*x2)/(x2-3*x)(3)复合符号函数的运算fg=compose(f,g,v,w,t): compose函数是在w=t时候对f(v)和v=g(x)求复合函数,fg=f(g(w),v w 分别是函数f和g的自变量,t是复合函数的自变量f=(4)数值转换LogicalCharInt8 16 32 uint32 sing

8、le double cell struct例如x=5.78;f=sym(2*x+x2);m=eval(f)int8(m)Logical(m)m = 44.9684ans = 45Warning: Values other than 0 or 1 converted to logical 1ans = 1(5)Sym2poly函数将符号表达式转换为数值多项式的系数向量,并且系数从高到低依次排列。f=sym(7+3*x+5*x2);sym2poly(f)ans = 5 3 7(6)Poly2sym函数将数值多项式的系数向量转换为符号表达式,作用于sym2poly相反 a=5 3 7;poly2sy

9、m(a) ans =7+3*x+5*x2(7)eval函数f=sym(x+y);x=sym(2);y=sym(5);p=eval(f)class(p)p = 7ans =sym(8)变量替换(9)Subs(S,old,new):用new来替换s中的old变量,且old必须是符号变量,new可以使符号变量 符号常亮 数值 和数组等。Subs(S,new)用new来替换s中的自变量Subs(s)syms a m n w;f=1+5*a;subs(f,a,m2+5*n) ans = 1+5*(m2+5*n)(10)利用factor实现因式分解 f=sym(x2+5*x+4);factor(f) an

10、s =(x+4)*(x+1) 使用factor函数对符号矩阵表达式进行因式分解syms m x nm=1:10(11)Collect实现合并同类项Collect(s),collect(s,v)合并s中v相同次幂的表达式 f=sym(x3+2*x)*(x+1);collect(f) ans = x4+x3+2*x2+2*x(12)Horner形成嵌套形式(13)expand展开e=sym(x+y)3);expand(e) ans =x3+3*x2*y+3*x*y2+y3 (14)Simplify可以综合化简y=sym(sin(x)2-2*sin(x)*cos(x)+cos(x)2);simpli

11、fy(y) ans =-2*sin(x)*cos(x)+1 (15)Simple 功能强大可以将表达式转换为最简单形式r,how=simple(S)其中r为最简单的符号表达式,how是一个描述简化方法的字符串。r=simple(S)Simple可以执行collect factor expand simplify radsimp convert combine y=sym(sin(x)2-2*sin(x)*cos(x)+cos(x)2);simplify(y) ans = -2*sin(x)*cos(x)+1 f=sym(2*cos(x)*sin(x);simple(f) simplify: 2

12、*sin(x)*cos(x) radsimp: 2*sin(x)*cos(x) combine(trig): sin(2*x) factor: 2*sin(x)*cos(x) expand: 2*sin(x)*cos(x) combine: sin(2*x) convert(exp): -i*(exp(i*x)-1/exp(i*x)*(1/2*exp(i*x)+1/2/exp(i*x) convert(sincos):2*sin(x)*cos(x) s=sym(x2-1)*(x+2)/(x+1);r,how=simple(s)simple(s) r = x2+x-2 how =combine(

13、trig) simplify: (x+2)*(x-1) radsimp: (x+2)*(x-1) combine(trig): x2+x-2 factor: (x+2)*(x-1) expand: 1/(x+1)*x3+2/(x+1)*x2-1/(x+1)*x-2/(x+1) combine: (x2-1)*(x+2)/(x+1)矩阵符号计算 A=sym(a,2*b;3*a,0)B=sym(2*x 3*b;n+m d+8)A+BA = a, 2*b 3*a, 0B = 2*x, 3*b n+m, d+8ans = a+2*x, 5*b 3*a+n+m, d+8 计算矩阵的二次方A=sym(8

14、1 6;2 6 4;3 5 2);A2 ans = 84, 44, 64 40, 58, 44 40, 43, 42线性代数运算Inv函数计算符号矩阵的逆inv(A) A=sym(8 1 6;2 6 4;3 5 2);inv(A) ans = 1/13, -7/26, 4/13 -1/13, 1/52, 5/26 1/13, 37/104, -23/52 Det函数计算矩阵行列式det(A) A=sym(8 1 6;2 6 4;3 5 2);det(A) ans = -104 triu 和tril实现对角元素分别为矩阵上三角部分和下三角部分diag对角矩阵Rank求秩Null函数计算零空间正交

15、基科学计算(1)符号极限的运算Limit(f,x,a)表示当x无线趋近于a时候,函数f(x)的极限值。Limit(f,a) 当x无线趋近于a时候计算符号函数的极限值,没有指定变量的情况下按照findsystem函数指示的默认变量确定函数的变量(2)Limit(f,x,a,left)和limit(f,x,a,right)计算的极限 syms xf=cos(x);limit(f,x,1) ans = cos(1) (3)符号微分计算Diff(s)没有指定情况下系统默认对函数s自变量求解Diff(s,V)对函数s变量v求解Diff(s,n)Diff(s,v,n)计算f=ax2+bx+cf=sym(a

16、*x2+b*x3+c*x)diff(f,x,2) f =a*x2+b*x3+c*xans =2*a+6*b*x (4)符号函数积分运算Int(s,v)以v为自变量对s积分Int(s,v,a,b) a和b分别为积分函数的上下限计算f=cos(x)2的积分f=sym(cos(x)2);int(f,x,1,9)ans =1/2*cos(9)*sin(9)+4-1/2*cos(1)*sin(1)计算广义积分的值 syms xf=1/(x2+4*x+9);int(f,-inf,+inf)ans =1/5*pi*5(1/2) (5)符号表达式转换fourier(f)(傅里叶变换)和 ifourier(f)

17、(傅里叶反变换)(6)同理拉氏变换laplace (f) 和ilaplace(f) 3.6符号函数图形变换Ezplot(f)绘制图线区间-2pi, 2pi;绘制隐函数f(x,y)=0在区间-2pix2pi 和 -2piy2pi; 绘制参数方程x=x(t);y=y(t)在区间0t2piEzplot(f,min,max)、ezplot(f,xmin,xmax,ymin,ymax,) ezplot(x,y,tmin,tmax)第一种指的是函数f在指定区间min,max的二维曲线,第二种指的是minxmax, minymax, syms x yf=x2-y3ezplot(f) syms x y t x

18、=2*sin(t);y=t*cos(t);ezplot(x,y)gridtitle(参数方程)三维曲线的绘制syms tx=sin(t);y=cos(t);z=t;ezplot3(x,y,z,0,20);gridtitle(三维曲线)等值线的绘画Ezcontour(f) 绘制f(x,y)在默认区域内的等值线Ezcontour(f,domain),绘制二元函数在指定区域内的等值线Ezcontour(,n,),绘制等值线并规定数目syms x yf=3*(1-x)2*exp(-(x2)-(y+1)2);ezcontour(f)符号函数的曲面及其表面的绘制采用Ezmesh三维曲面图 ezmeshc

19、ezmeshc带等值线的三维曲面图 ezsurf三维表面图ezsurfc带等值线的三维曲面图三维表面图形用法ezmesh(f)Ezmesh(f,domain)Ezmensh(x,y,z)Ezmensh(x,y,z,smin,smax,tmin,tmax) 或者ezmensh(x,y,z,min,max) syms x ysubplot(2,2,1)ezmesh(x*exp(-x2-y2),-2.5,2.5)title(三维曲面图)subplot(2,2,2)ezsurf(x*exp(-x2-y2),-2.5,2.5)title(三维曲表面图)subplot(2,2,3)ezmeshc(x*exp(-x2-y2),-2.5,2.5)title(带等值线三维曲面图)subplot(2,2,4)ezsurfc(x*exp(-x2-y2),-2.5,2.5)title(带等值线三维表面图)符号方程的求解Solve函数G=solve(eq)其中eq是符号表达式或字符串,该方程求解的是eq=0G=solve(eq,var),求解方程eq=0,其中自变量有参数var决定例如Syms x a b cx=solve(4*a*x2+b*x-c)返回值x是所有解构成的列向量 syms a b c xb=solve(a*x2+b*x+3*c,b) b =-(a*x2+3*c)/x求解方程

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1