Thông báo

Collapse
No announcement yet.

Dùng lệnh solve giải hệ phương trình tuyến tính nhiều ẩn???

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Dùng lệnh solve giải hệ phương trình tuyến tính nhiều ẩn???

    Em đang học môn tính toán số trong Truyền nhiệt. Em cần giải hệ phương trình nhiều ẩn cụ thể như sau:
    T(i,j+1)-T(i,j)=T(i-1,j+1)-2*T(i,j+1)+T(i+1,j+1) (i=1..10;j=1..10)
    T(1,j)=T(-1,j) (j=1..10)
    T(10,j)=0 (j=1..10)
    T(i,0)=100 (i=1..10)
    ở đây T(i,j) là nhiệt độ tại nút(i,j) cũng là 1 ẩn
    Em lên internet search thì biết được mọi người hay đưa về dạng Ax=B để giải x=B/A. Tuy nhiên, em muốn dùng lệnh solve để giải hệ các phương trình trên nhưng syntax của lệnh solve solve(eqn1,eqn2,eqn3,...) (eqn1,eqn2,eqn3... kiểu string-không biết em hiểu vậy có đúng không) như vậy nếu dùng lệnh solve em cần input hơn trăm phương trình =>cách này không khả thi.
    Do đó, em muốn dùng vòng lặp và đưa vào lệnh solve nhưng em gặp một số khó khăn :
    +Làm sao tạo ra được các biến T(i,j) mà matlab hiểu.
    +Sau khi tạo được các biến T(i,j) làm sao để đưa vào lệnh solve hệ các phương trình trên mà chỉ cần dùng lặp nghĩa là không phải nhập hơn trăm phương trình.
    Mong mọi người giúp em trả lời nhưng thắc mắc này. Em rất cám ơn mọi người.

  • #2
    Người ta lập các ma trận A, B là để sử dụng các lệnh giải phương trình trong đại số tuyến tính. Em vào Matlab help, search "MATLAB Linear Algebra Functions" sẽ thấy các lệnh đó.

    Dễ dùng nhất, trong đó có lệnh linsolve để giải hệ phương trình tuyến tính.

    Còn lệnh solve là nằm trong gói "symbolic", phù hợp để giải hệ (nhỏ) phương trình phi tuyến, hầu như không dùng để giải phương trình tuyến tính.

    Khi tạo các ma trận A, B để giải hệ A*T=B, em không phải khai báo biến T.

    Comment

    Về tác giả

    Collapse

    tranhophu Tìm hiểu thêm về tranhophu

    Bài viết mới nhất

    Collapse

    Đang tải...
    X