4 MATLAB的符号运算

合集下载

Matlab符号计算

Matlab符号计算

s=log(2*x/y);
simplify(s)
ans =
log(2)+log(x/y)
s=(-a^2+1)/(1-a)
simplify(s)
ans =
a+1
函数simple试用几种不同的化简工具,然后选择在结果中含有最少字符的那种形式。如下例:
syms x y;
syms x y;
V=3*x^2-5*y+2*x*y+6
V =
3*x^2-5*y+2*x*y+6
二.基本的符号运算
1.四则运算:
符号表达式的加减乘除可以分别利用函数symadd、symsub、symmul、symdiv来实现,幂运算可以由sympow来实现。
例:
f=‘2*x^2+3*x-5’ %定义符号表达式
④limit(f,x,a,’right’),求极限,’right’表示变量x从右边趋近于a。
⑤limit(f,x,a,’left’),求极限,’left’表示变量x从左边趋近于a。
例:求下列极限
syms a m x;
f=(x^(1/m)-a^(1/m))/(x-a);
g=‘x^2-x+7’
U=symadd(f,g) %求f+g
V=symsub(f,g) %求f-g
W=symmul(f,g) %求f*g
X=symdiv(f,g) %求f/g
Y=sympow(f,’3*x’) %求f^(3x)
另外,与数值运算一样,也可以用+ - * / ^运算符来实现符号运算。如:
①limit(f,x,a)求符号函数f(x)的极限。当x趋向于a时,f(x)的极限值。

matlab数值运算和符号运算

matlab数值运算和符号运算

《深度探讨:从数值运算到符号运算的MATLAB应用》在科学计算领域中,MATLAB无疑是一个不可或缺的工具。

它被广泛应用于数学建模、数据分析、图形可视化和算法开发等领域。

在MATLAB中,数值运算和符号运算是两个核心概念,它们分别在不同的领域中发挥着重要作用。

本文将从数值运算和符号运算两个方面展开讨论,带您深入探索MATLAB的应用价值。

一、数值运算1. MATLAB中的数值数据类型在MATLAB中,常见的数值数据类型包括整数、浮点数和复数等。

它们在科学计算中有着广泛的应用,例如在矩阵运算、微分方程求解和优化算法中。

2. 数值计算函数的应用MATLAB提供了丰富的数值计算函数,包括线性代数运算、插值和拟合、统计分布和随机数生成等。

这些函数为科学计算提供了强大的支持,使得复杂的数值计算变得更加简单高效。

3. 数值方法在实际问题中的应用通过具体的案例,我们可以深入了解MATLAB在实际问题中的数值计算方法。

通过有限元分析解决结构力学问题、通过数值积分求解物理方程、通过数值微分求解工程问题等。

二、符号运算1. MATLAB中的符号计算工具MATLAB提供了符号计算工具包,可以进行符号变量的定义、代数运算、微分积分和方程求解等。

这为数学建模、符号推导和精确计算提供了强大的支持。

2. 符号计算函数的应用通过具体的例子,我们可以深入了解MATLAB中符号计算函数的应用。

利用符号计算求解微分方程、利用符号变量定义复杂的代数表达式等。

3. 符号计算在科学研究中的应用通过详细的案例,我们可以了解符号计算在科学研究中的应用。

利用符号计算推导物理模型、利用符号运算求解工程问题等。

总结与展望:通过本文的深度探讨,我们对MATLAB中的数值运算和符号运算有了全面的了解。

数值运算为我们提供了高效的数值计算工具,而符号运算则为我们提供了精确的符号计算工具。

这两者相辅相成,在不同的领域中发挥着重要的作用。

希望通过本文的阐述,读者可以更加深入地理解MATLAB中数值运算和符号运算的应用,提升科学计算的能力和水平。

实验四MATLAB符号运算

实验四MATLAB符号运算

实验四MATLAB符号运算实验四MATLAB符号运算⼀、实验⽬的:1、掌握定义符号对象的⽅法;2、掌握符号表达式的运算法则以及符号矩阵运算。

3、掌握求符号函数极限及导数的⽅法。

4、掌握求符号函数定积分和不定积分的⽅法。

⼆、实验原理1、符号常量、符号变量、符号表达式的创建(1) 使⽤sym( )创建输⼊以下命令,观察Workspace 中A、B、f是什么类型的数据,占⽤多少字节的内存空间。

>>A=sym('1') %符号常量>>B=sym('x') %符号变量>>f=sym('2*x^2+3y-1') %符号表达式>>clear>>f1=sym('1+2') %有单引号,表⽰字符串>>f2=sym(1+2) %⽆单引号>>f3=sym('2*x+3')>>f4=sym(2*x+3) %为什么会出错>>x=1>>f4=sym(2*x+3)通过看MATLAB 的帮助可知,sym( )的参数可以是字符串或数值类型,⽆论是哪种类型都会⽣成符号类型数据。

(2) 使⽤syms 创建>>clear>>syms x y z %注意观察x,y,z都是什么类型的,它们的内容是什么>>x,y,z>>f1=x^2+2*x+1>>f2=exp(y)+exp(z)^2>>f3=f1+f2通过以上实验,知道⽣成符号表达式的第⼆种⽅法:由符号类型的变量经过运算(加减乘除等)得到。

⼜如:>>f1=sym('x^2+y +sin(2)')>>syms x y>>f2=x^2+y+sin(2)>>x=sym('2') , y=sym('1')>>f3=x^2+y+sin(2)>>y=sym('w')>>f4=x^2+y+sin(2)(3)符号矩阵创建>>syms a1 a2 a3 a4>>A=[a1 a2;a3 a4]>>A(1),A(3)或者>>B=sym('[ b1 b2 ;b3 b4] ')>>c1=sym('sin(x) ')>>c2=sym('x^2')>>c3=sym('3*y+z')>>c4=sym('3 ')>>C=[c1 c2; c3 c4]2、符号算术运算(1) 符号量相乘、相除符号量相乘运算和数值量相乘⼀样,分成矩阵乘和数组乘。

MATLAB的符号计算

MATLAB的符号计算

diff(s,’v’,n)
【例】求导数: 2 d s in x dx x = sym('x'); diff(sin(x^2),x) ans = 2*cos(x^2)*x
%定义符号变量 %求导运算
3.积分函数 积分函数int(s ,v,a,b)可以对被积函 数或符号表达式s求积分。其引用格式为: int(s ,v,a,b) 说明:
1、建立m-文件rigid.m如下: function dy=rigid(t,y) dy=zeros(3,1); dy(1)=y(2)*y(3); dy(2)=-y(1)*y(3); dy(3)=-0.51*y(1)*y(2);
1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1 0 2 4 6 8 10 12
例1

d2y dx
2
0 应表达为:D2y=0.

du 1 u 2 的通解. dt
输入命令:dsolve('Du=1+u^2','t')
结 果:u = tg(t-c)
例2
求微分方程的特解.
d 2 y dy 2 4 29 y 0 dx dx y (0) 0, y ' (0) 15

2、取t0=0,tf=12,输入命令: [T,Y]=ode45('rigid',[0 12],[0 1 1]); plot(T,Y(:,1),'-',T,Y(:,2),'*',T,Y(:,3),'+')
3、结果如图 图中,y1的图形为实线,y2的图形为“*”线,y3的图形为“+”线.

MATLAB的符号运算V精简版

MATLAB的符号运算V精简版

ans=[2+y,4+y,6+y]
>> subs(f,x,[1:3]) >> subs(f,{x,y},{[1:3],[5:7]})
ans=[7 10 13]
>> subs(f,{x,y},{a+b,a-b}) >> subs(f,{x,y},{x+y,x-y})
Copyright © CUGB
2024/4/3
Matlab的符号运算
符号对象建立时可以附加属性: real、positive 和 unreal
>> x=sym('x','real') >> k=sym('k','positive') >> x=sym('x','unreal')
表明 x 是实的 表明 k 是正的 去掉 x 的附加属性
Copyright © CUGB 2024/4/3
Matlab的符号运算
符号表达式的建立
>> syms x >> f1=sin(x)+cos(x)
推荐!
>> f2=sym(’sin(x)+cos(x)’)
Copyright © CUGB 2024/4/3
Matlab的符号运算
相关函数
➢ findsym: 查找符号表达式中的符号变量
findsym(f) 按字母顺序列出符号表达式 f 中的所有自由变量 findsym(f,N) 列出 f 中距离 x 最近的 N 个自由变量(i,j 除外)
Matlab的符号运算
其它运算

4MATLAB符号计算

4MATLAB符号计算

第四节MATLAB符号计算在自然科学的各个领域不但需要解决数值分析和计算问题,同时也要解决符号运算的问题,MA TLAB中的符号计算功能是以Maple V为基础开发的。

MATLAB的符号数学工具箱的主要功能包括:符号表达式的创建、符号矩阵的运算,符号表达式的化简和替换、符号微积分、符号代数方程等。

一、符号表达式的创建MATLAB的符号数学工具箱提供了两个基本函数,用来创建符号变量和表达式,分别是sym 和syms。

●函数sym的调用形式为:x=sym(‘x’)创建一个符号变量x,它可以是字符、字符串、表达式或字符表达式。

●函数syms用于方便地一次创建多个符号变量,其调用形式为:syms a b c…例1 使用sym 和syms函数创建符号变量。

a=sym('a') %定义符号变量aa =ab=sym('1+sqrt(5)/2') %定义符号变量bb =1+sqrt(5)/2syms a b c d %定义4个符号变量使用函数可以创建符号矩阵,可以直接输入或从数值矩阵转换。

例2 创建一个循环矩阵。

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]例3 将3阶的Hilbert 矩阵转化为符号矩阵。

h=hilb(3) %创建Hilbert矩阵h =1.0000 0.5000 0.33330.5000 0.3333 0.25000.3333 0.2500 0.2000h1=sym(h) %用函数sym转化为符号矩阵h1 =[ 1, 1/2, 1/3][ 1/2, 1/3, 1/4][ 1/3, 1/4, 1/5]注意:符号矩阵与普通数值矩阵的区别是:在命令窗口的显示中,数值矩阵只显示元素的数值,而符号矩阵的每行元素均放在一对方括号内;在工作空间窗口显示的变量图标也不同,数值图标为,符号矩阵的图标为。

MATLAB符号运算

MATLAB符号运算

MATLAB符号运算前⾔有时候,你可能会遇到较复杂的⽅程(组),希望⽤MATLAB来求解。

MATLAB的符号运算正好可⽤于求解⽅程(组)。

此外,它还有许多其他功能。

例如,展开和简化、因式分解以及微积分运算等。

MATLAB的符号运算虽然是数值运算的补充,但是它仍然是科学计算研究中不可替代的重要内容。

与数值运算相⽐,符号运算不需要预先对变量赋值,其运算结果以标准的符号形式表达。

⽐如说计算sin(π),数值运算的结果是1.2246e-16,符号运算的结果是0。

前者是近似的,后者是精确的。

正⽂MATLAB符号运算功能⾮常强⼤,本⽂只介绍⼤部分常⽤的符号运算功能。

注:本⽂代码的运⾏环境是MATLAB R2016b。

1. 创建符号数、符号变量和符号矩阵这⼀步骤是符号运算的第⼀步,后⾯的步骤都是在此基础上进⾏的。

%创建符号数 (只能⽤sym函数)s0 = 1 / sym(7) %符号数,不适合⼤型符号数s1 = sym('1/7') %符号数s2 = sym('3 + 4i') %符号复数%创建符号变量 (sym函数和syms函数都⾏)%--sym函数s3 = sym('x') %符号变量%--syms函数syms a b c %创建多个符号变量,值为本⾝syms(sym('[d e; e d]')) %⽤已存在的符号变量矩阵创建多个符号变量%创建符号矩阵 (sym函数和syms函数都⾏)s4 = sym('[2 5 6; 9 8 6]') %符号数矩阵s5 = sym('x', [2 3]) %符号变量矩阵,矩阵内的元素不会被创建为符号变量A = [a b c; c b a] %⽤已存在的符号变量创建符号变量矩阵% syms A B [2 3] %仅2017及以上版本⽀持,同时创建多个符号矩阵代码运⾏结果如下。

可以看到s5是⼀个2x3的符号变量矩阵,但矩阵内元素不会被创建成符号变量。

MATLAB符号运算运用

MATLAB符号运算运用

MATLAB符号运算运用MATLAB 是一种数值计算和编程环境,它可以进行符号运算,即对代数表达式进行操作和计算。

在 MATLAB 中,符号运算的主要工具是符号计算工具箱(Symbolic Math Toolbox),它提供了一系列函数和命令,用于处理和求解符号表达式。

1.创建符号表达式首先,我们可以通过使用符号变量来创建符号表达式。

符号变量可以使用 sym 函数定义。

例如,创建一个符号变量 x:```syms x```然后,可以使用这个符号变量来创建符号表达式。

例如,创建一个简单的二次多项式表达式:```f=x^2+2*x+1;```2.符号表达式运算一旦有了符号表达式,就可以对其进行各种运算,包括求导、积分、求解方程等。

- 求导:使用 diff 函数可以对符号表达式进行求导。

例如,对上述的 f 求导:```df = diff(f, x);```- 积分:使用 int 函数可以对符号表达式进行积分。

例如,对 f 在区间 [0, 1] 上进行积分:```I = int(f, 0, 1);```- 求解方程:使用 solve 函数可以对符号表达式进行求解。

例如,求解方程 f = 0:```sol = solve(f == 0, x);```3.简化符号表达式有时,符号表达式可能过于复杂,可以使用 simplify 函数对其进行简化。

例如,简化一个复杂的三角函数表达式:```syms xf = sin(x)^2 + cos(x)^2;sf = simplify(f);```4.数值近似符号表达式可以通过使用 vpa 函数进行数值近似。

例如,将一个符号表达式近似为 5 位小数:```syms xf = exp(x);f_num = vpa(f, 5);```在MATLAB中,符号运算可以应用于各种数学问题,包括求解方程、微积分、矩阵计算等。

它提供了一种便捷的方式来处理代数表达式,而不需要将其转化为数值形式进行计算。

Matlab教学第四章 MATLAB符号运算(Symbolic)

Matlab教学第四章 MATLAB符号运算(Symbolic)

>> y=dsolve('Dy+2*x*y=x*exp(-x^2)','x') >> syms x; diff(y)+2*x*y - x*exp(-x^2)
f2=2*(u+2)
ans=14 ans=2*((a+2)+2) f3=2*x+2*y ans=6
符号矩阵
使用 sym 函数直接生成 >> A=sym('[1+x, sin(x); 5, exp(x)]') 将数值矩阵转化成符号矩阵 >> B=[2/3, sqrt(2); 5.2, log(3)]; >> C=sym(B) 符号矩阵中元素的引用和修改 >> A=sym('[1+x, sin(x); 5, exp(x)]'); >> A(1,2) % 引用 >> A(2,2)=sym('cos(x)') % 重新赋值
符号对象的基本运算
基本函数
三角函数与反三角函数、指数函数、对数函数等
sin、cos、tan、cot、sec、csc、… asin、acos、atan、acot、asec、 acsc、…
exp、log、log2、log10、sqrt abs、conj、real、imag
rank、det、inv、eig、lu、qr、svd
How 中记录的为简化过程中使用的方法。
f
2*cos(x)^2sin(x)^2
(x+1)*x*(x-1)
R
HOW
3*cos(x)^2-1 simplify
x^3-x combine(tri g)

matlab的符号运算

matlab的符号运算

提问: sym(‘sqrt(3)’) 和 sym(sqrt(3))区别是什么?
第四章 MATLAB的符号运算
五、符号运算 2 sym函数 例如: sym(1/3,'f') sym(1/3,'e') sym(1/3,'r') sym(1/3,'d')
第四章 MATLAB的符号运算
五、符号运算 2 sym函数 例如:
第四章 MATLAB的符号运算
三、符号表达式的定义 MATLAB自变量确定原则: (1) x被视为默认的自变量。 (2)字母位置最接近x的小写字母; (。。。u,v,w,x,y,z。。。)
第四章 MATLAB的符号运算
三、符号表达式的定义 默认自变量实例
(1) sin(a*x+b*y) (2)a*x^2+b*x+c (3)1/(4+cos(t)) (4)4*x/y (5)2*a+b (6)2*i+4*j
符号表达式:包含数字、函数和变量的字符串, 不要求字符串中的变量有预先确定的值。 调用命令: sym 调用格式: f=sym(‘符号表达式’) 定义符号表达式,并将它赋值给变量f。
第四章 MATLAB的符号运算
三、符号表达式的定义
建立符号表达式有以下2种方法: (1)用sym函数建立符号表达式。 >> f=sym('a*x^2+b*x+c'); (2) 使用已经定义的符号变量组成符号表达式。 >> syms x y a b c >> f=a*x^2+b*x+c (?)利用单引号来生成符号表达式。 >> f='a*x^2+b*x+c'

第四讲 matlab 的符号运算

第四讲 matlab 的符号运算

一、符号运算的基本操作
1. 什么是符号运算 • 与数值运算的区别
※ 数值运算中必须先对变量赋值, 然后才能参与运算。 ※ 符号运算无须事先对独立变量 赋值,运算结果以标准的符号形式 表达。
• 特点:
运算对象可以是没赋值的符号变量 可以获得任意精度的解
• Symbolic Math Toolbox——符号运
>> syms x t >> f1=(x-1)*(x-2)*(x-3); >> g1=collect(f1) %按x合并同类项 g1 = -6+x^3-6*x^2+11*x >> g1=expand(f1) g1 = -6+x^3-6*x^2+11*x
%多项式展开
• • • •
• • • • • • • • • •
3. horner函数 horner函数将符号表达式化简成嵌套的形式。 4. factor函数 factor函数将符号多项式进行因式分解,将多项式 分解成低阶多项式相乘,如果不能分解则返回原 来的符号多项式。
>> syms x t >> f1=x^3-6*x^2+11*x-6; >> g1=horner(f1) %转换为嵌套形式 g1 = -6+(11+(-6+x)*x)*x >> g12=factor(f1) g12 = (x-1)*(x-2)*(x-3) 5. pretty函数 pretty函数将符号表达式给出排版形式的输出结果。
• 1. 多项式符号表达式的通分 • [N,D] = numden(s)%提取多项式符号表达式s的分子 • • • •
• • • •

matlab符号运算

matlab符号运算

第2章符号运算- Presentation Transcript1.第二章符号运算o MA TLAB 的数学计算=数值计算+符号计算o其中符号计算是指使用未定义的符号变量进行运算,而数值计算不允许使用未定义的变量。

2. 1. 符号变量、符号表达式和符号方程的生成o使用sym 函数定义符号变量和符号表达式o使用syms 函数定义符号变量和符号表达式3. 2 、用syms 创建符号变量o使用syms 命令创建符号变量和符号表达式o语法:o syms(‘arg1’, ‘arg2’, …, 参数) % 把字符变量定义为o% 符号变量o syms arg1 arg2 …, 参数% 把字符变量定义为符号变量的简洁形o% 式o说明:syms 用来创建多个符号变量,这两种方式创建的符号对象是相同的。

参数设置和前面的sym 命令相同,省略时符号表达式直接由各符号变量组成。

4.使用syms 函数定义符号变量和符号表达式▪>> syms a b c x▪>> f = a*x^2 + b*x + c▪ f =▪a*x^2 + b*x + c▪>> g=f^2+4*f-2▪g =▪(a*x^2+b*x+c)^2+4*a*x^2+4*b*x+4*c-2▪>>ex02015.符号方程的生成▪>> % 符号方程的生成▪>> % 使用sym 函数生成符号方程▪>> equation1='sin(x)+cos(x)=1'▪equation1 =▪sin(x)+cos(x)=1▪>>6. 2.2 符号形式与数值形式的转换o 1 、将符号形式转换为数值形式:o eval 与numerico例:a1='2*sqrt(5)+pi'o a1 =o2*sqrt(5)+pio b2=numeric(a2) % 转换为数值变量o b2 =o7.6137o b3=eval(a1)o b3 =o7.61377. 2.2 符号形式与数值形式的转换▪ 2 、数值形式转换为符号形式▪p=3.1416;▪q=sym(p)▪执行后屏幕显示:▪q=3927/1250▪numeric(q)▪屏幕显示:▪ans =▪ 3.14168. 2.2 符号形式与数值形式的转换3 、多项式与系数向量之间的转换3.1 sym2poly: 将多项式转化为对应的系数向量例:syms x p; p=x^3-4*x+5; sym2poly(p) 执行后屏幕显示:ans= 1 0 -4 5 9. 2.2 符号形式与数值形式的转换o 3 、多项式与系数向量之间的转换o 3.2 poly2sym: 将向量转化为对应的多项式o例o a=[1 0 -4 5];o poly2sym(a)o执行后屏幕显示o ans=o x^3-4*x+510. 3. 符号表达式( 符号函数) 的操作o(1) 符号表达式的四则运算o syms xo f=x^3-6*x^2+11*x-6;o g=(x-1)*(x-2)*(x-3);o h=x*(x*(x-6)+11)-6;o f+g-ho执行后输出:o ans =o x^3-6*x^2+11*x+(x-1)*(x-2)*(x-3)-x*(x*(x-6)+11)11.(1) 符号表达式的四则运算▪>> syms x y a b▪>> fun1=sin(x)+cos(y)▪fun1 =▪sin(x)+cos(y)▪>> fun2=a+b▪fun2 =▪a+b▪>> fun1+fun2▪sin(x)+cos(y)+a+b▪>>fun1*fun2▪ans =▪(sin(x)+cos(y))*(a+b)12.o(1) 将表达式中的括号进行展开: expando(2) 将表达式进行因式分解:factoro(3) 将一般的表达式变换为嵌套的形式:hornero(4) 将表达式按某一个变量的幂进行集项:collecto(5) 化简表达式:simplifyo(6) 化简表达式,使之成为书写长度最短的形式:simple13.o同一个数学函数的符号表达式的可以表示成三种形式,例如以下的f(x) 就可以分别表示为:o多项式形式的表达方式:o f(x)=x^3+6x^2+11x-6o因式形式的表达方式(factor) :o f(x)=(x-1)(x-2)(x-3)o嵌套形式的表达方式(horner) :o f(x)=x(x(x-6)+11)-614.集项-合并符号表达式的同类项o>> syms x y▪>> collect(x^2*y + y*x - x^2 - 2*x)▪ans =▪(y-1)*x^2+(y-2)*xo>> syms x y▪>> collect(x^2*y + y*x - x^2 - 2*x,y)▪ans =▪(x^2+x)*y-x^2-2*x15.符号多项式的嵌套(horner )▪>> syms x▪>> fun1=2*x^3+2*x^2-32*x+40▪fun1 =▪2*x^3+2*x^2-32*x+40▪>> horner(fun1)▪ans =▪40+(-32+(2+2*x)*x)*x▪>> fun2=x^3-6*x^2+11*x-6▪fun2 =▪x^3-6*x^2+11*x-6▪>> horner(fun2)▪ans =▪-6+(11+(-6+x)*x)*x16.符号表达式的化简(simplify)▪>> syms x▪>> fun1=(1/x+7/x^2+12/x+8)^(1/3)▪fun1 =▪(13/x+7/x^2+8)^(1/3)▪>> sfy1= simplify (fun1)▪sfy1 =▪((13*x+7+8*x^2)/x^2)^(1/3)▪>> sfy2= simple (sfy1)▪sfy2 =▪(13/x+7/x^2+8)^(1/3)17.subs 函数用于替换求值▪>> syms x y▪ f = x^2*y + 5*x*sqrt(y)▪ f =▪x^2*y+5*x*y^(1/2)▪>> subs(f, x, 3)▪ans =▪9*y+15*y^(1/2)▪>> subs(f, y, 3)▪ans =▪3*x^2+5*x*3^(1/2)▪>>subs(f,{x,y},{1,1})ex0202 ex0203 ex020418. 4 、反函数的运算(finverse )▪>> syms x y▪>> f = x^2+y▪ f =▪x^2+y▪>> finverse(f,y)▪ans =▪-x^2+y使用格式: 1 、g=finverse(f):f,g 均为单变量x 的符号函数; 2 、g=finverse(f,t) 返回值g 的自变量取为t ;19. 5 复合函数的运算(compose)▪>> syms x y z t u▪>> f = 1/(1 + x^2);▪>> g = sin(y);▪>> h = x^t;▪>> p = exp(-y/u) ;▪>> compose(f,g)▪ans =▪1/(1+sin(y)^2)▪>> compose(f,g,t)▪ans =▪1/(1+sin(t)^2)使用格式:Compose(f,g) % 返回当f=f(y) 和g=g(x) 时的复合函数f(g(x)) Compose(f,g,t) % 返回的复合函数以t 为自变量,即有f(g(t))20. 6 函数的极限、导数与积分o(1 )函数极限-limit 函数的使用o(2 )函数求导-diff 函数的使用o(3 )符号积分-int 函数的使用21.o符号极限(limit)假定符号表达式的极限存在,Symbolic Math Toolbox 提供了直接求表达式极限的函数limit ,函数limit 的基本用法如下表所示。

MATLAB的运算符号及函数

MATLAB的运算符号及函数

3.常用的函数及常量
常用的函数及常量如表7-2所示。
函数名 abc(x)
pi sin(x) asin(x) cos(x)
函数功能 绝对值函数 |x|
圆周率 正弦函数 sin(x) 反正弦函数 arcsin(x) 余弦函数 cos(x)
acos(x)
反余弦函数 arccos(x)
tan(x) cot(x)
经济数学
MATLAB的运算符号及函数
1.基本运算
MATLAB能识别常用的加(+)、减(-)、乘(*)、除(/)及 幂次运算符号(^)等绝大部分数学运算符号。因此,要在 MATLAB中进行基本数学运算,只需在命令窗口中的提示符(>>) 之后直接输入运算式并按Enter键即可。
例如:>>(2 * 3+3 * 4)/10
中(均用小括号),从最里层向最外层逐渐脱开。
2.常用快捷键 常用快捷键如表7-1所示。
快捷键 ↑(Ctrl+P) ↓(Ctrl+N) ←(Ctrl+B) →(Ctrl+F) Esc(Ctrl+U) Del(Ctrl+D)
表7-1
功能 调用上一行 调用下一行 光标左移一个字符 光标右移一个字符 清除当前输入行 删除光标处右侧字符
正切函数 tan(x) 余切函数 cot(x)
函数名 sum(x) sqrt(x)
inf exp(x) log(x)
log10(x)
log2(x) sign(x)
表7-2
函数功能 向量元素求和
平方根 无穷大 指数 ex 自然对数 lnx 以 10 为底的常用对数
lgx 以 2 为底的对数符号 Nhomakorabea数概率学与数理统计

第四章 MATLAB符号计算

第四章  MATLAB符号计算

Ezpolar函数实现极坐标中二维曲 线图象的绘制,它的调用格式:
ezpolar(f,[a,b])
说明: 绘图表达式为rho=f(theta)极坐标曲线,
theta的取值范围为,缺省时为[0,2*pi]
例:p83
4.5.2三维绘图函数
ezplot3是实现三维绘图的函数,它的 调用格式:
ezplot3(x,y,z,[tmin,tmax]) ezplot3(x,y,z,[tmin,tmax ],'animate')
3.符号表达式的提取分子和分母运算
在matlab中可利用numden函数来提取符号表达式 中的分子或分母。其一般调用格式为:
[n,d]=numden(s)
说明:
参数s是符号表达式是一个 有理分式或可以展开为有理
例: s=sym('2/5+3/7')
n= 29
分式,numden函数把有理分 式的分子返回给n,分母返回
dsolve在求常微分方程组时 的调用格式为:
dsolve('eq1,eq2,...','cond1,cond2...','v')
说明: 该函数求解常微分方程组eq1,…,eqn在初值条件或边界 条件为cond1,…,condn下的符号特解,若不给出初值 条件,则求方程组的通解,v为指定的返回值中的变量 表示。
例4-9解超越方程组
sin(x+y)-y*exp(x)=0 x^2-y=2
syms x y
[x,y]=solve('sin(x+y)-y*exp(x)=0','x^2-y=2')
x =-.66870120500236202933135901833637

第三章:MATLAB的符号运算

第三章:MATLAB的符号运算

注1:即使利用clear语句删除x,并不能改变MuPAD内存中对x的限制设 定,再引入变量x是,仍然带有这一设定。
注2:sym x clear 只改变x的限定,并没有删除和改变x的值。
例:求 3x2 5x 1 0的解
>> clear >> syms x >> solve(3*x^2+5*x+1) ans =
>> y=solve(f) y= -(b + (b^2 - 4*a*c)^(1/2))/(2*a) -(b - (b^2 - 4*a*c)^(1/2))/(2*a)
>> y=solve(f,a) y= -(c + b*x)/x^2
符号表达式 符号表达式有两种不同的生成方式: 1、直接由sym函数生成 如: f=sym(‘2*sin(x)+5*cos(x)’) 这样的表达式称为串型表达式。 2、利用符号变量经符号运算生成 如: syms x y f=sin(x)+2*cos(y)
- 13^(1/2)/6 - 5/6 13^(1/2)/6 - 5/6
>> assume(x>=-5/6) >> solve(3*x^2+5*x+1)
ans = 13^(1/2)/6 - 5/6
例:求方程
x3
475 5 x 0 的根 100 2
求第一象限的根
>> syms x 'clear' >> assume(real(x)>=0) >> assumeAlso(imag(x)>=0) >> solve(x^3+475*x/100+5/2) ans = (79^(1/2)*i)/4 + 1/4

MATLAB符号计算

MATLAB符号计算

第3章MATLAB符号计算符号计算则是可以对未赋值的符号对象(可以是常数、变量、表达式)进行运算和处理。

MATLAB具有符号数学工具箱(Symbolic Math Toolbox),将符号运算结合到MATLAB的数值运算环境。

符号数学工具箱是建立在Maple软件基础上的。

3.1 符号表达式的建立Symbolic Math Toolbox2.1版规定在进行符号计算时,首先要定义基本的符号对象然后才能进行符号运算。

3.1.1 创建符号常量符号常量是不含变量的符号表达式,用sym命令来创建符号常量。

语法:sym(‘常量’) %创建符号常量例如,创建符号常量,这种方式是绝对准确的符号数值表示:>> a=sym('sin(2)')a =sin(2)sym命令也可以把数值转换成某种格式的符号常量。

语法:sym(常量,参数) %把常量按某种格式转换为符号常量说明:参数可以选择为’d’、’f’、’e’或’r’四种格式,也可省略,其作用如表3.1所示。

表3.1 参数设置a=sym('sin(2)')a =sin(2)例如,把常量转换为符号常量,按系统默认格式转换:a=sym(sin(2))a =8190223105242182*2^(-53)【例3.1】创建数值常量和符号常量。

a1=2*sqrt(5)+pi %创建数值常量a1 =7.6137a2=sym('2*sqrt(5)+pi') %创建符号表达式a2 =2*sqrt(5)+pia3=sym(2*sqrt(5)+pi) %按最接近的有理数型表示符号常量a3 =8572296331135796*2^(-50)a4=sym(2*sqrt(5)+pi,'d') %按最接近的十进制浮点数表示符号常量a4 =7.6137286085893727261009189533070a31=a3-a1 %数值常量和符号常量的计算a31 =a5='2*sqrt(5)+pi' %字符串常量a5 =2*sqrt(5)+pi图3.1 工作空间窗口可以通过查看工作空间来查看各变量的数据类型和存储空间,工作空间如图3.1所示。

Matlab教学第四章MATLAB符号运算(Symbolic)

Matlab教学第四章MATLAB符号运算(Symbolic)

符号计算可以给出完全正确的封闭解,或任意精度的数
值解(封闭解不存在时)。
符号计算指令的调用比较简单,与数学教科书上的公式相近。
符号计算所需的运行时间相对较长。
Matlab 符号运算举例
求一元二次方程 ax2 + bx + c = 0 的根 >> solve('a*x^2+b*x+c=0') 求的根 f (x) = (cos x)2 的一次导数 >> x=sym('x'); >> diff(cos(x)^2) 计算 f (x) = x2 在区间 [a, b] 上的定积分
>> syms a b x; >> int(x^2,a,b)
符号对象与符号表达式
在进行符号运算时,必须先定义基本的符号对象,可以是符号常量、符号变 量、符号表达式等。符号对象是一种数据结构。
含有符号对象的表达式称为符号表达式,Matlab 在内部把符号表达式表示 成字符串,以与数字变量或运算相区别。
syms a b c
符号表达式的建立
符号表达式的建立:
建立符号表达式通常有以下2种方法: (1) 用 sym 函数直接建立符号表达式。 (2) 使用已经定义的符号变量组成符号表达式。
例: >>
y=sym('sin(x)+cos(x)')
>> x=sym('x'); >> y=sin(x)+cos(x) >> syms x; >> y=sin(x)+cos(x)
六类常见符号运算
因式分解、展开、合并、简化及通分等 计算极限 计算导数 计算积分 符号求和 代数方程和微分方程求解
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档