+ Trả lời chủ đề
Hiện kết quả từ 1 tới 2 của 2

Chủ đề: Tính gần đúng tích phân xác định bằng Công thức Hình thang

  1. #1
    Status : Administrator đang ẩn
    Tham gia ngày : Aug 2011
    Đến từ : Ninh Kiều - Cần Thơ
    Bài gửi : 1.450

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

    Mã:
    (*Cong thuc Hinh thang*)
    Clear[x, y, f, a, b, n, h, x, fx];
    y = Input["Nhap f(x)"];
    f[x_] = y;
    a = Input["Nhap can duoi a"];
    b = Input["Nhap can tren b"];
    n = Input["Nhap so doan chia n"];
    Print["f(x) = ", y];
    Print["a = ", a];
    Print["b = ", b];
    Print["So doan chia n = ", n];
    h = (b - a)/n;
    x = Table[a + i*h, {i, 0, n}];
    fx = Table[f[x[[i]]], {i, 1, n + 1}];
    HinhThang = (h/2)*(fx[[1]] + fx[[n + 1]] + 2Sum[fx[[i]], {i, 2, n}]);
    Print["Cong thuc hinh thang I = ", HinhThang];
    Plot[y, {x, a, b}];

  2. #2
    Status : Administrator đang ẩn
    Tham gia ngày : Aug 2011
    Đến từ : Ninh Kiều - Cần Thơ
    Bài gửi : 1.450

    Re: Tính gần đúng tích phân xác định bằng Công thức Hình thang

    PHP Code:
    #include "math.h"
    #include "conio.h"
    #include "iostream.h"
    /*Nhap vao mot da thuc luu he so trong A[] va co Bac*/
    double*NhapDaThuc(int Bac) {
        
    double *= new double [Bac+1];
        for(
    int i0i<=Baci++) {
            
    cout<<"a"<<i<<" = ";
            
    cin>>A[i];
        }
        return 
    A;
    }

    /*Xuat da thuc co he so A[] va Bac*/
    void XuatDaThucdouble*A,int Bacchar*s) {
        
    cout<<"Da Thuc Vua Nhap la:\n";
        
    cout<<s<<" = "<<A[0];
        for(
    int i=1i<=Baci++){
            if(
    A[i]>0
                
    cout<<" + "<<A[i]<<"x^"<<i;
            if(
    A[i]<0
                
    cout<<A[i]<<"x^"<<i;
        }
    }

    /*Tinh gia tri cua da thuc tai diem x*/
    double f(double*Aint Bacdouble x) {
         
    double KetQua A[Bac];
        for(
    int i=Bac-1i>=0i--)
            
    KetQua=KetQua*A[i];
        return 
    KetQua;
    }

    /*Công thức hình thang tính tích phân  .*/
    double CongThucHinhThang(double*A,int Bacdouble adouble bint n) {
        
    double h = (b-a)/n;
        
    double KetQua=0;
        
    double*= new double [n+1];
        for(
    int i=0;i<=n;i++)
            
    F[i]=f(A,Bac,a+i*h);
        for(
    1;i<n;i++)
            
    KetQua+=F[i];
        
    KetQua h*((F[0]+F[n])/KetQua);
        
    delete F;
        return 
    KetQua;
    }

    /*Công thức hình thang tính tích phân , với f(x) là đa thức bậc Bacf, g(x) là đa thức bậc Bacg*/
    double CongThucHinhThangdouble*Fx,int BacFxdouble*Gx,
                    
    int BacGx,double adouble bint n) {
        
    double h = (b-a)/n;
        
    double KetQua=0;
        
    double*= new double [n+1];
        for(
    int i=0i<=n;i++) {
            if (
    f(Gx,BacGx,a+i*h) == 0) {
                
    cout<<"\nHam f(x)/g(x) khong lien tuc tren [a,b]";
                return -
    1;
            }
            else {
                
    F[i]=f(Fx,BacFx,a+i*h)/f(Gx,BacGx,a+i*h);
            }
        }
        for(
    1i<ni++)
            
    KetQua+=F[i];
        
    KetQua h*((F[0]+F[n])/KetQua);
        
    delete F;
        return 
    KetQua;
    }

    /*Chuong Trinh Chinh*/
    void main() {
        
    clrscr();
        
    double*Fx,a,b,Epxilon;
        
    int Bacf,n;
        
    cout<<"Nhap Vao Bac Cua Da Thuc:";
        
    cin>>Bacf;
        
    Fx NhapDaThuc(Bacf);
        
    XuatDaThuc(Fx,Bacf,"f(x)");
        
    cout<<"\nNhap Can Tich Phan a Den b:\n";
        
    cout<<"a = ";
        
    cin>>a;
        
    cout<<"b = ";
        
    cin>>b;
        
    cout<<"Nhap Vao So Doan Chia n = ";
        
    cin>>n;
        
    cout<<"I = "<<CongThucHinhThang(Fx,Bacf,a,b,n);
        
    getch();
        
    delete Fx;


+ Trả lời chủ đề

Từ khóa (Tag) của chủ đề này

Quyền viết bài

  • Bạn không thể gửi chủ đề mới
  • Bạn không thể gửi trả lời
  • Bạn không thể gửi file đính kèm
  • Bạn không thể sửa bài viết của mình
Trang Chủ Việc Làm Gia Sư Gia sư