View Single Post
Old 03-01-2008, 03:22 PM   #2
picvendor
Super Moderator
 
Tham gia ngày: Jun 2005
Bài gửi: 385
:
Hình như cú pháp hàm F của bạn viết sai:

Trích:
F=[ x+l2-l3*sin(q(1)+q(2)-q(3))-l0*cos(q(1)+q(2))+l1*cos(q(2))];
[ fx +l3*sin(q(1)+q(2)-q(3))+l0*sin(q(1)+q(2))-l1*sin(q(2))];
[ a-cos(q(1)+q(2)-q(3))];
Viết kiểu này nghĩa là 2 dòng dưới không có giá trị gì. Hàm F ở đây được gán là một vector có cùng số cột với x: F=[ x+l2-l3*sin(q(1)+q(2)-q(3))-l0*cos(q(1)+q(2))+l1*cos(q(2))];

Như vậy lệnh fsolve giải bài toán là một hệ chừng 100 phương trình, với chỉ có 3 ẩn số -> rất dễ rơi vào tình huống vô nghiệm.
---

Tôi đoán bạn đang giải bài toán kiểu:
F = [F1; F2; F3] trong đó F1, F2, F3 đều là số scalar.

Nhưng vì trong function vd1, ngay từ đầu bạn quy định x=-10:0.1:10 nên nó đã là 1 vector, làm cho F1 biến thành vector.

Giờ bạn cần tránh việc đặt x là 1 vector trong function vd1, hoặc làm sao đó để F1, F2, F3 không còn là vector (tùy vào yêu cầu bài toán của bạn).
__________________
Cách tìm link DOI để yêu cầu bài báo ở Sciencedirect: http://www.picvietnam.com/forum/show...&postcount=682
Cách tìm link DOI để yêu cầu bài báo ở IEEE: http://www.picvietnam.com/forum/show...&postcount=760
Cuộc thi thiết kế PIC (tạm ngưng): http://www.picvietnam.com/contest
picvendor vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn