实验二2MATLAB地符号计算与可视化

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

实验二MATLAB的符号计算与可视化

1:完成教材实验三第1节“1.创建符号表达式和符号表达式的操作”中(1)-(5)部分的内容,分别用sym和syms创建符号表达式f和g,并对它们进行相关操作,思考每一条命令的作用是什么,并提交命令行和结果;

(1)创建符号变量。

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

>> f=sym('sin(x)')

f =

sin(x)

>> g=sym('y/exp(-2*t)')

g =

y*exp(2*t)

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

>> syms x y t

>> f=sym(sin(x))

f =

sin(x)

>> g=sym(y/exp(-2*t))

g =

y*exp(2*t)

(2):自由变量的确定:

>> symvar(g)

ans =

[ t, y]

>> symvar(g,1)

ans =

y

>> findsym(g,2)

ans =

y,t

(3):用常数替换符号变量:

>> x=0:10;

>> y=subs(f,x)

y =

Columns 1 through 8

0 0.8415 0.9093 0.1411 -0.7568 -0.9589 -0.2794 0.6570

Columns 9 through 11

0.9894 0.4121 -0.5440

练习:用y替换x,查看结果及其数据类型。

z=subs(f,y)

z =

Columns 1 through 8

0 0.7456 0.7891 0.1407 -0.6866 -0.8186 -0.2758 0.6107

Columns 9 through 11

0.8357 0.4006 -0.5176

>> class(z)

ans =

double

(4):符号对象与数值的转换和任意精度控制:

>> f1=subs(f,'5')

f1 =

sin(5)

>> y1=double(f1)

y1 =

-0.9589

>> y2=eval(f1)

y2 =

-0.9589

练习:将y1用sym函数转换为符号对象,并用’d’,’f’,’e’,’r’4种格式表示。>> y2=sym(y1,'d')

y2 =

-0.95892427466313845396683746002964

ans =

-0.95892427

>> class(y2)

ans =

sym

>> y3=sym(y1,'f')

y3 =

-8637222012098867/9007199254740992 >> y4=sym(y1,'e')

y4 =

-8637222012098867/9007199254740992 >> y5=sym(y1,'r')

y5 =

-8637222012098867/9007199254740992 采用digits和vpa实现任意精度控制:

>> digits

Digits = 32

>> vpa(f1)

ans =

-0.95892427466313846889315440615599

ans =

-0.9589242747

(5):求反函数和复合函数

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

>> f=sym('sin(x)');

>> g=sym('y/exp(-2*t)')

g =

y*exp(2*t)

>> finverse(f)

Warning: finverse(sin(x)) is not unique. ans =

asin(x)

>> finverse(g)

ans =

y/exp(2*t)

>> finverse(g,'t'

ans =

log(t/y)/2

②用compose函数求f,g的复合函数>> compose(f,g)

ans =

sin(y*exp(2*t))

>> compose(f,g,'z')

ans =

sin(z*exp(2*t))

2;自建两个一元四次符号表达式,分别进行其符号表达式的加、减、乘等运算,并提交命令行和结果;

>> syms x

>> f=x^4+2*x^3-5*x^2+6*x+8

f =

x^4 + 2*x^3 - 5*x^2 + 6*x + 8

>> class(f)

ans =

sym

>> g=2*x^4-5*x^3+8*x^2+7*x-2

g =

2*x^4 - 5*x^3 + 8*x^2 + 7*x - 2

>> f+g

ans =

3*x^4 - 3*x^3 + 3*x^2 + 13*x + 6

>> f-g

ans =

- x^4 + 7*x^3 - 13*x^2 - x + 10

>> f*g

ans =

(x^4 + 2*x^3 - 5*x^2 + 6*x + 8)*(2*x^4 - 5*x^3 + 8*x^2 + 7*x - 2)

3:自建一个可化简一元五次多项式和一个三角函数符号表达式,依次使用pretty, horner, factor, simplify和simple等函数对该表达式进行化简,并提交命令行和结果;

syms x y

>> f=x^5+x^4+2*x+2

f =

x^5 + x^4 + 2*x + 2

>> g=cos(y)^2-sin(y)^2

g =

cos(y)^2 - sin(y)^2

>> class(f)

ans =

sym

>> class(g)

ans =

sym

>> pretty(f)

5 4

相关文档
最新文档