Heim >Computer-Tutorials >Computerwissen >Verwenden Sie MATLAB, um die Taylor-Reihen-Entwicklungskoeffizienten von Polynomen zu berechnen
clear;clc;
syms x a;
m=5;%Ändern Sie es selbst
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);
für n=m:-1:2
w(n+1)=subs(f-subs(f,x^n,0),x^n,1);
f=f-w(n+1)*x^n;
Ende
w(2)=subs(f,x,1)
Beachten Sie, dass w(1) hier ein konstanter Term, w(2) ein linearer Term usw. ist, da der Index des Matlab-Arrays bei 1 beginnt ist
y=w(1)+w(2)*x+w(3)*x^2+....+w(m+1)*x^m
【1】Transformieren Sie die Funktion
>>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】Verwenden Sie „Sammeln“, um ähnliche Elemente zusammenzuführen
>>ff=collect(f):
(2-3*a)*x^3+(3-b)*x^2+(21-c)*x+4-d = 0
【3】Verwenden Sie Maple, um Polynomkoeffizienten zu extrahieren. Wenn es viele gibt, können Sie Schleifenanweisungen verwenden.
>>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
Hinzugefügt:
Diesmal ist es so gelaufen. Ich bin nicht sehr zufrieden.
syms a b c d x
%【1】Transformieren Sie die Funktion
f=sym('2*x^3+3*x^2+21*x+4-(3*a*x^3+b*x^2+c*x+d)')
N=3;
für i=0:N
temp=maple('coeff',f,x,N-i);
cp(1,i+1)={temp};
Ende
celldisp(cp);
Noch eine Ergänzung: Diesmal habe ich es endlich gelöst, aber es sieht sehr dumm aus und nicht sehr ideal. Ich glaube natürlich, dass es so verändert werden kann, dass es schön ist.
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;
für i=0:N
temp=maple('coeff',f,x,N-i);
temp1(i+1)=temp;
Ende
cp=temp1
a=solve(cp(1)), b=solve(cp(2)), c=solve(cp(3)), d=solve(cp(4))
Laufergebnis:
a =2/3
b =3
c =21
d =4
Zuallererst ist das Polynom dynamisch, daher muss es eine Eingabe für Matlab sein
Zweitens muss der Matlab-Ausdruck von Polynomen klar sein. Er dient dazu, die Koeffizienten der Polynome zu extrahieren, um das Polynom darzustellen. Das Polynom vom Grad -n wird durch einen n+1-dimensionalen Vektor dargestellt Beispiel: Das Polynom 3*x^2 + 5 in Matlab wird ausgedrückt als [3 0 5];
Schließlich müssen Sie die Matlab-Methode des Polynomfunktionswerts verstehen, bei der es sich um den Befehl Polyval handelt.
Basierend auf dem oben Gesagten lautet die M-Datei wie folgt:
Funktionswert = fpolyval(p,x)
% Funktion fpolyval Funktion: Funktionswert val des Polynoms p bei x.
% Der Eingabeterm p ist der Koeffizient des Polynoms, angeordnet in absteigenden Potenzen
val = polyval(p,x);
Zum Beispiel: der Wert von 3*x^2 + 5 bei x=1,2
>>p=[3 0 5];
>>x=[1 2];
>>val=fpolyval(p,x)
val =
8 17
Das obige ist der detaillierte Inhalt vonVerwenden Sie MATLAB, um die Taylor-Reihen-Entwicklungskoeffizienten von Polynomen zu berechnen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!