Gia sư Cần Thơ, Dạy Kèm Cần Thơ

VỮNG TIN - TIẾP BƯỚC - THÀNH CÔNG


Phương pháp gần đúng

Share

kieudiem
Nhập môn
Nhập môn

Tổng số bài gửi : 17
Points : 48
Join date : 14/11/2009

Phương pháp gần đúng

Bài gửi  kieudiem on Fri May 21, 2010 12:18 pm

Phương pháp chia đôi tìm nghiệp gần đúng của phương trình f(x) = 0 với khoảng cách ly nghiệm [a,b]
Code:
(*Phuong pháp chia dôi tim nghiem gan dung cua phuong trinh :*)
Clear[a, b, x, e, c]
PPChiaDoi[ss_] :=
        Module[{a, b, x, e, c},
             a = Input["Nhap vao a= "];
             b = Input["Nhap vao b ="];
             f[x_] = Input["Nhap vao phuong trinh f(x) = 0"];
             e = b - a;
             While[e > ss,
                  (c = (a + b)/2;
                    If[f[c]*f[a] < 0, b = c, a = c];
                    e = b - a)];
             Return[N[a]]
             ]
(*Ví du : Phương trình x^3 - x - 1 = 0, khoảng phân ly nghiệm là[1; 2] và sai số 10^-3.
Đáp số : x ≈ 1.324219*)
Print["Ket qua:", PPChiaDoi[0.003]]   
avatar
admin
Admin
Admin

Tổng số bài gửi : 1207
Points : 3010
Join date : 11/11/2009
Age : 37
Đến từ : Cần Thơ

Công thức Simpson tính gần đúng tích phân xác định

Bài gửi  admin on Mon Mar 14, 2011 9:42 am

Công thức Simpson tính gần đúng tích phân xác định

Code:
Clear[f, n, h, L, Tp];
f[x_] = Input["Nhap ham so y = f(x)"];
Print["y = ", f[x]];
n = Input["Nhap so doan chia"];
h = (b - a)/(2 n);
L = Table[f[a + i h], {i, 0, 2 n}];
Tp = (h/3)(L[[1]] + L[[2 n + 1]] + 4
Sum[L[[i]], {i, 2, 2n, 2}] + 2 Sum[L[[j]], {j, 3, 2n - 1, 2}]);
Print["Cong thuc Simpson cho I = ", N[Tp]];
avatar
admin
Admin
Admin

Tổng số bài gửi : 1207
Points : 3010
Join date : 11/11/2009
Age : 37
Đến từ : Cần Thơ

Công thức hình thang tính gần đúng tích phân xác định

Bài gửi  admin on Mon Mar 14, 2011 9:46 am

Công thức hình thang tính gần đúng tích phân xác định
Code:
Clear[n, a, b, f, S];
f[x_] = Input["Nhap ham so y = f(x)"];
n = Input["Nhap so doan can chia"];
a = Input["Nhap can duoi cua tich phan"];
b = Input["Nhap can tren cua tich phan"];
h = (b - a)/n;
S = (h/2)(f[a] + f[b] + 2 Sum[f[a + i h], {i, 1, n - 1}]);
Print["Tich phan cua f(x) = ", f[x], " tu ", a, " den ", b , " la: ", S];
avatar
admin
Admin
Admin

Tổng số bài gửi : 1207
Points : 3010
Join date : 11/11/2009
Age : 37
Đến từ : Cần Thơ

Công thức nội suy Lagrange

Bài gửi  admin on Mon Mar 14, 2011 9:48 am

Công thức nội suy Lagrange
Code:
Clear[X, Y, n, temp, i, f, P];
n = Input["Nhap so n+1 diem"];
X = {};
i = 1;
While[i ≤ n,
       temp = Random[Integer, {-10, 10}];
       If[Intersection[X, {temp}] == {},
            X = Append[X, temp];
            i++;
         ];
    ];
Y = Table[Random[Integer, {-10, 10}], {i, n}];
P = Table[Product[If[j ≠ i, (x - X[[j]])/(X[[i]] - X[[j]]), 1], {j, n}], {i, n}];
f = Simplify[Sum[Y[[i]] P[[i]], {i, n}]];
Print["P(x) = ", f];

cuonglevanvu
Nhập môn
Nhập môn

Tổng số bài gửi : 2
Points : 5
Join date : 12/04/2011

Tìm nghiện gần đúng bằng phương pháp NewTon(tiếpTuyến) trong khoảng phân ly nghiệm [a,b]

Bài gửi  cuonglevanvu on Tue Apr 12, 2011 3:38 pm

Tìm nghiện gần đúng bằng phương pháp NewTon(tiếp Tuyến) trong khoảng phân ly nghiệm [a,b]

Code:
Clear[x,f,a,b];
    f[x_]=Input["Nhap bieu thuc: "];
    a=Input["Nhap a(khoang phan li nghiem [a,b]): "];
    b=Input["Nhap b(Khooang phan ly nghiem [a,b]): "];
    n=Input["Nhap so buoc can lap: "];
    DT[x_]=D[f[x],x];
    DT2[x_]=D[DT[x],x];
    If[DT[a]*DT2[b]&&DT[b]*DT2[a]<0,
      X={a};,
      X={b}
    ];
    For[i=2,i≤n+1,i++,
        temp=X[[i-1]]-f[X[[i-1]]]/DT[X[[i-1]]];
        X=Append[X,temp];
    ]
    Print["Nghiem gan dung cua phuong trinh:" ,N[Last[X]]]
    Print["voi cac buoc lap nhu sau:",X];
>>>>>>>>>>>>>>Ket Qua<<<<<<<<<<<<<<<<<<
vd voi pt : x^3-3x+1=0;
Nghiem gan dung cua phuong trinh: 0.347296
voi cac buoc lap nhu sau: {0.5,0.333333,0.347222,0.347296}

cuonglevanvu
Nhập môn
Nhập môn

Tổng số bài gửi : 2
Points : 5
Join date : 12/04/2011

Tìm nghiện gần đúng bằng phương pháp Dây cung trong khoảng phân ly nghiệm [a,b]

Bài gửi  cuonglevanvu on Tue Apr 12, 2011 4:05 pm

Tìm nghiện gần đúng bằng phương pháp Dây cung trong khoảng phân ly nghiệm [a,b]

Code:
[size=18]Clear[x,f,a,b];
f[x_]=Input["Nhap bieu thuc: "];
a=Input["Nhap a(khoang phan li nghiem [a,b]):  "];
b=Input["Nhap b(Khooang phan ly nghiem [a,b]): "];
n=Input["Nhap so buoc can lap: "];
DT[x_]=D[f[x],x];
DT2[x_]=D[DT[x],x];
If[DT[a]*DT2[b]&&DT[b]*DT2[a]>0,
    X={a};
    For[i=2,i≤n+1,i++,
      temp=(X[[i-1]]-((f[X[[i-1]]]*(b-X[[i-1]]))/(f[b]-f[X[[i-1]]])));
         X=Append[X,temp];
      ],
    X={b};
    For[i=2,i≤n+1,i++,
      temp=(X[[i-1]]-((f[X[[i-1]]]*(a-X[[i-1]]))/(f[a]-f[X[[i-1]]])));
         X=Append[X,temp];
      ]];
Print["Nghiem gan dung cua phuong trinh:" ,N[Last[X]]]
Print["voi cac buoc lap nhu sau:",X];[/size]

Sponsored content

Re: Phương pháp gần đúng

Bài gửi  Sponsored content


    Hôm nay: Tue Aug 14, 2018 1:25 pm