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).