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

Đề tài: Giải thuật tính căn bậc 2 của a

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

    Angry Giải thuật tính căn bậc 2 của a

    Chào các bạn,

    Để tính căn bậc 2 của 1 số dương a ( tổnq quát căn bậc n ), ta phải xây dựng một chuỗi ( toán học ) mà chuỗi này hội tụ về căn bậc 2 của a. Sau đó lặp hữu hạn 1 số lần để được kết quả với độ chính xác nào đó chấp nhận được. Sau day la chuong trinh trong C de thuật tính căn bậc 2 cua 2 voi độ chính xác 0.00000001 chỉ bằng các phép toán +, - , *, / mà thôi.


    Code:
    ////////////////////////////////////////////////////////////////////////
    // Square root of 2 by Nguyen Van Noi
    // Email : nvnoi76@yahoo.com
    ///////////////////////////////////////////////////////////////////////
    
    #include <stdio.h>
    double myabs(double x)
    {
    	return ((x>=0)?x:(-x));
    }
    void main()
    {
    	double a=2.0, xo, xn=1, e=1e-8;
    	do
    	{
    	   xo=xn;
    	   xn=(a/xo+xo)/2.0;
    	}
    	while (myabs(xn-xo)>e);
    	printf("Can bac 2 cua 2 = %1.8f\n",xn);
    }
    
    
    /////////////////////////////////////////////////////////////////////////
    Kết quả chạy ra nhu sau:

    Can bac 2 cua 2 = 1.41421356

    http://forums.congdongcviet.com/show...ghlight=taylor

    ----------------------------------------
    Nguyễn Văn Nối - nvnoi76@yahoo.com

  2. #2
    Ngày gia nhập
    12 2007
    Bài viết
    224

    Bạn có thể giải thích từng dòng lệnh được ko àh . Mình ko hiểu lắm .

  3. #3
    Ngày gia nhập
    09 2007
    Bài viết
    2

    Xây dựng dãy x(n) như sau:

    x(0)= 1
    x(n) = (a/x(n-1) +x(n-1))/2

    Ban có thể chứng minh dãy x(n) hội tụ về căn bậc 2 của a.

    Căn cứ vào kết quả này để viết chương trình như trên.
    Bạn có thể chạy chương trình từng bước để hiểu vấn đề.

    Nguyen Van Noi - DHTG
    Email : nvnoi76@yahoo.com

  4. #4
    Ngày gia nhập
    10 2007
    Nơi ở
    HCM
    Bài viết
    46

    Trích dẫn Nguyên bản được gửi bởi nvnoi76
    Xây dựng dãy x(n) như sau:
    x(0)= 1
    x(n) = (a/x(n-1) +x(n-1))/2
    cái dãy này là do bạn tìm ra hả, hay thật đấy.

  5. #5
    Ngày gia nhập
    12 2007
    Nơi ở
    giữa thiên đường và địa ngục
    Bài viết
    91

    Trích dẫn Nguyên bản được gửi bởi halohcm Xem bài viết
    cái dãy này là do bạn tìm ra hả, hay thật đấy.
    bạn halohcm ah,cái này mình nhớ không nhầm thì lúc học giải tích 2 bọn mình có được học mà.(đúng không nhỉ?????? nhớ là cô Loan có nói về cái nay mà)
    Tinh Quái,

    Vâng, là Chjp Xinh. Đanh đá và điêu ngoa
    .

  6. #6
    Ngày gia nhập
    07 2006
    Nơi ở
    Hà nội
    Bài viết
    204

    Mặc định Giải thuật tính căn bậc 2 của a

    Cái này trong sách tin lớp 11 đấy
    Life:\> dir

  7. #7
    Ngày gia nhập
    02 2008
    Bài viết
    66

    Cái này là ứng dụng giới hạn (lim) để tìm giá trị gần đúng.
    Lim đặc biệt ứng dụng nhiều trong tìm giá trị gần đúng còn phải ứng dụng nó nhiều.

  8. #8
    No Avatar
    C#Novice Khách

    Bài này là trường hợp riêng của phương pháp Newton. Muốn tìm nghiệm gần đúng của phương trình f(x)=0 thì xét dãy: x(n+1)=x(n)-f (x(n))/f '(x(n)).

  9. #9
    Ngày gia nhập
    10 2007
    Nơi ở
    Gameloft studio
    Bài viết
    175

    Chắc bạn áp dụng môn toán cao cấp để sử dụng vào thuật toán trên. Trong toán cao cấp đều có rất nhiều công thức toán học gần đúng với sai số nhỏ, như vậy ta có thể tính được đúng không bạn?
    Không biết ghi gì luôn ...

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

  1. TP HCM [Có trả phí][VC++] Cần tìm người hướng dẫn môn THUẬT GIẢI ( DFS,BFS,...) ( căn bản )
    Gửi bởi KytoSai trong diễn đàn Việc làm IT(tự do)
    Trả lời: 3
    Bài viết cuối: 26-12-2013, 11:13 AM
  2. Ebook Cấu Trúc Dữ Liệu Giải Thuật Căn Bản Dễ Hiểu
    Gửi bởi AlexF trong diễn đàn Tài liệu, ebooks và công cụ
    Trả lời: 6
    Bài viết cuối: 10-10-2012, 10:46 PM

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