第五章符号运算``方程yu绘图

合集下载

第5章MATLAB 符号计算(1)PPT课件

第5章MATLAB 符号计算(1)PPT课件

MATLAB 7.X程序设计
18
例5-8
第5章 符号计算 (1)
创建符号表达式,然后确定符
号变量。
f1=sym('a*x^2+B*x+c') %创建符号表达式a*x^2+ B*x+c
findsym(f1) %确定B, a, c, x为符号变量 findsym(f1,1) %确定x为符号变量 findsym(f1,2) %确定x,c为符号变量 findsym(f1,3) %确定x,c,a为符号变量 findsym(f1,4) %确定x,c,a,B为符号变量
MATLAB 7.X程序设计
11
5.2.2 符号数值精度控制
第5章 符号计算 (1)
三种不同的算术运算:
1) 数值型
MATLAB的浮点运算。
2) 有理数型 Maple的精确符号运算。
3) VPA型
Maple的任意精度运算。
MATLAB 7.X程序设计
12
第5章 符号计算 (1)
第3种运算的精度可以任意设置,由digits和 vpa函数实现。
MATLAB 7.X程序设计
6
第5章 符号计算 (1)
5.1.3 创建符号变量
sym(‘变量’,参数)
功能:把变量定义为符号对象。其中参数用来设
置限定符号变量的数学特性,有三种选择:
• ’positive’ 表示为“正、实”符号变量,
• ’real’
表示为“实”符号变量,
• ’unreal’ 表示为“非实”符号变量。如
MATLAB 7.X程序设计
3
5.1 符号计算基础
第5章 符号计算 (1)
5.1.1 概述 符号计算的特点: 1)符号计算定义在符号变量的基础上,符号表

符号计算和绘图

符号计算和绘图

• • • • • • •
syms u v w z Eq=u*z^2+v*z+w; (2)指定Z为自由变量: result_2=solve(Eq,z) result_2 = 1/2/u*(-v+(v^2-4*u*w)^(1/2)) 1/2/u*(-v-(v^2-4*u*w)^(1/2))
例2.1-3对独立自由符号变量的自动辨认
• • • • • • • • • •
(4)用isa判断矩阵的类别: isa(Mn,'double') isa(Mc,'char') isa(Ms,'sym') ans = 1 ans = 1 ans = 1
(5)用whos观察变量的类别和其他属性
• whos Mn Mc Ms • Name Size Bytes Class • Mc 1x9 18 char array • Mn 2x2 32 double array • Ms 2x2 312 sym object • Grand total is 21 elements using 362 bytes
• • • • • • • • • • •
【例2.1-2】用符号计算研究方程的解。 (1)不指定变量时: syms u v w z Eq=u*z^2+v*z+w; result_1=solve(Eq) %采用自动识别变量解方程
findsym(Eq,1) result_1 = -u*z^2-v*z ans = w
MATLAB的符号计算
简介
• 所谓符号计算是指:解算数学表达式、 方程不是在离散化的数值点上进行, 而是凭借一系列恒等式,数学定理, 通过推理和演绎,力求获得解析结果。 这种计算建立在数值完全准确表达和 推演严格解析的基础之上,因此所得 结果是完全准确的。

第五章 符号数学基础

第五章 符号数学基础

第五章符号数学基础一.符号对象的创建1. 创建符号变量和表达式创建符号变量和表达式的两个基本函数:sym, syms*x=sym(‘x’)创建一个符号变量x,可以是字符、字符串、表达式或字符表达式。

*syms用于方便地一次创建多个符号变量,调用格式为:syms a b c d .书写简洁意义清楚,建议使用。

例1:使用sym函数创建符号变量.a=sym(‘a’)b=sym( ‘hello’)c=sym(( ‘(1+sqrt(5))/2’)y=sym( ‘x^3+5*x^2+12*x+20’)a =ab =helloC =(1+sqrt(5))/2Y =x^3+5*x^2+12*x+20例2:用syms函数创建符号变量。

syms a b c d2. 创建符号矩阵例1:创建一个循环矩阵。

syms a b c dn=[a b c d;b c d a;c d a b;d a b c]n =[ a, b, c, d][ b, c, d, a][ c, d, a, b][ d, a, b, c]例2:将3阶Hilbert矩阵转换为符号矩阵。

h=hilb(3)h1=sym(h)h =1.0000 0.5000 0.33330.5000 0.3333 0.25000.3333 0.2500 0.2000h1 =[ 1, 1/2, 1/3][ 1/2, 1/3, 1/4][ 1/3, 1/4, 1/5]注意符号矩阵于数值矩阵的区别。

3.默认符号变量在MATLAB的符号数学工具箱中,以最接近x的顺序排列默认自变量的顺序,可利用findsym函数对默认自变量进行查询。

例1:求符号函数在不同自变量情况下的结果。

创建符号变量x和n,建立函数f=x n,然后分别求f对x和f对n的导数.syms x nf=x^ndiff(f)diff(f,n) % n作为自变量,求f对n的导数f =x^nans =x^n*n/xans =x^n*log(x)例2:查询符号函数中的默认自变量。

非线性数学物理中的符号计算PPT课件

非线性数学物理中的符号计算PPT课件

一个简单例子
设 den(Y ) x1 依(x照1算)2法可计算得
M1: 1 0; M 2: 1 1,1 1; M 3: 1 min{1 1,1 1} 0; M 4: W1 1;
M 5:
1
1,
W1 D1 '
1,
1 max{1,W1 / D1'} 1
2 0;
2 0, 2 2;
Yn ' DYd Yn D'Yd DYd '
D
Y 1 2 d
AnYn D Yd
Ad
Bn D Bd
注意 D为无平方因子,它与上式中其余各个 部分互素,因此与下式也互素
Y~ Yn ' DYd Yn D'Yd DYd '
有理解分母因子重数的确定
由此可以证明
当 1 时,
当 0 时, 1 当 1 时,或 1 或 W D'
去分母得
(x2 x) Z 'x Z x
一个简单例子
设 R x(x 1), S x, T x, 应用计算多项式 解 Z 次数的算法
D1: p 0, sn 1, rm 1; D2: m 2, n 1, l 1, p min{ l n, l (m 1)} 0; D3: n 2 m 1, sn / rm 1, p max{p, sn / rm} 1.
其中 W如下定义
A
W
D
A
写在最后
经常不断地学习,你就什么都知道。你知道得越多,你就越有力量 Study Constantly, And You Will Know Everything. The More
You Know, The More Powerful You Will Be

第五讲 符号计算PPT教学课件

第五讲 符号计算PPT教学课件

2020/12/11
13
一、符号计算基础
(二)默认符号变量
【例3 】查询符号函数 f=x^n g=sin(a*t+b)
中的系统默认变量。 syms a b n t x %定义符号变量 f=x^n; %给定符号函数 g=sin(a*t+b); findsym(f,1) %在f函数中查询1个系统默认变量 ans= x 表示f函数中查询的1个系统默认变量为x。
为了使乘积表达式x^2+y^2非负,这里, 把变量x和y定义为实数。
x=sym('x', 'real');
y=sym('y', 'real');
2020/12/11
8
一、符号计算基础
(一) 定义符号变量
z=x+i*y; %定义复数表达式 conj(z); %求共轭复数 expand(z*conj(z)) %求表达式与其共轭复数乘积的多项式 ans = x^2+y^2
%定义符号运算量
fxy=(a*x^2+b*y^2)/c^2 %生成符号函数
生成符号函数fxy后,即可用于微积分等 符号计算。
2020/12/11
17
一、符号计算基础
(四) 生成符号函数
【例4】定义一个符号函数 fxy=(a*x2+b*y2)/c2 ,分别求该
函数对x、y的导数和对x的积分。
15
一、符号计算基础
(四) 生成符号函数
将表达式中的自变量定义为符号变量后, 赋值给符号函数名,即可生成符号函数。 例如有一数学表达式:
f(x,y)ax 2by 2 c2
2020/12/11
16

MATLAB绘图和符号运算

MATLAB绘图和符号运算

本章目标
• 理解符号运算的有关概念 • 掌握使用符号运算解决符号推导、微积分、 方程等问题的方法
主要内容
•5.1 数值运算与符号运算 •5.2 符号变量和符号表达式 •5.3 符号表示式的运算 •5.4 微积分 •5.5 方程求解
5.1数值运算与符号运算
• 数值运算在运算前必须先对变量赋值,再 参加运算。 • 符号运算不需要对变量赋值就可运算,运 算结果以标准的符号形式表达。
5.2 符号变量和符号表达式
• 符号变量和符号表达式在使用前必须说明
– sym函数
>>f1=sym(‘ a x^2+b x+c’ ) 号表达式 %创建符号变量 f1和一个符
– syms函数
>> clear >> syms a b c x >> whos Name Size a 1x1 b 1x1 c 1x1 x 1x1
例: >> >> >> >> >>
x=[-8:0.5:8]; y=[-8:0.5:8]; [X,Y]=meshgrid(x,y); r=sqrt(X.^2+Y.^2)+eps; Z=sin(r)./r; mesh(X,Y,Z)
二维作图机制
点 线
先画点,后连线
例:y = sin(x), 0 < x < 2 一、画点
第4章 MATLAB绘图
linda 整理
本章目标
• 了解MATLAB的绘图功能 • 掌握二维图形和三维图形的绘制方法 • 能够进行常用的数据可视化处理
Matlab 绘图
如何画出 y=sin(x) 在 [0, 2*pi] 上的图像?

符号运算参考答案讲解

符号运算参考答案讲解

符号运算参考答案讲解实验3 符号运算⼀、实验⽬的1.掌握符号对象的创建及符号表达式化简的基本⽅法;符号(symbol)运算的基本功能.2.掌握符号微积分、符号⽅程的求解的基本⽅法。

⼆、实验内容与要求1. 字符型变量、符号变量、符号表达式、符号⽅程的建⽴⽤单引号设定字符串变量>>a ='u+4'%定义a为字符型变量a =u+4⽤命令sym(‘’)创建单个符号变量、符号表达式、符号⽅程. >>x= sym('m+n+i') %定义x为符号型变量x=m+n+i>>y = sym('d*x^2 + x – 4')%定义y为符号表达式y=d*x^2 + x – 4>>e = sym(' a*x^2+b*x+c=0') %定义e为符号⽅程e=a*x^2+b*x+c=0⽤命令syms创建多个符号变量、符号表达式.>>syms a b x y %定义a,b,x,y为符号变量,字母间必须⽤空格>>s = a*x^4+b*cos(y)-x*y %定义s为符号表达式s=a*x^4+b*cos(y)-x*y基于MA TLAB的数学实验16注意:sym(‘’)中的单引号不要漏,syms后的符号变量之间不能⽤逗号,⽤syms不能建⽴符号⽅程.2. 复合函数计算格式:compose(f,g,x,y)%返回复合函数f [ g (y)],f = f (x),g = g (y).>>syms x y>>f = 1/(1 + x^2*y); g = sin(y);>>C = compose(f,g,x,y) % 结果为1/(1+sin(y)^2*y)2 合并同类项格式:collect(S) %是对S中的每⼀函数,按缺省变量x的次数合并系数.collect(S,v) %是对指定的变量v计算,操作同上.【例1.18】>> syms x y %定义x,y为符号变量>> R1=collect((exp(x)+x)*(x+2)); %结果为x^2+(exp(x)+2)*x+2*exp(x)>> R2=collect((x+y)*(x^2+y^2+1),y);%结果为y^3+x*y^2+(x^2+1)*y+x*(x^2+1) 4.符号表达式的展开格式:R=expand(S) %展开符号表达式S中每个因式的乘积。

MATLAB符号运算功能PPT课件

MATLAB符号运算功能PPT课件
digits(D) 函数设置有效数字个数为D的近似解精度; R=vpa(S) 符号表达式S在digits函数设置下的精确的数值解; vpa(S,D) 符号表达式S在digits(D)精度下的数值解; 例题:求方程 3x2-ex=0 的精确解和各种精度的近似解。 s=solve(' 3*x^2-exp(x)=0 ')
2021/6/7
11
compose(f,g,x,y,z) 返回的复合函数f(g(z)),并使得x为f的独立变
量,y为g的独立变量。 复合函数运算示例:
>> syms x y z t u; >> f=1/(1+x^2); g=sin(y); >> h=x^t; p=exp(-y/u); >> compose(f,g);
[ 3.7330790286328142006199540298434] [ -.45896226753694851459857243243408] >> vpa(s,6) ans =[ .910008] [ 3.73308] [ -.458962]
例题:设函数为 f(x)=x-cos(x),求此函数在 x =π点的值。
s = [ -2*lambertw(-1/6*3^(1/2))] [ -2*lambertw(-1,-1/6*3^(1/2))] [ -2*lambertw(1/6*3^(1/2))]
2021/6/7
8
>>vpa(s) ans =[ .91000757248870906065733829575944]
>>x=sym('x')
>>f=x-cos(x)
>>f1=subs(f, 'pi',x)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

【例5-18】 已知符号表达式 (1)将x换成t; (2)接着将b换成y; (3)当t=2时,计算(2)的值; (4)当y=3时,计算(3)的值。 >> syms a b c t x y >> f=(b^2*x-4*a*c)^(1/2)+(x+y)/(y+b); >> f1=subs(f,t) f1 = (b^2*t-4*a*c)^(1/2)+(t+y)/(y+b) >> f2=subs(f1,b,y) f2 = (y^2*t-4*a*c)^(1/2)+1/2*(t+y)/y >> f3=subs(f2,t,2) f3 = (2*y^2-4*a*c)^(1/2)+1/2*(2+y)/y >> f4=subs(f3,y,3) f4 = (18-4*a*c)^(1/2)+5/6
5. 分式通分(numden) 【例5-14】 在Matlab中对表达式 >> syms x >> f=(x+1)/x^2+(x-1)/(2*x+3); >> [n,d]=numden(f) n= x^2+5*x+3+x^3 d= x^2*(2*x+3)
f
x 1 x 1 x2 2x 3
tan x sin x 的极限数值。 x2
【例5-19】 求解表达式 lim x 0
>> syms x >> F=limit((tan(x)-sin(x))/x^2) F= 0
【例5-20】 试证明表达式 lim(1 )t e x 。 t t >> syms t x >> f=limit((1+x/t)^t,t,inf) f= exp(x) 【例5-21】 已知 ,试求在点处的左右极 x0 限。 >> syms x >> fl=limit(x/abs(x),x,0,'left') fl = -1 >> fr=limit(x/abs(x),x,0,'right') fr = 1
第五章 Matlab 符号运算
创建符号变量 符号表达式的建立、化简和替换 符号微积分 符号方程求解 符号数学的简易绘图函数
第一节 创建符号变量
一、sym函数定义符号变量
sym('x') sym('x','real') sym('x','unreal')
【例5-1】 使用函数sym定义符号变量。 >> a=sym('a') % 定义符号变量a a= a >> sym('b','real') % 定义符号变量b,实型符号变量 ans = b >> c=sym('byebye') c= byebye
【例5-8】 展开符号表达式
2 ( y) cos(2 x)
( x 3)( x t )( y 1)
、 ( x 2) ( x 1) x 和符号矩
2 2
阵 。 >> syms x y t b; >> f1=expand((x+3)*(x+t)*(y-1)) f1 = x^2*y-x^2+x*t*y-x*t+3*x*y-3*x+3*t*y-3*t >> f=(x-2)^2*(x+1)-x^2; >> f2=expand(f) f2 = x^3-4*x^2+4 >> A=[(x-b)^2 (x+b)^2;sin(x+y) cos(2*x)]; >> expand(A) ans = [ x^2-2*b*x+b^2, x^2+2*b*x+b^2] [ sin(x)*cos(y)+cos(x)*sin(y), 2*cos(x)^2-1]
二、syms函数定义符号变量 syms函数的调用格式为: syms arg1 arg2 arg3 …
【例5-3】 使用函数syms定义多个符号变量。 >> syms x t n >> who Your variables are: n t x 以上3个符号变量也可以通过sym函数来定义 >> x=sym('x'); >> t=sym('t'); >> n=sym('n'); >> who Your variables are: n t x 变量的定义也可以通过workspace查看,见图5-1:
图5-1
从workspace窗口查看变量
【例5-4】 使用syms函数定义符号矩阵。
>> syms a b c d; >> n=[a b c d;b c d a;c d a b;d a b c] n= [ a, b, c, d] [ b, c, d, a] [ c, d, a, b] [ d, a, b, c] >> m=size(n) % size函数用于查看符号矩阵的大小 m= 4 4
f x3 x 2 5 x 3
二、符号表达式替换
1. subexpr函数 [Y,SIGMA]=subexpr(X,SIGMA) [Y,SIGMA]=subexpr(X,’SIGMA’) 2. subs函数 R=subs(s) R=subs(s,new) R=subs(s,old,new)
4. 多项式化简(simplify) 2 2 5 【例5-12】 试对表达式 csc (t ) cot (t) 和 ( x 1) ( x 1) 进行化简。 >> syms t x real >> R1=simplify(csc(t)^2-cot(t)^2) R1 = 1 >> R2=simplify((x^5-1)/(x-1)) R2 = x^4+x^3+x^2+x+1
【例5-11】 试按照不同方式合并表达式 ( x2 ae y )(axy e2 y x)。 >> syms a x y >> f=(x^2-a*exp(y))*(a*x*y+exp(2*y)*x); >> R1=collect(f) R1 = (a*y+exp(2*y))*x^3-a*exp(y)*(a*y+exp(2*y))*x >> R2=collect(f,y) R2 = (x^2-a*exp(y))*a*x*y+(x^2-a*exp(y))*exp(2*y)*x >> R3=collect(f,a) R3 = -exp(y)*x*y*a^2+(x^3*yexp(y)*exp(2*y)*x)*a+x^3*exp(2*y)
cos(x)+(-sin(x)^2)^(1/2)
cos(x)+i*sin(x) (x+1)*x*(x-1) cos(3*acos(x)) x^3+3*x^2+3*x+1
cos(x)+i*sin(x)
exp(i*x) x^3-x 4*x^3-3*x (x+1)^3
radsimp
convert(exp) collect(x) expand factor
b 2 x 4ac
x y yb
,试完成以下操作。
第三节 符号微积分
一、符号极限
limit(F, x, a) 符号表达式F在x→a条件下的极限。 limit(F, a) 符号表达式F在默认自变量趋向于a条件下的极限。 limit(F) 符号表达式F在默认自变量趋向于0时的极限。 limit(F, x, a, ‘right’) 符号表达式F在x→a条件下的右极限。 limit(F,x, a, ‘lift’) 符号表达式F在x→a条件下的左极限。
表5-1 simple化简示例
符号表达式(s) 化简结果(r) 使用方法(how)
cos(x)^2+sin(x)^2 2*cos(x)^2-sin(x)^2 cos(x)^2-sin(x)^2
1 3*cos(x)^2-1 cos(2*x)
combine(trig) simplify combine
一、符号表达式的化简
化简符号表达式的各种函数: expand: 多项式展开 factor: 多项式因式分解 collect:合并同类项 simplify和simple:化简多项式 numden:分式多项式的通分 horner: 多项式嵌套
1. 多项式展开(expand) 【例5-7】 展开符号表达式f1 =(x+1)7和f2=cos(x+y)。 首先在命令窗口创建符号变量。 >> syms x y; >> f1=(x+1)^7; >> expand(f1) ans = x^7+7*x^6+21*x^5+35*x^4+35*x^3+21*x^2+7*x+1 >> f2=cos(x+y); >> f=expand(f1) f= cos(x)*cos(y)-sin(x)*sin(y)
第二节 符号表达式的建立、化简和替换
【例5-5】 使用单引号建立符号表达式。 >> y='a*x^2+b=0' % 定义符号代数方程 y= a*x^2+b=0 >> y='D2y-c*Dy+d=0' % 定义符号微分方程 y= D2y-c*Dy+d=0
相关文档
最新文档