【大学MATLAB课件】第三讲 matlab的科学计算.ppt
《【大学MATLAB课件】第三讲 matlab的科学计算.ppt》由会员分享,可在线阅读,更多相关《【大学MATLAB课件】第三讲 matlab的科学计算.ppt(52页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第四章 MATLAB的科学计算MATLAB编程与系统仿真第四章 MATLAB的科学计算本章主要内容如下:4.1 概述4.2 MATLAB的多项式计算4.3 MATLAB的符号变量4.3 符号运算在高等数学中的应用4.5 符号运算在工程数学中的应用第四章 MATLAB的科学计算MATLAB编程与系统仿真4.1.1 概述n科学研究和工程实践中的计算问题n简单问题:计算器或直接手工推导。n复杂问题:计算机编程n计算机编程n高级语言:nMicrosoft:Visual C+Microsoft:Visual C+、Visual BasicVisual BasicnBorland:DelphiBorlan
2、d:Delphi、C+BuilderC+BuildernSunSun:javajavan科学计算软件工具nMathWorksMathWorks:MatlabMatlabn其它:其它:MAPLEMAPLE、MATHMATICAMATHMATICA等等 第四章 MATLAB的科学计算MATLAB编程与系统仿真MATLAB具有用法简单、灵活、结构性强、延展性好等优点,逐渐成为科技计算、视图交互系统和程序中的首选语言工具。功能强大的数值运算功能 强大的符号运算功能强大的图形处理能力 高级但简单的程序环境丰富的工具箱与模块集 数学实验?第四章 MATLAB的科学计算MATLAB编程与系统仿真n数值运算n
3、“计算数学”就是研究在计算机上解决数学问题的理论和数值方法。n例如研究计算机怎样求微积分、解方程等。n数值运算在运算前必须先对变量赋值,再参加运算。n一般计算机语言都能进行数值计算。4.1.1 概述第四章 MATLAB的科学计算MATLAB编程与系统仿真n符号运算n在软件支持下计算机可以象人一样进行解析计算。n计算表达式中允许带有符号变量,计算时不需要对变量赋值,运算结果以标准的符号形式表达。n只有少部分科学计算类软件有此功能。4.1.1 概述nMATLAB科学计算nMatlab即支持数值运算,也支持符号计算。n课程重点讲符号运算,数值运算也会涉及。n数值运算其后计算方法课程会重点涉及。第四章
4、 MATLAB的科学计算MATLAB编程与系统仿真例1 考察符号变量和数值变量的差别。在 MATLAB命令窗口,输入命令:a=sym(a);b=sym(b);c=sym(c);d=sym(d);%定义4个符号变量w=10;x=5;y=-8;z=11;%定义4个数值变量A=a,b;c,d%建立符号矩阵AB=w,x;y,z%建立数值矩阵Bdet(A)%计算符号矩阵A的行列式det(B)%计算数值矩阵B的行列式4.1.1 概述第四章 MATLAB的科学计算MATLAB编程与系统仿真4.2.1 多项式的表示nmatlab语言用行向量表示多项式,向量中的元素是按多项式降幂排列的。n例如:f(x)=an
5、nxn+n+an-n-1 1xn-n-1 1+a1 1x+a0 0可用行向量 p=an an-1 a1 a0 表示 说明:向量中需要用0表示多项式中系数为零的项 4.2 多项式计算p1=4 3 2 0 1 表示 4x4+3x3+2x2+1第四章 MATLAB的科学计算MATLAB编程与系统仿真4.2.1 多项式的表示nmatlab语言用行向量表示多项式,向量中的元素是按多项式降幂排列的。n例如:f(x)=an nxn+n+an-n-1 1xn-n-1 1+a1 1x+a0 0可用行向量 p=an an-1 a1 a0 表示 说明:向量中需要用0表示多项式中系数为零的项 4.2 多项式计算p1=
6、4 3 2 0 1 表示 4x4+3x3+2x2+1第四章 MATLAB的科学计算MATLAB编程与系统仿真4.2.2 多项式的构造n直接构造法 T=2 5 0 4 14;poly2sym(T)%变为符号变量 ans=2*x4+5*x3+4*x+14n根生成法 T=2 5 0 4 14;r=roots(T)%求根 poly(r)ans=1.0000 2.5000 -0.0000 2.0000 7.0000n特征多项式生成法poly(A)特征值与特征向量:对于方阵A,若存在数和非零向量x 使 A x=x,则称为A的一个特征值,x 为A 的一个对应于特征值的特征向量。4.2 多项式计算第四章 MA
7、TLAB的科学计算MATLAB编程与系统仿真4.2.2 多项式的构造n特征多项式生成法poly(A)特征多项式一定是n+1维的 特征多项式第一个元素一定是1 例:a=1 2 3;4 5 6;7 8 0;p=poly(a)p=1.00 -6.00 -72.00 -27.00 p1=poly2str(p,x)%函数文件,显示数学多项式的形式 p1=x3-6 x2-72 x-274.2 多项式计算第四章 MATLAB的科学计算MATLAB编程与系统仿真4.2.3 多项式求根roots a=1 2 3;4 5 6;7 8 0;p=poly(a)p=1.00 -6.00 -72.00 -27.00 r=
8、roots(p)%求根 r=12.12 -5.73 显然 r是矩阵a的特征值 -0.39 p2=poly(r)%可用poly令其返回多项式形式 p2=1.00 -6.00 -72.00 -27.00 matlabmatlabmatlabmatlab规定规定规定规定多项式系数向量用行向量多项式系数向量用行向量多项式系数向量用行向量多项式系数向量用行向量表示,表示,表示,表示,一组根用列向量表示一组根用列向量表示一组根用列向量表示一组根用列向量表示。4.2 多项式计算第四章 MATLAB的科学计算MATLAB编程与系统仿真4.2 多项式计算4.2.4 多项式相乘conv 例:a(x)=x2+2x+
9、3;b(x)=4x2+5x+6;c=(x2+2x+3)(4x2+5x+6)a=1 2 3;b=4 5 6;c=conv(a,b)c=4.00 14.00 28.00 27.00 18.00 p=poly2str(c,x)p=4 x4+13 x3+28 x2+27 x+18第四章 MATLAB的科学计算MATLAB编程与系统仿真4.2.5 多项式相除deconva=1 2 3;c=4.00 14.00 28.00 27.00 18.00;d=deconv(c,a)d=4.00 5.00 6.00d,r=deconv(c,a)余数余数c除除a后的整数后的整数4.2 多项式计算第四章 MATLAB的
10、科学计算MATLAB编程与系统仿真4.2.6 多项式微分polyder命令格式:polyder(p):求求p的微分的微分 polyder(a,b):求多项式求多项式a,b乘积的微分乘积的微分 p,q=polyder(a,b):求多项式求多项式a,b商的微分商的微分例:a=1 2 3 4 5;a=1 2 3 4 5;poly2str(a,x)poly2str(a,x)ansans=x4+2 x3+3 x2+4 x+5=x4+2 x3+3 x2+4 x+5 b=b=polyder(apolyder(a)b=4 6 6 4b=4 6 6 4 poly2str(b,x)poly2str(b,x)ans
11、ans=4 x3+6 x2+6 x+4=4 x3+6 x2+6 x+44.2 多项式计算第四章 MATLAB的科学计算MATLAB编程与系统仿真4.2.6 多项式求值polyval命令格式:polyval(p,s):按数组规则求按数组规则求p的值的值 polyvalm(p,m):按矩阵规则求按矩阵规则求p的值的值 例:a=1 1;a=1 1;poly2str(a,x)poly2str(a,x)ansans=x+1=x+1 polyval(a,1 2)polyval(a,1 2)ansans=2 3=2 3 polyvalm(a,1 2;3 4)polyvalm(a,1 2;3 4)ansans
12、=2 3=2 3 4 5 4 54.2 多项式计算第四章 MATLAB的科学计算MATLAB编程与系统仿真符号运算的功能符号运算的功能符号表达式、符号矩阵的创建符号表达式、符号矩阵的创建符号线性代数符号线性代数因式分解、展开和简化因式分解、展开和简化符号微积分符号微积分符号代数方程求解符号代数方程求解符号微分方程符号微分方程符号积分变换符号积分变换4.3 符号运算第四章 MATLAB的科学计算MATLAB编程与系统仿真u sym 函数用来建立单个符号量,一般调用格式为:q 符号对象的建立:符号对象的建立:sym 和和 syms 符号变量=sym(A)参数 A 可以是一个数或数值矩阵,也可以是字
13、符串u syms 命令用来建立多个符号量,一般调用格式为:syms 符号变量符号变量1 符号变量符号变量2.符号变量符号变量n 例:syms a b c a=sym(a);b=sym(b);c=sym(c);4.3 符号运算4.3.1 符号变量-变量建立第四章 MATLAB的科学计算MATLAB编程与系统仿真q 符号符号表达式表达式的建立:的建立:syms x;f=sin(x)+cos(x),class(f)f=sym(sin(x)+cos(x)q 相关函数相关函数:u findsymu subsu 符号量、符号常数、数值、字符串间转换指令符号量、符号常数、数值、字符串间转换指令 f=sym(
14、1/3+1/4)4.3 符号运算4.2.1 符号变量-变量建立第四章 MATLAB的科学计算MATLAB编程与系统仿真syms a b x X Y;syms a b x X Y;k=sym(3);%k=sym(3);%符号常量符号常量z=sym(c*sqrt(delta)+y*sin(theta);z=sym(c*sqrt(delta)+y*sin(theta);EXPR=a*z*X+(b*x2+k)*Y;EXPR=a*z*X+(b*x2+k)*Y;findsym(EXPR)findsym(EXPR)ans=X,Y,a,b,c,delta,theta,x,y q 符号符号变量查找变量查找:fi
15、ndsym(EXPR)查找表达式子中有多少个独立的符号变量4.3 符号运算4.3.1 符号变量变量查找第四章 MATLAB的科学计算MATLAB编程与系统仿真 A=sym(1+x,sin(x);5,exp(x)u 使用 sym 函数直接生成u 将数值矩阵转化成符号矩阵u 符号矩阵中元素的引用和修改 B=2/3,sqrt(2);5.2,log(3);C=sym(B)(d=sym(B)?)A=sym(1+x,sin(x);5,exp(x);A(1,2)%引用引用 A(2,2)=sym(cos(x)%重新赋值重新赋值4.3 符号运算4.3.1 符号变量符号矩阵第四章 MATLAB的科学计算MATLA
16、B编程与系统仿真4.3 符号运算4.3.1 符号变量符号矩阵修改u 直接赋值修改A(2,2)=c+bu 指令修改A2=subs(A,new,old)例如例如:A=a,2*b 3*a,0A(2,2)=4*bA=a,2*b 3*a,4*bA2=subs(A,c,b)A2=a,2*(c)3*a,4*(c)第四章 MATLAB的科学计算MATLAB编程与系统仿真在在MATLABMATLAB早期的版本里早期的版本里,符号的符号的四则运算有四则运算有相应的函数相应的函数在在6.06.0以后的版本里,以后的版本里,MATLABMATLAB符号运算里的符号运算里的基本运算符、关系运算符、三角函数、双基本运算符
17、、关系运算符、三角函数、双曲函数及其反函数、指数对数函数和矩阵曲函数及其反函数、指数对数函数和矩阵代数代数几乎与数值运算中的一样几乎与数值运算中的一样略有不同之处请查相关帮助略有不同之处请查相关帮助4.3 符号运算4.3.1 符号变量四则运算第四章 MATLAB的科学计算MATLAB编程与系统仿真factor(f)syms x;f=x6+1;factor(f)l factor 也可用于正整数的分解 s=factor(100)factor(sym(12345678901234567890)l 大整数的分解要转化成符号常量大整数的分解要转化成符号常量(1+x2)*(x4-x2+1)s=2 2 5
18、5(2)*(3)2*(5)*(101)*(3803)*(3607)*(27961)*(3541)4.3 符号运算4.3.2 格式转换因式分解第四章 MATLAB的科学计算MATLAB编程与系统仿真expand(f)syms x;f=(x+1)6;expand(f)l 多项式展开l 三角函数展开 syms x y;f=sin(x+y);expand(f)ans=1+6*x+15*x2+20*x3+15*x4+6*x5+x6ans=sin(x)*cos(y)+cos(x)*sin(y)4.3 符号运算4.3.2 格式转换函数展开第四章 MATLAB的科学计算MATLAB编程与系统仿真u 合并同类项
19、collect(f,v):按指定变量按指定变量 v 进行进行合并合并collect(f):按按默认默认变量变量进行进行合并合并 syms x y;f=x2*y+y*x-x2+2*x;collect(f)collect(f,y)ans=(y-1)*x2+(y+2)*xans=(x2+x)*y-x2+2*x4.3 符号运算4.3.2 格式转换合并同类项第四章 MATLAB的科学计算MATLAB编程与系统仿真u 函数简化N,D=numden(f):N 为通分后的分子,为通分后的分子,D 为通分后的分母为通分后的分母 syms x y;f=x/y+y/x;N,D=numden(f)n,d=numden
20、(sym(112/1024)N=x2+y2D=y*xn=7d=644.3 符号运算4.3.2 格式转换分式通分第四章 MATLAB的科学计算MATLAB编程与系统仿真u horner 多项式:嵌套形式的多项式 syms x;f=x4+2*x3+4*x2+x+1;g=horner(f)例:例:g=1+(1+(4+(2+x)*x)*x)*x4.3 符号运算4.3.2 格式转换嵌套多项式第四章 MATLAB的科学计算MATLAB编程与系统仿真y=simple(f):对对 f 尝试多种不同的算法尝试多种不同的算法进行简进行简化化,返回其中最简短的形式返回其中最简短的形式How,y=simple(f):
21、y 为为 f 的的最简短形式最简短形式,How 中记录的为简化过程中使用的方法。中记录的为简化过程中使用的方法。fRHOW2*cos(x)2-sin(x)2 3*cos(x)2-1 simplifyx3+3*x2+3*x+1(x+1)3factorcos(3*acos(x)4*x3-3*xexpand4*x3-3*x(-3+4*x2)*x horner4.3.2 格式转换函数简化第四章 MATLAB的科学计算MATLAB编程与系统仿真u 函数简化y=simplify(f):对对 f 进行综合简化进行综合简化 syms x;f=sin(x)2+cos(x)2;simplify(f)syms c
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大学MATLAB课件 【大学MATLAB课件】第三讲 matlab的科学计算 大学 MATLAB 课件 第三 科学 计算
限制150内