Cho mình xin code giải phương trình bậc n bằng ngôn ngữ C ?

Nội dung:tìm nghiệm gần đúng của phương trình bâc n bằng phương pháp newton.
ngôn ngữ :c/c++
 |  Xem: 4.014  |  Trả lời: 5
Ngày gửi: 14/06/2009 - 23:30  |  Câu hỏi liên quan
Trả lời

Danh sách trả lời (5)

Chương trình giải phương trình bậc n bất kỳ

Có nhiều người ,đặc biệt là các bạn sinh viên, học sinh rất quan tâm đến vấn đề này. Đó là làm thế nào có thể giải được một phương trình bậc cao với nghiệm không chẵn một chút nào ?

Tôi đã cố công viết một phần mềm sử dụng ngôn ngữ C để giải quyết vấn đề đó.

Đấy là một chương trình có thể giải một phương trình bâc n bất kỳ (<1000, có thể tăng lên nếu muốn), tìm ra được tất cả các nghiệm thực của phương trình đó.

Tuy nhiên, do em mới là sinh viên năm thứ nhất khoa CNTT nên chương trình vẫn còn những điểm hạn chế ví dụ như là tốc đọ xử lý còn chưa nhanh.

Nếu ai có nhu cầu muốn dùng thử cho biết thì em xin mời moi người download tại địa chỉ sau : http://www.mediafire.com/download.php?m3zmvm4mjmm


Thuật toán cảu mình là sử dụng phương pháp Newton, hay còn gọi là phương pháp lặp nghiệm.

Thế này nhé, công thức lặp nghiệm như sau: x = x - f(x)/f '(x)
Đầu tiên mình khởi tạo 1 giá trị cho biến x, rồi lặp đi lặp lại. Nếu PT có nghiệm thì x sẽ hội tụ đến Xo(nghiệm), còn nếu không có nghiệm (thực) thì sẽ phân kỳ.

Chứng minh công thức trên rất đơn giản như sau:
f '(xo)=lim((f(x)-f(xo))/(x-xo))
=> f '(xo)---> (f(x)-f(xo)/(x-xo))
Nếu xo là nghiệm thì f(xo)=0
=> f '(xo)---> f(x)/(x-xo)
=> f(x)/f '(xo) ---> x-xo
=> x - f(x)/f '(xo) ---> xo(nghiệm đấy)
Thế là xong về thuật giải nhé.
Nhưng mà để hoàn thiện chương trình này thì quan trọng nhất không phải là thuật giải mà là về kỹ thuật xử lý nghiệm, về sai số... Trước đây mình làm và coi trọng phần thuật giải nhất, cứ ngỡ là đúng thế nhưng chỉ đúng với 1 số bộ phận PT thôi (PT có nghiệm ra đẹp hoặc là những PT có nghiệm ra cách xa nhau khoảng >0.5). Sau đó mình phải chỉnh sửa liên tục những phần có liên quan đến phần sai số này mới hoàn thiện được nó như bây giờ.
Ngày gửi: 15/06/2009 - 14:39
Thế nhưng làm sao bạn có thể soát hết tất cả các khoảng cách ly nghiệm của PT ? Ý mình là , nếu trong lúc rà soát , ta lỡ bỏ qua khoảng cách ly nghiệm nào đó thì sao ?
Ngày gửi: 28/11/2009 - 11:04

cho minh xin code giai phuong trinh bac n bang ngon ngu c?

Ngày gửi: 21/04/2010 - 14:43

cho minh xin code cua lap trinh giai phuong trinh tim nghiem gan dung cua phuong trinh bat le?

Ngày gửi: 21/04/2010 - 15:00

Để có thể có kiến thữ vững vàng về LT C các bạn nên tham khảo 2 cuốn sách sau của NXB Giáo dục:

 

Giáo trình Tin Đại cương (Với C), ủa tác giả Tô Văn Nam

Bài tập Tin Đại cương(Với C) của tác giả Tô Văn Nam, NXB Giáo dục;

Các bạn có thể tìm được ở:

Tại Hà nội 25 Hàn Thuyên,187b Giảng võ, 232 Tây sơn, 23 Tràng tiền,...

Tại Đà nẵng 15 Nguyễn Chí Thanh, 62 Nguyễn Chí Thanh,...

Tại TP HCM 451b HBT Quận33, 240 Trần Bình Trọng Quận 5,...

Tại Cần Thơ s00s 5/5 Đường 30/4,....

......

Chúc thành công

Ngày gửi: 11/07/2010 - 16:49
Trả lời

Đang được quan tâm nhất

Những thành viên tích cực trong tháng
(2 lượt cảm ơn)
(2 lượt cảm ơn)
(1 lượt cảm ơn)
(4 lượt cảm ơn)
(1 lượt cảm ơn)
(1 lượt cảm ơn)
Quảng cáo
Cucre_hn