matlab实验五多项式和符号运算

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

实验五:Matlab多项式和符号运算

一、实验目的

1.掌握Matlab多项式的运算。

2.了解符号运算。

二、实验内容

1.将多项式()(2)(3)(7)(1)

=-+-+化为x的降幂排列。

P x x x x x

syms x;

y=(x-2)*(x+3)*(x-7)*(x+1);

expand(y)

ans =

x^4-5*x^3-19*x^2+29*x+42

2.求一元高次方程的根。

98765432

--++--++=

53015027313658204100576-28800 x x x x x x x x x

syms x y;

y=x^9-5*x^8-30*x^7+150*x^6-1365*x^4-820*x^3+410

0*x^2+576*x-2880;

solve(y,x)

ans =

6.81947687944124431946

1.42761488953013276419+.8192491831*i

2.865487219+2.49263348244446271927*i

-1.887673354+1.812452594*i

-.9583509633

-5.922730991

-1.887673354-1.812452594*i

2.865487219-2.49263348244446271927*i

1.42761488953013276419-.8192491831*i

3.求一元高次方程的根,并画出左边多项式函数在[2,2]

x∈-区间内的曲线。

42

-+=

x x

210

a=[1 0 -2 0 1];

r=roots(a)

syms x;

x=-2:2;

y=[1 0 -2 0 1];

plot(x,y)

r =

1.0000 + 0.0000i

1.0000 - 0.0000i

-1.0000

-1.0000

-2-1.5-1-0.500.51 1.52

-2-1.5

-1

-0.50

0.5

1

4.对比用多项式函数的polyder 函数及符号函数中的diff 函数,求导x 2+2x+3。

>>y=[1 2 3];

polyder(y)

ans =

2 2

5.求多项式

在点2、4、5的值

>> a=[1 3 -2 1];

polyval(a,[2,4,5])

ans =

17 105 191

6.计算 a(x)=2x 3+4x 2+6x+8, b(x)=3x 2+6x+9的多项式相加(试着编写一个polyadd 的函数,实现多项式相加的功能)

function[poly]=polyadd(poly1,poly2)

if length(poly1)

short=poly1;

long=poly2;

else short=poly2;

long=poly1;

end

mz=length(long)-length(short);

if mz>0poly=[zeros(1,mz),short]+long;

else poly=long+short;

end

poly1=[2 3 5 7];

poly2=[8 -6 4 -2];

[poly]=polyadd(poly1,poly2)

poly =

10 -3 9 5

7.求多项式321()357f x x x x =+++和322()8642f x x x x =-+-的乘积

()f x ;并求12()()()

f x f x f x -的商和余式。(conv() deconv()) f1=[1 3 5 7];

f2=[8 -6 4 -2];

f=conv(f1,f2)

f =

8 18 26 36 -28 18 -14

>> fll=[zeros(1,length(f)-length(f1)),f1]

fll =

0 0 0 1 3 5 7

>>

>> [q,r]=deconv(f-fll,f2)

q =

1.0000 3.0000 5.0000 6.8750

r =

0 0 0 0 -3.7500 -4.5000 -7.2500

8.求52

=++的符号导数。

y x x

tan(4)3

y='x^5+tan(4*x^2)+3';

>> diff(y)

ans =

-26 -41 -10 73 -19 13 -70 12 -10

78 -26 -44 -9 2 8

f x的表达式。观察在不使用collect(f)

9.用符号运算求实验内容6中的()

函数以及使用后的结果。

三、设计提示

1.关于多项式运算的函数有poly、roots、diff、conv/deconv等。

2.多项式做加减运算时要注意等长度。

3.符号表达式的输入可以用字符串方式,也可以用sym函数, syms函数。

4.了解以下符号多项式函数

1.collect(f): 函数用途是合并多项式中相同的项,

syms x t

f=(1+x)*t+x*t;

collect(f)

2.expand(f):展开多项式,

syms x

f=x*(x*(x-1)+3)+2;

expand(f);

3.horner(f)对转换多项式为Horner形式, 这种形式的特点是乘法嵌套, 其有着

不错的数值计算性质.

syms x;

f=x^3+2*x^2+5*x-2

horner(f)

相关文档
最新文档