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

Use MATLAB to calculate the Taylor series expansion coefficients of polynomials

PHPz
Release: 2024-01-23 13:39:15
forward
1585 people have browsed it

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!

source:docexcel.net
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template