第五讲 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+符号运算

>> k1=polyder([2,-1,0,3]); >> k2=polyder([2,-1,0,3],[2,1]); >> [k2,d]=polyder([2,-1,0,3],[2,1]);
多项式的值
计算多项式在给定点的值
代数多项式求值
y = polyval(p,x): 计算多项式 p 在 x 点的值
p( x) ( x x1 )(x x2 )( x xn )
多项式运算小结
poly2sym(p,’x’) k = conv(p,q) [k,r] = deconv(p,q) k = polyder(p) [k,d] = polyder(p,q) [k,d] = polyder(p,q) y = polyval(p,x) Y = polyvalm(p,X) x = roots(p)
例如:A = sym('[a , 2*b ; 3*a , 0]') A= [ a, 2*b] [3*a, 0] 这就完成了一个符号矩阵的创建。 注意:符号矩阵的每一行的两端都有方 括号,这是与 matlab数值矩阵的 一个重要区别。
符号对象的建立
符号对象的建立:sym 和 syms
syms 命令用来建立多个符号变量,一般调用格式

f (v)
v a
b
symsum(f,a,b): 关于默认变量求和
1 例:计算级数 S 2 及其前100项的部分和 n 1 n >> syms n; f=1/n^2; >> S=symsum(f,n,1,inf) >> S100=symsum(f,n,1,100) x 例:计算函数级数 S 2 n 1 n

matlab运算符运算

matlab运算符运算

Matlab运算符运算1.介绍在M at la b中,运算符是用来执行各种数学和逻辑运算的符号。

它们可以用于操作不同类型的数据,如数字、向量、矩阵和逻辑值。

M at la b 提供了一系列的运算符,包括算术运算符、关系运算符、逻辑运算符等。

本文将详细介绍M atl a b中常用的运算符及其使用方法。

2.算术运算符M a tl ab提供了一组算术运算符,用于执行基本的数学运算,如加法、减法、乘法和除法。

下面是一些常用的算术运算符及其使用方法:-加法运算符(`+`):用于执行两个数值的相加操作。

-减法运算符(`-`):用于执行两个数值的相减操作。

-乘法运算符(`*`):用于执行两个数值的相乘操作。

-除法运算符(`/`):用于执行两个数值的相除操作。

-取余运算符(`mo d`):用于计算两个数值的余数。

以下是一些示例代码:a=5;b=3;c=a+b;%计算a和b的和d=a-b;%计算a和b的差e=a*b;%计算a和b的积f=a/b;%计算a和b的商g=mo d(a,b);%计算a除以b的余数3.关系运算符关系运算符用于比较两个数值或变量之间的关系,并返回一个逻辑值(`tr ue`或`f al se`)。

M at la b提供了一组关系运算符,包括等于、不等于、大于、小于、大于等于和小于等于。

下面是一些常用的关系运算符及其使用方法:-等于运算符(`==`):用于比较两个数值是否相等。

-不等于运算符(`~=`):用于比较两个数值是否不相等。

-大于运算符(`>`):用于比较第一个数值是否大于第二个数值。

-小于运算符(`<`):用于比较第一个数值是否小于第二个数值。

-大于等于运算符(`>=`):用于比较第一个数值是否大于等于第二个数值。

-小于等于运算符(`<=`):用于比较第一个数值是否小于等于第二个数值。

以下是一些示例代码:a=5;b=3;c=(a==b);%判断a是否等于b,返回逻辑值d=(a~=b);%判断a是否不等于b,返回逻辑值e=(a>b);%判断a是否大于b,返回逻辑值f=(a<b);%判断a是否小于b,返回逻辑值g=(a>=b);%判断a是否大于等于b,返回逻辑值h=(a<=b);%判断a是否小于等于b,返回逻辑值4.逻辑运算符逻辑运算符用于执行布尔逻辑运算,并返回一个逻辑值。

2第五讲MATLAB符号运算

2第五讲MATLAB符号运算

(二)符号表达式运算
1.符号表达式的四则运算
符号表达式的加、减、乘、除运算可直接由算 符’+’,’-’*’,’/’,’\’ 来实现,幂运算可以由’^n’来实现。
算符’.*’,’./’,’.\’,’.^’,分别实现元素对元素的数组的乘、 左除、右除、和幂的运算。
MATLAB中没有ln运算符遇到它用log运算符代替。 另外log2(x),log10(y)表示求x和y的以2为底和以10为 底的对数。
实例演示
• 作符号计算(解方程组,其中a,b为常数,
x,y为变量):
• a,b,x,y均为符号运算量。在符号运算前,
应先将a,b,x,y定义为符号运算量。
实例演示
a=sym('a'); %定义‘a’为符号运算量,输出 变量名为a
b=sym('b');x=sym('x');y=sym('y');
(四)符号替换
• MATLAB软件提供的符号替换命令为subs,通常使 用下面三种形式(对数组也适用): • (1) subs(s,new) 用new替换s中的自由变量; • (2) subs(s,old,new) 用new替换s中的变量old; • (3) subs(s) 用当前内存中的已赋值变量去代 替s中的同名变量; • 例:执行命令 • subs(a+b,a,4) • 执行结果为 • 4+b
学习内容 • 一、符号对象
• 二、符号运算与高等数学 • 三、符号方程的求解
符号运算与高等数学
一、极限的计算
二、导数的运算
三、积分的运算
四、级数求和问题
五、函数的极值和零点
一、极限的计算
• 求极限问题解析解的MATLAB命令格式: • Limit(f)

matlab第五讲教案

matlab第五讲教案

西南科技大学本科生课程备课教案计算机技术在安全工程中的应用——Matlab入门及应用授课教师:徐中慧班级:专业:安全技术及工程第四章课型:新授课教具:多媒体教学设备,matlab教学软件一、目标与要求掌握矩阵与数组的相关运算,及matlab中矩阵运算的相关函数,包括三角分解、正交变换、奇异值分解、特征值分解、矩阵的秩的运算等。

二、教学重点与难点本堂课教学的重点在于引导学生在编写matlab程序时能够熟练运用矩阵运算的相关函数实现相应的功能。

三、教学方法本课程主要通过讲授法、演示法、练习法等相结合的方法来引导学生掌控本堂课的学习内容。

四、教学内容一、课后习题的解说。

(1)在计算器发明(约1974年)之前,人们需要用数学用表来计算正弦、余弦和对数值。

创建正弦值数学用表的步骤如下:①创建角度矢量、范围在0~3600之间,步长为180。

②计算正弦值,用角度和计算出来的正弦值创建表格。

③分别用两个disp语句给表格加上标题和表头。

④用fprintf显示数据,要求小数点后有两位有效数字。

解:angle=0:18:360; sine=sin(angle/180*pi);disp(' SINE TABLE ')disp(' Angle Sine ')fprintf(' %4.2f %4.2e\n',[angle;sine])(2)使用搜索引擎或浏览器搜索英镑、日元、欧元和人民币对美元的汇率,并把输出结果绘制成表。

要求用disp在表格中添加标题和表头,用fprintf输出格式化数据。

①创建日元和美元的汇率表,表中共有25行,从5日元开始,步长为5日元②创建人民币和美元的汇率表,表中共有30行,从5元开始,步长为5元③创建数据表格,表中有5列,第一列是美元,第二列是欧元,第三列是英镑,第四列是人民币,第五列是日元。

计算与1到10美元等价的其它货币值。

(将结果输出到.txt文件中,此步骤属选做)解:①jpy=5:5:25*5;usd1=jpy*0.01301;disp(' JPY &USD TABLE ')disp(' JPY USD ')fprintf(' %4.2f %4.2f\n',[jpy;usd1])②cny=5:5:30*5;usd2= cny *0.1567;disp(' CNY &USD TABLE ') disp(' RMB USD ') fprintf(' %4.2f %4.2f\n',[cny;usd2])③usd=1:1:10;eur=usd* 0.7323; gbp=usd* 0.6405; cny=usd* 6.3816; jpy=usd*76.358;disp(' AS Exch')disp(' USD EUR GBP RMB JPY')fprintf(' %4.2f %4.2f %4.2f %4.2f %4.2f \n',[ usd;eur;gbp;cny;jpy])二、矩阵的相关知识掌握矩阵与数组的相关运算,及matlab 中矩阵运算的相关函数,包括三角分解、正交变换、奇异值分解、特征值分解、矩阵的秩的运算等。

matlab符号运算符

matlab符号运算符

matlab符号运算符Matlab符号运算符的使⽤⼀、&&/||/&/||:数组逻辑或||:先决逻辑或&:数组逻辑与&&:先决逻辑与&&和||被称为&和|的short circuit形式。

先决逻辑符号含义:先判断左边是否为真;若为真,则不再判断右边;若为假,才继续进⾏或运算先判断左边是否为假;若为假,则不再判断右边;若为真,才继续进⾏与运算两种运算符号的区别:先决逻辑运算的运算对象只能是标量数组逻辑运算可为任何维数组,运算符两边维数要相同举例分析:A&B :⾸先判断A的逻辑值,然后判断B的值,然后进⾏逻辑与的计算。

A&&B:⾸先判断A的逻辑值,如果A的值为假,就可以判断整个表达式的值为假,就可以判断整个表达式的值为假,就不需要再判断B的值。

这种⽤法⾮常有⽤,如果A是⼀个计算量较⼩的函数,B是⼀个计算量较⼤的函数,那么⾸先判断A对减少计算量是有好处的。

另外这也可以防⽌类似被0除的错误。

Matlab中的if和while语句中的逻辑与和逻辑或都是默认使⽤short-circuit形式。

// 这可能就是有时候⽤&和| 会报错的原因。

⼆、系统结构体内的变量⼀般都是⼩写。

matlab区分⼤⼩写。

三、==表⽰逻辑相等,返回结果,相等为1,不等为0。

四、.*(times)点乘timesArray multiply 数组乘Syntaxc = a.*bc = times(a,b)Descriptionc = a.*b multiplies arrays a and b element-by-element and returns the result in c. Inputs a and b must have the same size unless one is a scalar.注释:a、b要同尺⼨,或其中⼀个为标量。

matlab中的数学符号与运算

matlab中的数学符号与运算MATLAB(Matrix Laboratory)是一种用于数值计算和科学工程应用的高级编程语言和环境。

MATLAB中包含了丰富的数学符号和运算,用于进行矩阵操作、线性代数、微积分等数学计算。

以下是MATLAB中一些常见的数学符号和运算:1. 数学符号:-矩阵:MATLAB 中的基本数据类型是矩阵,可以使用方括号`[]` 来表示。

例如,`A = [1, 2; 3, 4]` 表示一个2x2的矩阵。

-向量:向量可以表示为一维矩阵,例如,`v = [1, 2, 3]` 表示一个包含3个元素的行向量。

-转置:使用单引号`'` 来进行转置操作。

例如,`A'` 表示矩阵A的转置。

-点乘和叉乘:点乘使用`.*`,叉乘使用`.*`。

例如,`A .* B` 表示矩阵A和B的对应元素相乘,`A * B` 表示矩阵A和B的矩阵乘法。

2. 数学运算:-基本算术运算:MATLAB支持基本的算术运算,如加法、减法、乘法和除法。

例如,`result = 2 + 3`。

-元素-wise 运算:MATLAB 支持元素-wise 的运算,即对矩阵或向量中的每个元素进行运算。

例如,`C = A .* B` 表示矩阵A和B的对应元素相乘。

-矩阵操作:MATLAB 提供了许多用于矩阵操作的函数,如`inv`(求逆矩阵)、`det`(求行列式)、`eig`(求特征值)等。

-积分和微分:MATLAB 提供了`int`(积分)和`diff`(微分)等函数,用于进行积分和微分运算。

-方程求解:MATLAB 提供了`solve` 函数,用于求解方程组。

这些是MATLAB中一些常见的数学符号和运算。

MATLAB 的强大之处在于它的矩阵操作能力,使得它非常适用于数学和工程领域的计算和建模。

如果你有特定的数学运算需求,可以查阅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 中,符号运算的主要工具是符号计算工具箱(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符号运算是一种在数学上进行推导和计算的重要方法,在Matlab 中也有相应的符号运算功能。

通过符号运算,可以进行高精度计算、求解方程、求导积分、代数化简等操作。

本文将介绍 Matlab 中符号运算的基本使用方法和相关函数。

1. 符号变量的定义和赋值在 Matlab 中,可以使用 syms 函数定义符号变量,并使用等号将其赋值。

例如,定义符号变量 x 和 y:syms x yx = 2;y = x + 3;这里,定义了两个符号变量 x 和 y,并将 x 赋值为 2,y 赋值为 x+3。

需要注意的是,符号变量和数值变量在 Matlab 中是不同的类型,不能直接进行运算。

2. 符号表达式的运算在 Matlab 中,可以使用符号表达式进行各种运算,包括加减乘除、幂运算、三角函数、指数函数等。

例如,定义符号表达式 f(x) = 2*x^3 + 3*x^2 - 5*x + 1:syms xf(x) = 2*x^3 + 3*x^2 - 5*x + 1;然后可以对 f(x) 进行各种运算,如求导、积分、代数化简等。

例如,求 f(x) 的一阶导数:diff(f(x), x)这里使用 diff 函数求 f(x) 的一阶导数,结果为 6*x^2 + 6*x - 5。

3. 方程求解在 Matlab 中,可以使用 solve 函数求解方程。

例如,求解方程 x^2 + 3*x + 2 = 0:syms xsolve(x^2 + 3*x + 2 == 0)solve 函数返回的是符号变量的解,需要使用 double 函数将其转换为数值变量。

4. 代数化简在 Matlab 中,可以使用 simplify 函数对符号表达式进行代数化简。

例如,代数化简表达式 (x^2 + 2*x + 1)/(x + 1):syms xsimplify((x^2 + 2*x + 1)/(x + 1))simplify 函数会自动将表达式化简为最简形式。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

小 结 本节介绍了matlab语言的符号运算 功能,通过学习应该掌握: • 掌握如何创建、修改符号矩阵 • 掌握符号运算功能
※ 数值运算中必须先对变量赋值, 然后才能参与运算。 ※ 符号运算无须事先对独立变量 赋值,运算结果以标准的符号形式 表达。
• 特点:
运算对象可以是没赋值的符号变量 可以获得任意精度的解
• Symbolic Math Toolbox——符号运算
工具包通过调用Maple软件实现符号 计算的。
a=sym('[1/4,exp(1);log(3),3/7]') a= [ 1/4,exp(1)] [log(3), 3/7] vpa(a,10) ans = [.2500000000, 2.718281828] [1.098612289, .4285714286]
3. 符号微积分与积分变换
• diff(f) — 对缺省变量求微分 • diff(f,v) — 对指定变量v求微分 • diff(f,v,n) —对指定变量v求n阶微分 • int(f) — 对f表达式的缺省变量求积分
• maple软件——主要功能是符号运算,
它占据符号软件的主导地位。
2.符号变量的创建 a. sym函数定义符号变量
x=sym(‘x’) %建立符号变量x syms x y z … %等价于 x=sym(‘x’) , y=sym(‘y’) , z=sym(‘z’) … b. 直接法 f=‘a*x^2+b*x+c’ %建立符号表达式
• 符号运算
sym(1/2)+(1/3) ans = 5/6 --精确解
• 任意精度算术运算
digits(n) —— 设置可变精度,缺省16位
vpa(x,n) —— 显示可变精度计算
digits(25)
vpa(1/2+1/3)
ans =
.8333333333333333333333333
vpa(5/6,40) ans = .8333333333333333333333333333333333333333
• 所谓符号计算是指在运算时,无须事先对
变量赋值,而将所得到结果以标准的符号 形式来表示。 • MathWorks公司以Maple的内核作为符号 计算引擎(Engine),依赖Maple已有的 函数库,开发了实现符号计算的两个工 具箱:基本符号工具箱和扩展符号工具 箱。
一、符号运算的基本操作
1. 什么是符号运算 • 与数值运算的区别
dy dy 或 y的一阶导数—— Dy dt dx
d2y d2y 2 或 2 y的二阶导数—— D2y dt dx
n dny d y y的 n 阶导数—— Dny n 或 n dt dx
[y1,y2…]=dsolve(x1,x2,…xn) —— 返回 微分方程的解
F=dsolve('Dx=y','Dy=-x','x(0)=0','y(0)=1')
F=
1/y*exp(-x*y)
例2.计算 sin(x^2)的微分
syms x;
diff(sin(x^2)) ans =2*x*cos(x^2)
>> a=[0 1;-2 -3]; >> syms s >> b=(s*eye(2)-a) b= [ s, -1] [ 2, s+3] >> B=inv(b) [ (s+3)/(s^2+3*s+2), [ -2/(s^2+3*s+2),
例1. f = ax2+bx+c 求解 syms a b c x f=a*x^2+b*x+c; • solve(f) —— 对缺省变量x求解 ans = 计算机 -(b + (b^2 - 4*a*c)^(1/2))/(2*a) 格式 -(b - (b^2 - 4*a*c)^(1/2))/(2*a)
例如:A = sym('[a , 2*b ; 3*a , 0]') A= [ a, 2*b] 0] [3*a,
这就完成了一个符号矩阵的创建。 注意:符号矩阵的每一行的两端都有方 括号,这是与 matlab数值矩阵的
一个重要区别。
符号矩阵与数值矩阵的转换
将数值矩阵转化为符号矩阵
函数调用格式:sym(A) A=[1/3,2.5;1/0.7,2/5] A= 0.3333 2.5000 1.4286 0.4000 sym(A) ans = [ 1/3, 5/2] [10/7, 2/5]
b b 4ac 2a
2
一般格式
例2. 解方程组
x+y+z=1 x-y+z=2 2x-y-z=1
syms x y z
g1=x+y+z-1,g2=x-y+z-2,g3=2*x-y-z-1
f=solve(g1,g2,g3)
f=solve('x+y+z=1','x-y+z=2','2*x-y-z=1')
例2:f= 2*x^2+3*x-5; g= x^2+x-7;
>> syms x >> f=2*x^2+3*x-5; g= x^2+x-7; >> h=f+g h = 3*x^2+4*x-12 例3:f=cos(x);g= sin(2*x); >> syms x >> f=cos(x);g=sin(2*x); >> simple(g/f+f*g) 有多个结果
将符号矩阵转化为数值矩阵
函数调用格式: numeric(A) A= [ 1/3, 5/2] [10/7, 2/5]
numeric(A) ans = 0.3333 2.5000 1.4286 0.4000
二、符号运算
1. 符号矩阵运算
符号运算的四则运算符和数值运算的运 算符相同。例如1: syms a b c d A=[a b;c d]; B=[a+b,a-b;c+d,c-d] ; A+B=[2*a+b, a] [2*c+d, c]
1/(s^2+3*s+2)] s/(s^2+3*s+2)]
4.符号代数方程求解
matlab符号运算能够解一般的线性 方程、非线性方程及一般的代数方程、 代数方程组。当方程组不存在符号解 时,又无其他自由参数,则给出数值 解。 命令格式: solve(f) —— 求一个方程的解
Solve(f1,f2, …fn) —— 求n个方程的解
f=‘a*x^2+b*x+c=0’ %建立符号方程
3.符号矩阵的创建
数值矩阵A=[1,2;3,4] A=[a,b;c,d] —— 不识别
用matlab函数sym创建矩阵(symbolic
的缩写)
命令格式:A=sym('[ ※ 需用sym指令定义 ]')
※ 符号矩阵内容同数值矩阵 ※ 需用' '标识
F.x=sin(t), F.y=cos(t)
dsolve('D2y=-a^2*y','y(0)=1','Dy(pi/a)=0')
ans = cos(a*x) w = dsolve('D3w = -w','w(0)=1, Dw (0) =0, D2w(0)=0') w =1/(3*exp(t)) + (2*exp(t/2)*cos((3^(1/2)*t)/2))/3
• int(f,v) — 对f表达式的v变量求积分
• int(f,v,a,b) — 对f表达式的v变量在(a,b)
区间求定积分
int('被积表达式','积分变量','积分上限', '积分下限&#ms x y F=int(int(x*exp(-x*y),x),y)
2. 任意精度的数学运算
在symbolic中有三种不同的算术运算:
1. 数值类型
matlab的浮点算术运算
2. 有理数类型 maple的精确符号运算
3. vpa类型
maple的任意精度算术
运算
• 浮点算术运算
1/2+1/3 --(定义输出格式format long)
ans =
0.83333333333333
A*B=[ a*(a+b)+b*(c+d), a*(a-b)+b*(c-d)]
[ c*(a+b)+d*(c+d), c*(a-b)+d*(c-d)]
A.*B=[a*(a+b), b*(a-b)]
[c*(c+d), d*(c-d)]
A./B=[a/(a+b), b/(a-b)]
[c/(c+d), d/(c-d)] A^2=[a^2+b*c, a*b+b*d] [a*c+c*d, b*c+d^2]
第五讲 MATLAB的符号运算
—— matlab 不仅具有数值运算 功能,还开发了在matlab环境下 实现符号计算的工具包Symbolic Math Toolbox
符号运算的功能
• 符号表达式、符号矩阵 • • • • •
的创建 符号线性代数 因式分解、展开和简化 符号代数方程求解 符号微积分 符号微分方程
符号运算函数:
symsize —— 求符号矩阵维数 charploy —— 特征多项式 determ —— 符号矩阵行列式的值 eigensys —— 特征值和特征向量 inverse —— 逆矩阵 transpose —— 矩阵的转置 jordan —— 约当标准型
相关文档
最新文档