jelas;clc;
syms x a;
m=5;%Ubah sendiri
y=(11/6-3*x+3/2*x^2-1/3*x^3)^a
f=taylor(y,m+1,x);
w=sym(sifar(m+1,1));
w(1)=subs(f,x,0);
f=f-w(1);
untuk n=m:-1:2
w(n+1)=subs(f-subs(f,x^n,0),x^n,1);
f=f-w(n+1)*x^n;
akhir
w(2)=subs(f,x,1)
Perhatikan bahawa kerana subskrip tatasusunan matlab bermula dari 1, di sini w(1) ialah sebutan tetap, w(2) ialah sebutan linear, dan seterusnya, itu ialah
y=w(1)+w(2)*x+w(3)*x^2+....+w(m+1)*x^m
【1】Ubah fungsi
>>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】Gunakan collect untuk menggabungkan item yang serupa
>>ff=collect(f):
(2-3*a)*x^3+(3-b)*x^2+(21-c)*x+4-d = 0
【3】Gunakan maple untuk mengekstrak pekali polinomial Jika terdapat banyak, anda boleh menggunakan pernyataan gelung.
>>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-h
Ditambah:
Kali ini ternyata seperti ini. Saya tidak begitu berpuas hati.
syms a b c d x
%【1】Ubah fungsi
f=sym('2*x^3+3*x^2+21*x+4-(3*a*x^3+b*x^2+c*x+d)')
N=3;
untuk i=0:N
temp=maple('coeff',f,x,N-i);
cp(1,i+1)={temp};
akhir
celldisp(cp);
Satu lagi tambahan: Saya akhirnya menyelesaikannya kali ini, tetapi ia kelihatan sangat bodoh dan tidak begitu ideal. Sudah tentu, saya percaya ia boleh diubah suai untuk menjadi cantik.
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;
untuk i=0:N
temp=maple('coeff',f,x,N-i);
temp1(i+1)=temp;
akhir
cp=temp1
a=selesai(cp(1)), b=solve(cp(2)), c=solve(cp(3)), d=solve(cp(4))
Hasil larian:
a =2/3
b =3
c =21
d =4
Pertama sekali, polinomial adalah dinamik, jadi ini mesti menjadi input kepada matlab
Kedua, ungkapan matlab polinomial mestilah jelas Ia adalah untuk mengekstrak pekali polinomial selepas menurunkan kuasa untuk mewakili polinomial -n darjah polinomial diwakili oleh vektor dimensi n+1 , polinomial 3*x^2 + 5 dalam matlab Dinyatakan sebagai [3 0 5];
Akhir sekali, anda perlu memahami kaedah matlab nilai fungsi polinomial, iaitu perintah polyval.
Berdasarkan perkara di atas, fail M adalah seperti berikut:
fungsi val = fpolival(p,x)
% fungsi fpolival fungsi: nilai fungsi val polinomial p pada x.
% Istilah input p ialah pekali polinomial yang disusun dalam kuasa menurun
val = polival(p,x);
Contohnya: nilai 3*x^2 + 5 pada x=1,2
>>p=[3 0 5];
>>x=[1 2];
>>val=fpolyval(p,x)
val =
8 17
Atas ialah kandungan terperinci Gunakan MATLAB untuk mengira pekali pengembangan siri Taylor bagi polinomial. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!