Home  >  Article  >  Computer Tutorials  >  Use MATLAB to calculate the Taylor series expansion coefficients of polynomials

Use MATLAB to calculate the Taylor series expansion coefficients of polynomials

PHPz
PHPzforward
2024-01-23 13:39:151527browse

Use MATLAB to calculate the Taylor series expansion coefficients of polynomials

matlab calculates the coefficients of the Taylor series expansion of polynomials

clear;clc;

syms x a;

m=5;%Change it yourself

y=(11/6-3*x 3/2*x^2-1/3*x^3)^a

f=taylor(y,m 1,x);

w=sym(zeros(m 1,1));

w(1)=subs(f,x,0);

f=f-w(1);

for n=m:-1:2

w(n 1)=subs(f-subs(f,x^n,0),x^n,1);

f=f-w(n 1)*x^n;

end

w(2)=subs(f,x,1)

Note that because the matlab array subscript starts from 1, here w(1) is a constant term and w(2) is a linear term, so By analogy,

y=w(1) w(2)*x w(3)*x^2 .... w(m 1)*x^m

How to solve the problem of undetermined coefficients in matlab

【1】Transform the function

>>f=sym('2*x^3 3*x^2 21*x 4-(3*a*x^3 b*x^2 c*x d)=0')

f =

2*x^3 3*x^2 21*x 4-(3*a*x^3 b*x^2 c*x d)=0

【2】Use collect to merge similar items

>>ff=collect(f):

(2-3*a)*x^3 (3-b)*x^2 (21-c)*x 4-d = 0

[3] Use maple to extract polynomial coefficients. If there are many, you can use loop statements.

>>c3=maple('coeff',ff,x,3)

c3 =2-3*a

>>c1=maple('coeff',ff,x,1)

c1 =21-c

>>c2=maple('coeff',ff,x,2)

c2 =3-b

>>c0=maple('coeff',ff,x,0)

c0 =4-d

Replenish:

This time it turned out like this, the program worked, but I’m not very satisfied. How about we sort it out together?

syms a b c d x

%【1】Transform the function

f=sym('2*x^3 3*x^2 21*x 4-(3*a*x^3 b*x^2 c*x d)')

N=3;

for i=0:N

temp=maple('coeff',f,x,N-i);

cp(1,i 1)={temp};

end

celldisp(cp);

Additional addition: This time it is finally solved, but it looks very stupid and not very ideal. I just make do with it. Of course, I believe it can be modified to be beautiful.

syms a b c d x

f=sym('2*x^3 3*x^2 21*x 4-(3*a*x^3 b*x^2 c*x d)')

N=3;

for i=0:N

temp=maple('coeff',f,x,N-i);

temp1(i 1)=temp;

end

cp=temp1

a=solve(cp(1)), b=solve(cp(2)), c=solve(cp(3)), d=solve(cp(4))

operation result:

a =2/3

b =3

c =21

d =4

The functional formula M file for the value of polynomial Px anxn an1xn1 a1x a0 is used

First of all, the polynomial is dynamic, so this must be an input term of matlab;

Secondly, the Matlab expression of polynomials must be clear. It is to extract the coefficients of the polynomials after lowering the power to represent the polynomial. The -n degree polynomial of the polynomial is represented by an n 1-dimensional vector; for example, the polynomial 3*x^2 5 in matlab Expressed as [3 0 5];

Finally, you need to understand the matlab method of polynomial function value, which is the command polyval.

Based on the above, the M file is as follows:

function val = fpolyval(p,x)

% Function fpolyval Function: Function value val of polynomial p at x.

% The input item p is the coefficient of the polynomial arranged in descending powers;

val = polyval(p,x);

For example: 3*x^2 5 value at x=1,2

>>p=[3 0 5];

>>x=[1 2];

>>val=fpolyval(p,x)

val =

8 17

The above is the detailed content of Use MATLAB to calculate the Taylor series expansion coefficients of polynomials. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:docexcel.net. If there is any infringement, please contact admin@php.cn delete