Info

此问题已关闭。 请重新打开它进行编辑或回答。

Operands to the || and && operators must be convertible to logical scalar values. What is the error?

1 次查看(过去 30 天)
Hi All, I am writing a following code and I am getting an error. Here is code
s=12/100;
h=1.2/100;
l2=3/100;l3=10/100;l4=6/100;
theta2=ones(1,361,'double');
theta3=ones(1,361,'double');
theta4=ones(1,361,'double');
for i=1:length(theta2)
theta2(i)=(i-1)*pi/180;
theta3(i)=120*pi/180;
theta4(i)=45*pi/180;
end
J1=ones(2,2,'double');
f1=ones(2,1,'double');
norm=1;num=1;
dtheta=zeros(1,2);
for i=1:361
it=1;norm=1;
while norm>0.01 && it<100
J1=[-l3*sin(theta3(i)),l4*sin(theta4(i));l3*cos(theta3(i)),-l4*cos(theta4(i))];
f1=-[s-l4*cos(theta4)+l3*cos(theta3)+l2*cos(theta2);h-l4*sin(theta4)+l3*sin(theta3)+l2*sin(theta2)];
dtheta=inv(J1)*f1;
theta3=dtheta(1,:)+theta3(i);
theta4=dtheta(2,:)+theta4(i);
norm=sqrt(dtheta(1,:).^2+dtheta(2,:).^2);
it=it+1;
end
end
Please help.

回答(1 个)

Azzi Abdelmalek
Azzi Abdelmalek 2014-4-18
Use
while norm>0.01 & it<100
norm is a vector, what norm>0.01 means?
  2 个评论
Sandip More
Sandip More 2014-4-18
Norm is a magnitude of a vector and it is a measure of error in my problem. If I use & which is for a scalar, I don't get the expected results and some wired results appeared on screen.

此问题已关闭。

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by