matlab经典教程 第二讲 2matlab符号计算2_图文
matlab符号运算(二)

因式分解、展开、合并、简化及通分等
计算极限 limit(f,x,a): 计算 lim f ( x )
xa
limit(f,a): 计算默认自变量趋向于a时f的极限 limit(f): 计算 a=0 时的极限 limit(f,x,a,’right’):右极限 limit(f,x,a,’left’):左极限
1 2 n 1 n
,以及其前10项的部分和。
>> syms n >> S=symsum(1/n^2,n,1,inf) >> S10=symsum(1/n^2,n,1,10)
x 2 n 1 n
S=1/6*pi^2 S10=1968329/1270080
例:求函数级数
S
>> syms n x >> S=symsum(x/n^2,n,1,inf)
符号矩阵中元素的引用和修改
>> A=sym(’[1+x, sin(x); 5, exp(x)]’) >> A(1,2) >> A(2,2)=sym(’cos(x)’)
Matlab 符号运算(二)
符号矩阵的基本运算
符号矩阵的基本运算与数值矩阵的基本运算相类似。
1) 基本运算符:+、-、*、\、/、
ans=10
ans=2*x+y
ans=10 ans=[2+y,4+y,6+y] ans=[7 10 13]
ans=3*a+b
?
Matlab 符号运算(二)
符号矩阵
使用sym函数直接生成
>> A=sym(’[1+x, sin(ห้องสมุดไป่ตู้); 5, exp(x)]’)
第2章 matlab的符号运算

>>p0 = sym(‘(1+sqrt(5))/2’)
p0 = (1+sqrt(5))/2 >>pr = sym((1+sqrt(5))/2,'r') pr =7286977268806824*2^(-52) >>e32r = vpa(abs(p0-pr),16) e32r = 0
%广义有理表示
Matlab程序设计
Matlab程序设计
2.2 符号数字 sc = sym(‘Num’) %符号常数sc的值精确等于Num 例:a = pi + sqrt(5) %a为数值类常量 sa = sym(‘pi + sqrt(5)’) %sa为符号数字常量
% sa = pi + sqrt(5), sym型; eval(sa) 为5.3777, double型
k = sym('k','positive');
Matlab程序设计
2.4 符号变量
符号变量与符号参数的创建方法相同,但表达式或 方程中作用不同. 确定自由符号变量: findsym(EXPR , N) %确认EXPR中距离x最近的N个自由符号变
量, 略去N表示全部
例2.1-1 用符号计算研究方程uz2+vz+w=0的解 syms u v w z Eq=u*z^2+v*z+w; %符号方程 r_1=solve(Eq) %一个方程只能解一个未知数w(离x最近) findsym(Eq,1) %只找一个自由符号变量,则找到w r_2=solve(Eq,z)
3.3 符号表达式的操作 例:化简 S=(x2+y2)2+(x2-y2)2 syms x y; S=(x^2+y^2)^2+(x^2-y^2)^2 simple(S) %系统自动试探各种函数化简 simple(ans) %使用多次找到最少字母的简化式 例2.2-3:对符号矩阵进行特征向量分解. syms a b c d W [V,D]=eig([a b;c d]) [RVD,W]=subexpr([V;D],W)
第二讲2MATLAB符号计算

double(I)
%求定积分(1)
%负无穷到正无穷求定
%求定积分(3)
%用符号积分的方法求 定积分(4)
%将上述符号结果转换 为数值
例3.15求椭球的体积。 命令如下: syms a b c z; f=pi*a*b*(c^2-z^2)/c^2; V=int(f,z,-c,c)
命令如下:
syms a b c;
U=[a,b,c]; A=[[1,1,1];U;U.^2]
%建立范得蒙符号矩阵
det(A)
%计算A的行列式值
例3.5 建立x,y的一般二元函数。
在MATLAB命令窗口,输入命令: syms x y;
f=sym('f(x,y)');
3.1.2 基本的符号运算
(1)符号表达式的代数运算 与矩阵运算基本一致,详 见P95-96。
%求(4)。z对y的偏导数
f=x^2+y^2+z^2-a^2;
zx=-diff(f,x)/diff(f,z)
%求(5)。按隐函数求导公式求z对x的偏导数
zy=-diff(f,y)/diff(f,z)
%求(5)。按隐函数求导公式求z对y的偏导数
例3.12在曲线y=x3+3x-2上哪一点的切线与直线y=4x-1平 行。
int(f,x,a,b)
例3.14求定积分。
2
y1 1 1 x dx
1
y2
dx
1 x 2
sin t
y3 4txdx
2
3
y4
x3
dx
2 ( ቤተ መጻሕፍቲ ባይዱ 1)100
MatLab教程第 2 章符号计算

第 2 章 符号计算所谓符号计算是指:解算数学表达式、方程不是在离散化的数值点上进行,而是凭借一系列恒等式,数学定理,通过推理和演绎,力求获得解析结果。
这种计算建立在数值完全准确表达和推演严格解析的基础之上,因此所得结果是完全准确的。
本书之所以把符号计算内容放在第2章,是出于以下考虑:一,相对于MATLAB 的数值计算“引擎”和“函数库”而言,符号计算的“引擎”和“函数库”是独立的。
二,在相当一些场合,符号计算解算问题的指令和过程,显得比数值计算更自然、更简明。
三,大多数理工科的本科学生在学过高等数学和其他专业基础课以后,比较习惯符号计算的解题理念和模式。
在编写本章时,作者在充分考虑符号计算独立性的同时,还考虑了章节的自完整性。
为此,本章不但全面地阐述符号计算,而且在最后一节还详细叙述了符号计算结果的可视化。
这样的安排,将使读者在阅读完本章后,就有可能运用MATLAB 的符号计算能力去解决相当一些具体问题。
2.1符号对象和符号表达式2.1.1 符号对象的创建和衍生 一 生成符号对象的基本规则 二符号数字【例2.1-1】符号(类)数字与数值(类)数字之间的差异。
a=pi+sqrt(5) sa=sym('pi+sqrt(5)') Ca=class(a) Csa=class(sa) vpa(sa-a)a =5.3777 sa =pi+sqrt(5) Ca = double Csa = sym ans =.138223758410852e-16三 符号参数 四符号变量【例2.1-2】用符号计算研究方程02=++w vz uz 的解。
(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*zans =w(2)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】对独立自由符号变量的自动辨认。
第二讲 MATLAB符号计算

符号矩阵中元素的引用和修改
>> A=sym(’[1+x, sin(x); 5, exp(x)]’) >> A(1,2) >> A(2,2)=sym(’cos(x)’)
MATLAB 符号运算
符号矩阵的基本运算
符号矩阵的基本运算与数值矩阵的基本运算相类似。
1) 基本运算符:+、-、*、\、/、
2 n 1
1
>> syms n >> S=symsum(1/n^2,n,1,inf) >> S10=symsum(1/n^2,n,1,10)
S=1/6*pi^2 S10=1968329/1270080
例:求函数级数
S
n
n 1
x
2
>> syms n x >> S=symsum(x/n^2,n,1,inf)
x x x
MATLAB 符号运算
分式通分: numden
[N,D]=numden(f): N为通分后的分子,D为通分后的分母
MATLAB 符号运算
六大常见符号运算
因式分解、展开、合并、简化及通分等
计算极限 limit(f,x,a): 计算 lim f ( x )
x a
limit(f,a): 计算默认自变量趋向于a时f的极限 limit(f): 计算 a=0 时的极限 limit(f,x,a,’right’):右极限 limit(f,x,a,’left’):左极限
R
3*cos(x)^2-1 (x+1)^3 4*x^3-3*x
HOW
simplify combine(trig) factor expand