Greetings,
I'm trying to make a position analysis of a mechanism via Newton-Raphson algorithm and when I constructed my model matrixes, I have this error "Index exceeds the number of array elements (1)" and I couldn't decide how to reduce my index. Could that error occurs because of that I'm missing something while giving the parameters? Whole model is given below:
clc, clear all;%initiating physical parameters
a2=29;a3=15;a4=16;a5=27;a6=25;th4=332*pi/180;thd=240*pi/180;%initiating max iteration
Nmax=100;%initiating guess values for th3, th5, th6, to
x=[14*pi/180,59*pi/180,323*pi/180,32];%initiate error tolerance
xe=0.001*abs(x);%initiating system inputs
dth=5*pi/180;th2=-30*pi/180:dth:30*pi/180;w2=35*ones(1,length(th2));al2=0*ones(1,length(th2));%-------------------------
xe=transpose(abs(xe));kerr=1;for k=1:1:length(th2); for n=1:Nmax %-------------------
%assign initial gues to unknowns
th3(k)=x(1);th5=x(2); th6=x(3);to=x(4); %jacobian matrix
J=zeros(4,4) J(1,1)=-a3*sin(th3(k));J(2,1)=a3*cos(th3(k)); J(3,2)=-a5*sin(th5(k)); J(3,3)=-a6*sin(th6(k)); J(3,4)=-1; J(4,2)=a5*cos(th5(k));J(4,3)=a6*cos(th6(k)); %INPUT: FUNCTIONS
f=zeros(4,1); f(1,1)=(a2*cos(th2(k))+a3*cos(th3(k))+a4*cos(th4)+a5*cos(thd)-43); f(2,1)=(a2*sin(th2(k))+a3*sin(th3(k))+a4*sin(th4)+a5*sin(thd)+31); f(3,1)=(a5*cos(th5(k))+a6*cos(th6(k))-to(k)); f(4,1)=(a5*sin(th5(k))+a6*sin(th6(k))-12); %----------------
eps=inv(J)*f;x=x+transpose(eps); if abs(eps)<xe kerr=0;break end end if kerr==1 'Error nr' end th3(k)=x(1);th5(k)=x(2); th6(k)=x(3);to(k)=x(4) end
thank you for answers.
Best Answer