Cách giải hệ phương trình phi tuyến tính trong MATLAB

Cach Giai He Phuong Trinh Phi Tuyen Tinh Trong Matlab



phương trình phi tuyến là các dạng phương trình bám sát đồ thị tạo thành các đường cong và hình phi tuyến tính. Giải một hệ phương trình như vậy là một vấn đề phổ biến mà các kỹ sư và nhà khoa học phải đối mặt. Lý do chính đằng sau việc giải các loại phương trình này là do sự phức tạp của chúng trong việc tìm ra nghiệm chính xác. Bạn có thể tìm thấy nhiều giải pháp hoặc trong một số trường hợp, không có giải pháp nào tồn tại. MATLAB cung cấp cho chúng ta nhiều cách giải hệ phương trình phi tuyến. Một trong số đó là sử dụng tích hợp sẵn fsolve() chức năng.

Hướng dẫn này sẽ hướng dẫn chúng ta cách tính nghiệm của hệ phương trình phi tuyến tính trong MATLAB bằng cách sử dụng fsolve() chức năng.

Làm cách nào để giải hệ phương trình phi tuyến tính trong MATLAB?

Các fsolve() là một hàm có sẵn trong MATLAB dùng để giải một bài toán hệ phương trình phi tuyến với nhiều biến. Nếu số phương trình bằng số ẩn số thì nghiệm của hệ phương trình phi tuyến sẽ là số; nếu không, giải pháp sẽ mang tính tượng trưng theo biến mong muốn. Mỗi biến trong hệ phương trình phi tuyến có thể có một hoặc nhiều giải pháp dựa trên thứ tự của nó.







cú pháp

Các fsolve() hàm tuân theo một cú pháp đơn giản để giải quyết một hệ phương trình phi tuyến trong MATLAB.





x = giải quyết ( vui vẻ, x0 )
x = giải quyết ( vui vẻ,x0,tùy chọn )

Đây:



Chức năng x = fsolves(vui vẻ, x0) giải hệ phương trình phi tuyến bắt đầu từ điểm x0 .











Chức năng x = fsolves(vui vẻ, x0, tùy chọn) giải hệ phương trình phi tuyến bằng các phương pháp tối ưu hóa được chỉ định trong các tùy chọn.

Ghi chú: Các tùy chọn theo mặc định sử dụng Newton Rapson phương pháp tính nghiệm của hệ phương trình phi tuyến. Bạn có thể chỉ định các phương pháp khác, chẳng hạn như vùng tin cậy, Levenberg-Marquardt , và những người khác.



ví dụ

Thực hiện theo các ví dụ đã cho để tìm hiểu cách giải hệ phương trình phi tuyến bằng cách sử dụng fsolve() hàm trong MATLAB.

Ví dụ 1: Giải 2 phương trình phi tuyến trong MATLAB

Ví dụ đã cho trước tiên tạo một hàm do người dùng MATLAB định nghĩa có tên là nonlinear_system chứa hệ hai phương trình phi tuyến.

chức năng F = nonlinear_system ( x )
F ( 1 ) = kinh nghiệm ( câu hỏi ( ( x ( 1 ) +x ( 2 ) ) ) ) - x ( 2 ) * ( 1 + câu hỏi ( x ( 1 ) ) ) ;
F ( 2 ) = x ( 1 ) * không có ( x ( 2 ) ) + x ( 2 ) * cos ( x ( 1 ) ) - 0,1 ;

Bây giờ chúng ta gọi hàm trong một tập lệnh khác để giải hệ phương trình phi tuyến đã xác định bằng cách sử dụng fsolve(vui vẻ, x0) hàm số bắt đầu từ điểm x0 = (0, 0).

vui vẻ = @nonlinear_system;
x0 = [ 0 , 0 ] ;
x = giải quyết ( vui vẻ,x0 )

Ví dụ 2: Giải phương trình phi tuyến bắt đầu từ điểm [-5,5]

Bây giờ xét hệ phương trình đã xác định trong tệp hàm do người dùng định nghĩa nonlinear_system.m và gọi hàm để giải hệ phương trình phi tuyến đó bắt đầu từ điểm x0 = [-5, 5] sử dụng fsolve() chức năng.

vui vẻ = @nonlinear_system;
x0 = [ - 5 , 5 ] ;
x = giải quyết ( vui vẻ, x0 )

Để biết thêm chi tiết, đọc cái này hướng dẫn .

Phần kết luận

Giải một hệ phương trình phi tuyến là bài toán phổ biến nhất trong toán học và kỹ thuật. MATLAB cung cấp cho chúng ta một tích hợp sẵn fsolve() hàm cho phép chúng ta giải một hệ phương trình phi tuyến tính. Hướng dẫn này đã trình bày những điều cơ bản về giải các hệ phương trình phi tuyến tính sẽ giúp những người mới bắt đầu hiểu được hoạt động của fsolve() hàm trong MATLAB.