Từ 1 tới 6 trên tổng số 6 kết quả

Đề tài: giúp em tính tích phân

  1. #1
    Ngày gia nhập
    03 2008
    Bài viết
    2

    Mặc định giúp em tính tích phân

    Tính tích phân của f(x) trên đoạn [a,b].Chỉ có vậy thôi!mấy huynh chỉ em thuật giải.em không biết tính theo cách nào!

  2. #2
    Ngày gia nhập
    12 2006
    Nơi ở
    US
    Bài viết
    1,917

    Cậu thử đoạn code này :
    C++ Code:
    1. #include <cmath>
    2. #include <iostream>
    3. #include <iomanip>
    4.  
    5. using std::cout;
    6. using std::setw;
    7. using std::showpoint;
    8. using std::setprecision;
    9. using std::fixed;
    10.  
    11.  
    12. const int CONSTANT_INTEGRAL = 0.5;
    13.  
    14. /*
    15.     function : f( x ) = x.dx
    16. */
    17. double f( double x )
    18. {
    19.     return x;
    20. }
    21.  
    22.  
    23. /*
    24.     loli : lower limit
    25.     upli : upper limit
    26.     acc   : accuracy of calculation ( often large )
    27. */
    28. double findIntegrate( double loli, double upli, int acc )
    29. {
    30.     double avg   = ( upli - loli ) / acc;
    31.     double val   = CONSTANT_INTEGRAL * avg * ( f( loli ) + f( upli ) );
    32.  
    33.     for( int i = 1; i <= acc; ++i )
    34.         val += avg * f( loli + avg * i );
    35.  
    36.     return val;
    37. }
    38.  
    39.  
    40. int main()
    41. {
    42.     const int ACC = 1000000;
    43.     double loli   = 3;
    44.     double upli   = 7;
    45.    
    46.     std::cout << "Integral of x.dx from ( " << loli << " - " <<  upli << " )"
    47.               << "\n= x^2 / 2 from ( " << loli << " - " <<  upli << " )"
    48.               << "\n= "
    49.               << fixed << setprecision( 5 ) << showpoint
    50.               << findIntegrate( loli, upli, ACC ) << "\n";
    51.  
    52.     return 0;
    53. }

  3. #3
    Ngày gia nhập
    02 2008
    Bài viết
    1,009

    dua vao thuat toan nao vay anh rox_rook,những bài lập trình mang tính chất toán thế này nên có thuật toán vào,nếu không thì không ai hiểu được

  4. #4
    Ngày gia nhập
    12 2006
    Nơi ở
    US
    Bài viết
    1,917

    dua vao thuat toan nao vay anh rox_rook,những bài lập trình mang tính chất toán thế này nên có thuật toán vào,nếu không thì không ai hiểu được
    Dựa vào limit of sum em !

    Tích phân của hàm f( x ) trong khoảng ( a, b )
    lim avg->0 avg[ f( a ) + f( a + avg )+...+f( a + ( acc -1 ) avg ) ]
    với avg = ( b - a ) / acc và acc tiến tới vô cực.
    Đã được chỉnh sửa lần cuối bởi rox_rook : 24-08-2008 lúc 01:05 PM.

  5. #5
    Ngày gia nhập
    02 2008
    Bài viết
    1,009

    đây là code tính tích phân hàm e^(-x) * sin(x)
    Code:
    //tinh tich phan bang phuong phap hinh_thang;
    #include <conio.h>
    #include <stdio.h>
    #include <math.h>
    
    float f(float x)
      {
               float a=exp(-x)*sin(x);
               return(a);
      };
      void main()
      {
              int i,n;
              float a,b,x,y,h,s,tp;
              printf("Tinh tich phan theo phuong phap hinh thang\n");
              printf("Cho can duoi a = ");
              scanf("%f",&a);
              printf("Cho can tren b = ");
              scanf("%f",&b);
              printf("Cho so buoc n = ");
              scanf("%d",&n);
              h=(b-a)/n;
              x=a;
              s=(f(a)+f(b))/2;
              for (i=1;i<=n;i++)
               {
                      x=x+h;
                      s=s+f(x);
               }
              tp=s*h;
              printf("Gia tri cua tich phan la : %10.6f\n",tp);
              getch();
      }
    sử dụng phương pháp hình thang để tính
    VD như 1 hàm e^(-x) * sin(x)
    ta sẽ chia trên đồ thị thành các hình thang cong với độ dài hoành độ nhất định ( ta sẽ chọn ngẫu nhiên nhỏ hơn độ dài cận lớn - cận nhỏ )

  6. #6
    Ngày gia nhập
    01 2008
    Nơi ở
    Rất đông người
    Bài viết
    745

    Mặc định giúp em tính tích phân

    Trích dẫn Nguyên bản được gửi bởi kan-getting Xem bài viết
    Tính tích phân của f(x) trên đoạn [a,b].Chỉ có vậy thôi!mấy huynh chỉ em thuật giải.em không biết tính theo cách nào!
    http://en.wikipedia.org/wiki/Simpson's_rule

Các đề tài tương tự

  1. Sự cố Nhờ mod chuyển giúp bài "Sắp xếp số thứ tự ngay trong bảng của 1 database?" từ MySQL sang MSSQL giúp!
    Gửi bởi hu-xeko trong diễn đàn Ý kiến, đề xuất và khiếu nại
    Trả lời: 1
    Bài viết cuối: 12-03-2012, 07:48 PM
  2. Mới nhập môn khó quá , cần trợ giúp [Vấn đề của bạn cần muốn giúp là gì ?]
    Gửi bởi cuingo212 trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 5
    Bài viết cuối: 22-10-2011, 08:43 AM
  3. Chương trình giúp một học sinh cấp 1 học phép nhân, xử lý hàm rand, giúp mình với?
    Gửi bởi chankx trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 12-05-2009, 08:52 PM
  4. Code giúp add một key vào registry, ai giúp em?
    Gửi bởi olavien trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 5
    Bài viết cuối: 12-12-2007, 08:45 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn