Mục đích của em là tìm khai triển Taylor của hàm f, nhưng ko muốn dùng hàm taylor có sẵn trong toolbox. Em viết đoạn code MATLAB thế này:
syms x
f = (2-3*x+x*x)*sin(x)
f1 = diff(f)
f2 = diff(f,2)
a0 = subs(f,0.707)
a1 = subs(f1,0.707)
a2 = subs(f2,0.707)
ff = a0 + a1*(x-0.707) + a2*(x-0.707)^2/2
Chạy trên MATLAB nó ra thế này:
f =
(2-3*x+x^2)*sin(x)
f1 =
(-3+2*x)*sin(x)+(2-3*x+x^2)*cos(x)
f2 =
2*sin(x)+2*(-3+2*x)*cos(x)-(2-3*x+x^2)*sin(x)
a0 =
0.2461
a1 =
-0.7422
a2 =
-1.3587
ff =
867826172088563111/1125899906842624000-208897004182487/281474976710656*x-1529746607034255/2251799813685248*(x-707/1000)^2
Vấn đề em hỏi là ở chỗ MATLAB nó cho kết quả hàm ff nhìn thấy khủng hoảng quá mặc dù ko có gì sai. Em muốn sửa làm sao để nó ra ở dạng dấu chấm động thế này cho dễ coi:
ff = 0.7708 - 0.7402*x - 0.6793*(x-0.707)^2
Mong các bác giúp em ạ.
syms x
f = (2-3*x+x*x)*sin(x)
f1 = diff(f)
f2 = diff(f,2)
a0 = subs(f,0.707)
a1 = subs(f1,0.707)
a2 = subs(f2,0.707)
ff = a0 + a1*(x-0.707) + a2*(x-0.707)^2/2
Chạy trên MATLAB nó ra thế này:
f =
(2-3*x+x^2)*sin(x)
f1 =
(-3+2*x)*sin(x)+(2-3*x+x^2)*cos(x)
f2 =
2*sin(x)+2*(-3+2*x)*cos(x)-(2-3*x+x^2)*sin(x)
a0 =
0.2461
a1 =
-0.7422
a2 =
-1.3587
ff =
867826172088563111/1125899906842624000-208897004182487/281474976710656*x-1529746607034255/2251799813685248*(x-707/1000)^2
Vấn đề em hỏi là ở chỗ MATLAB nó cho kết quả hàm ff nhìn thấy khủng hoảng quá mặc dù ko có gì sai. Em muốn sửa làm sao để nó ra ở dạng dấu chấm động thế này cho dễ coi:
ff = 0.7708 - 0.7402*x - 0.6793*(x-0.707)^2
Mong các bác giúp em ạ.
Comment