MATLAB数学建模3.2

文章介绍了如何在MATLAB中进行符号运算,包括使用sym和syms函数创建符号对象,验证三角等式,求解矩阵的行列式、逆和特征根。还讨论了符号表达式和函数的操作,如合并同幂项、质因数分解和简化公式。此外,提到了符号矩阵的概念及其运算。
摘要由CSDN通过智能技术生成

目录

目录

3.2 符号运算

1 符号对象

2 创建符号对象

3 符号表达式及函数

4 数组和矩阵


3.2 符号运算

1 符号对象

        符号对象可以利用函数命令sym()、syms()来创建,可用class()来测试建立的操作对象为何种操作对象类型。

(1)在符号形成上的差异

a1=[1/3,pi/7,sqrt(5),pi+sqrt(5)]			
a2=sym([1/3,pi/7,sqrt(5),pi+sqrt(5)])		
a3=sym([1/3,pi/7,sqrt(5),pi+sqrt(5)],'e')	

         结果:

a1 = 0.3333    0.4488    2.2361    5.3777
a2 = [1/3, pi/7, 5^(1/2), 189209612611719/35184372088832]
a3 = [1/3 - eps/12, pi/7 - (13*eps)/165, (137*eps)/280 + 5^(1/2), 189209612611719/35184372088832]

        其中eps表示浮点数之间的间距。

(2)验证三角等式

syms fai1 fai2
y=simplify(sin(fai1)*cos(fai2)-cos(fai1)*sin(fai2))

(3)求矩阵的行列式值、逆和特征根

syms a11 a12 a21 a22
A=[a11,a12;a21,a22]
DA=det(A),IA=inv(A),EA=eig(A)  
syms a11 a12 a21 a22
A=[a11,a12;a21,a22]
DA=det(A) %行列式值
IA=inv(A) %逆
EA=eig(A) %特征根

(4)验证积分(int积分)

syms A t tao w
yf=int(A*exp(-i*w*t),t,-tao/2,tao/2)

2 创建符号对象

        利用symsyms函数进行创建。

(1)sym函数

(2)syms函数

        syms s1 s2 s3 flag : 建立三个或者多个符号对象,指定的要求按照flag选取的限定值。

(3)class函数

         str = class(object) :返回指代数据对象类型的字符串

a=1/4;
b='1/4';
c=sym(1/4);
d=sym('1/4');
classa=class(a)
classb=class(b)
classc=class(c)
classd=class(d)

         结果分别为double、char、sym、sym

        matlab的变量命名规则:(1)可由英文字母、数字、下划线构成(2)以英文字母开头(3)小于31个字符(4)区分大小写英文字母

3 符号表达式及函数

        符号表达式包括符号函数符号方程

(1)符号表达式的建立

syms n x T wc p; 
f1=n*x^n/x;
classf1=class(f1) 

e1=sym('a*x^2+b*x+c=0')
classe1=class(e1) 

(2)符号函数和符号方程的操作

        ①合并同幂项(collect)

EXPR=sym('(x^2+x*exp(-t)+1)*(x+exp(-t))')
expr1=collect(EXPR)
expr2=collect(EXPR,'exp(-t)')

        ②factor指令(质因数)

syms a x
f1=x^4-5*x^3+5*x^2+5*x-6;factor(f1)
f2=x^2-a^2;factor(f2)
factor(1025)
% factor - 质因数
%此 MATLAB 函数 返回包含 n 的质因数的行向量。向量 f 与 n 具有相同的数据类型。

        PS:numden表示提取分子和分母

      ③对多项式进行嵌套型分解(horner)

syms a x
   f1=x^4-5*x^3+5*x^2+5*x-6
 horner(f1)

ans=x*(x*(x*(x - 5) + 5) + 5) - 6

      ④简化公式(simplify)

(3)符号函数的求反和复合

        确定自变量的个数:findsym(f,n) : 确定符号函数f中的n个自变量;findsym(e,n)确定符号方程e中的n个自变量。

 syms x
 f=x^2
 g=finverse(f)         %求反函数
 fg=simple(compose(g,f))	  %验算g(f(x))是否等于x 

4 数组和矩阵

(1)数组

        数组是由一组复数排成的长方形阵列(实数可认为是复数的特殊形式)。一维、二维、三维或者多为。

(2)矩阵

        矩阵运算把矩阵当成一个整体,按照线性代数规则运算。

(3)符号矩阵

        符号变量/符号形式的数(符号常量)构成的矩阵叫做符号矩阵。可构成符号表达式(包括符号矩阵函数和符号矩阵方程)。

m1=sym('[ab bc cd;de ef fg;h I j]');
clam1=class(m1)
m2=sym('[1 12;23 34]');
clam2=class(m2)
m3=sym('[a b;c d]*x=0');
clam3=class(m3)

        输出结果均为sym

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值