matlab实验五Word格式.docx

上传人:b****5 文档编号:18596152 上传时间:2022-12-29 格式:DOCX 页数:9 大小:60.23KB
下载 相关 举报
matlab实验五Word格式.docx_第1页
第1页 / 共9页
matlab实验五Word格式.docx_第2页
第2页 / 共9页
matlab实验五Word格式.docx_第3页
第3页 / 共9页
matlab实验五Word格式.docx_第4页
第4页 / 共9页
matlab实验五Word格式.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

matlab实验五Word格式.docx

《matlab实验五Word格式.docx》由会员分享,可在线阅读,更多相关《matlab实验五Word格式.docx(9页珍藏版)》请在冰豆网上搜索。

matlab实验五Word格式.docx

函数sym一次只能定义一个符号变量,使用不方便。

MATLAB提供了另一个函数syms,一次可以定义多个符号变量。

syms函数的一般调用格式为:

syms符号变量名1符号变量名2…符号变量名n

用这种格式定义符号变量时不要在变量名上加字符串分界符(‘),变量间用空格而不要用逗号分隔。

2.创建符号表达式和符号表达式的操作

含有符号对象的表达式称为符号表达式。

建立符号表达式有以下3种方法:

(1)利用单引号来生成符号表达式。

(2)用sym函数建立符号表达式。

(3)使用已经定义的符号变量组成符号表达式。

对符号表达式f=sinx,g=

进行操作。

(1).创建符号变量。

使用sym命令创建符号表达式:

>

f=sym('

sin(x)'

f=

sin(x)

g=sym('

y/exp(-2*t)'

g=

y/exp(-2*t)

syms命令创建符号表达式f,g:

symsxyt

f=sin(x)

g=y/exp(-2*t)

自由变量的确定。

使用findsym确定符号表达式g的自由变量:

findsym(g)%得出所有符号变量

Ans=

t,y

findsym(g,1)%得出第1个符号变量

ans=

y

findsym(g,2)%按顺序得出两个符号变量

y,t

用常数替换符号变量。

用行向量替换x,使符号对象f转变为行向量:

x=0:

10;

f=sin(x);

y=subs(f,x)

⑷符号对象与数值的转换.采用double,numeric和eval将符号对象转换为数值:

f=sin(x);

f1=subs(f,'

5'

f1=

sin((5))

y1=double(f1)

y1=

-0.9589

y2=eval(f1)

y2=

⑸求反函数和复合函数。

①用finverse函数求f,g的反函数:

finverse(f)

asin(x)

finverse(g)%对默认独立变量y求反函数

y*exp(-2*t)

finverse(g,'

t'

)%对符号变量t求反函数

-1/2*log(y/t)

②用compose函数求f,g的复合函数:

compose(f,g)%计算f(g(x))

sin(y/exp(-2*t))

compose(f,g,'

z'

)%计算f(g(z))

sin(z/exp(-2*t))

⑹符号微积分和极限。

①对f和g用diff求微分:

diff(f)

cos(x)

diff(g)%对默认自由变量y求微分

1/exp(t^2)

diff(g,'

)%对符号变量t求微分

-2*y/exp(t^2)*t

②对f和g用int求积分:

int(f)%求不定积分

-cos(x)

int(g)

1/2*y^2/exp(-2*t)

int(g,'

)%对t求不定积分

1/2*y/exp(-2*t)

0,10)%对t求定积分

1/2*y*exp(20)-1/2*y

③符号表达式的极限limit

symsxat;

limit(sin(x)/x)

ans=

1

limit((1+a/x)^x,x,inf)%x→inf条件下的极限

exp(a)

limit(1/x,x,0,'

left'

)%left极限的方向

-Inf

④Taylor级数展开

clearall

symsx

f=exp(x*sin(x));

r=taylor(f,'

Order'

12)

r=

-(1079*x^10)/362880-(11*x^8)/560+x^6/120+x^4/3+x^2+1

3.符号矩阵的操作

(1)创建符号矩阵。

①使用sym函数直接创建符号矩阵

a=sym('

[xx^2;

2*xcos(2*t)]'

a=

[x,x^2]

[2*x,cos(2*t)]

②将数值矩阵转化为符号矩阵

在MATLAB中,数值矩阵不能直接参与符号运算,必需转化为符号符号矩阵。

a=[2/3,sqrt

(2),0.222;

1.4,1/0.23,log(3)]

a=

0.6671,41420.2220

1.4004.34781.0986

b=sym(a)

b=

[2/3,sqrt

(2),111/500]

[7/5,100/23,4947709893870346*2^(-52)]

(2)符号矩阵的代数运算。

符号矩阵大多数运算与矩阵相同,包括加法、减法,乘法*,除法(/、\);

矩阵的转置(’);

矩阵的逆inv;

幕运算(^);

指数运算exp等。

(3)对符号矩阵的微积分运算就是对符号矩阵的每一个元素进行微积分:

a=[2*xt^2;

t*sin(x)exp(x)]

b=[cos(x)1/t;

x^2sin(x)]

创建符号矩阵a,b,进行符号矩阵的相关运算,查看输出结果。

对符号矩阵a求积分和微分,查看输出结果。

4.符号方程的求解

1)代数方程求解。

3x1-2x2+x3=8

对方程组:

x1+3x2+4x3=2进行求解。

2x1-x2+3x3=7

eq1=sym('

3*x1-2*x2+x3=8'

);

eq2=sym('

x1+3*x2+4*x3=2'

eq3=sym('

2*x1-x2+3*x3=7'

[x1,x2,x3]=solve(eq1,eq2,eq3)

执行后查看输出结果。

[37/22,-23/22,19/22]

(2)符号微分方程求解。

MATLAB提供了dsolve命令,用于对符号常微分方程进行求解。

同学们可通过help帮助来查看函数使用。

解方程组:

dy/dx–z=cos(x)

dz/dx+y=1

[y,z]=dsolve('

Dy-z=cos(x),Dz+y=1'

'

x'

simplify(z)

y=

cos(x)*c1+sin(x)*c2+1/2*cos(x)*x+1/2*sin(x)+1

z=

-sin(x)*c1+cos(x)*c2-1/2*sin(x)*x

5.符号函数的可视化

为了将符号函数的数值计算结果可视化,MATLAB提供了十来个绘图命令,可以很容易的将符号表达式图形化,这些命令的开头都是“ez”。

同样,这些命令也可以用于字符串函数的绘图。

(1)ezplot和ezplot3命令

ezplot(f)绘制f(x)的函数图,这里f为代表数学表达式的包含单个符号变量x的字符串或符号表达式。

X轴的近似范围为[-2*pi,2*pi]。

y=sym('

-1/3*x^3+1/3*x^4'

ezplot(y)%绘制函数y在[-2*pi,2*pi]中的图形,图1.1

图1.1

极坐标下绘制二维曲线

closeall

symst

ezpolar(1+cos(t))

ezplot3(x,y,z,[tmin,tmax],’animate’)%绘制三维曲线

说明:

x,y,z分别为符号表达式x(t),y(t),z(t);

[tmin,tmax]为t的范围,可省略;

’animate’用来设置动画的的绘制曲线的过程,可省略。

x=sym('

sin(t)'

z=sym('

cos(t)'

ezplot3(x,y,z,[0,10*pi],'

animate'

(2)ezmesh命令

symsxy

ezmesh(x*exp(-x^2+-y^2),[-2.5,2.5],40,'

circ'

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 兵器核科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1