Maison  >  Article  >  tutoriels informatiques  >  Utilisez MATLAB pour calculer les coefficients de dilatation des séries de Taylor des polynômes

Utilisez MATLAB pour calculer les coefficients de dilatation des séries de Taylor des polynômes

PHPz
PHPzavant
2024-01-23 13:39:151509parcourir

Utilisez MATLAB pour calculer les coefficients de dilatation des séries de Taylor des polynômes

matlab calcule les coefficients du développement en série de Taylor des polynômes

clear;clc;

syms x a;

m=5;%Changez-le vous-même

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

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

w=sym(zéros(m+1,1));

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

f=f-w(1);

pour n=m:-1:2

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

f=fw(n+1)*x^n;

fin

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

Notez que parce que l'indice du tableau matlab commence à 1, ici w(1) est un terme constant, w(2) est un terme linéaire, et ainsi de suite, que est

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

Comment résoudre le problème des coefficients indéterminés dans matlab

【1】Transformer la fonction

>>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】Utilisez Collect pour fusionner des éléments similaires

>>ff=collect(f):

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

【3】Utilisez maple pour extraire les coefficients polynomiaux s'il y en a beaucoup, vous pouvez utiliser des instructions de boucle.

>>c3=érable('coeff',ff,x,3)

c3 =2-3*a

>>c1=érable('coeff',ff,x,1)

c1 =21-c

>>c2=érable('coeff',ff,x,2)

c2 =3-b

>>c0=érable('coeff',ff,x,0)

c0 =4-d

Ajouté :

Cette fois, ça s’est passé comme ça. Le programme s’est déroulé. Je ne suis pas très satisfait. Et si on réglait le problème ensemble ?

syms a b c d x

%【1】Transformer la fonction

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

N=3;

pour i=0:N

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

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

fin

celldisp(cp);

Ajout supplémentaire : Cette fois, je l'ai finalement résolu, mais cela a l'air très stupide et pas très idéal, je me contente de bien sûr, je pense qu'il peut être modifié pour être beau.

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;

pour i=0:N

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

temp1(i+1)=temp;

fin

cp=temp1

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

Résultat de l'exécution :

a =2/3

b =3

c =21

d =4

Le fichier d'expression fonctionnelle M de la valeur du polynôme Px anxn an1xn1 a1x a0 est utilisé

Tout d'abord, le polynôme est dynamique, il doit donc être une entrée dans Matlab

 ;

Deuxièmement, l'expression Matlab des polynômes doit être claire. Il s'agit d'extraire les coefficients des polynômes après avoir diminué la puissance pour représenter le polynôme. Le polynôme de degré -n du polynôme est représenté par un vecteur de dimension n+1 ; exemple, le polynôme 3*x^2 + 5 dans matlab Exprimé comme [3 0 5];

Enfin, vous devez comprendre la méthode Matlab de valeur de fonction polynomiale, qui est la commande polyval.

Sur la base de ce qui précède, le fichier M est le suivant :

fonction val = fpolyval(p,x)

% fonction ffonction polyval : fonction valeur val du polynôme p en x.

% Le terme d'entrée p est le coefficient du polynôme classé en puissances décroissantes ;

val = polyval(p,x);

Par exemple : la valeur de 3*x^2 + 5 à x=1,2

>>p=[3 0 5];

>>x=[1 2];

>>val=fpolyval(p,x)

val =

8 17

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer