Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 9 của 9
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    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.


    Mã:
    ////////////////////////////////////////////////////////////////////////
    // 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
    ",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 tham gia
    Sep 2015
    Bài viết
    0
    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 tham gia
    Sep 2015
    Bài viết
    0
    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 tham gia
    Sep 2015
    Bài viết
    0
    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.

  5. #5
    Trích dẫn 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.

  6. #6
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi halohcm
    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à)

  7. #7
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Cái này trong sách tin lớp 11 đấy [IMG]images/smilies/smile.png[/IMG]

  8. #8
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    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 tham gia
    Sep 2015
    Bài viết
    0
    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?

 

 

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
  •