Only the final iteration in the loop is saved. How to save all the iterations ? * Note: all are displayed, but not saved except the last *
조회 수: 3 (최근 30일)
이전 댓글 표시
Xstart = 100;
Ystart = 0;
Zstart = 10;
Xend = 200;
Yend = 0;
Zend = 10;
Resolution = 100;
%% Equations
DeltaX = (Xend-Xstart)/Resolution;
DeltaY = (Yend-Ystart)/Resolution;
DeltaZ = (Zend-Zstart)/Resolution;
%% Calling Inverse Kinematics to Loop through each point of the line
for i = 1:Resolution
%% calculating actual point
X = Xstart + (DeltaX * i);
Y = Ystart + (DeltaY * i);
Z = Zstart + (DeltaZ * i);
Angles = IKin(X,Y,Z); % Calling inverse function
disp('Angles :'), disp(Angles)
writematrix(Angles,'Angles.xls')
%% calculating past points
A(1,i) = X;
B(1,i) = Y;
C(1,i) = Z;
end
%% Plot
figure
axis square
plot3(A,B,C,'bp-','lineWidth',1,'MarkerSize',3,'MarkerEdge','g','MarkerFace','y')
grid on; hold on;
plot3(Xstart,Ystart,Zstart,'g.', Xend,Yend,Zend ,'r.','MarkerSize',16)
xlabel('X Axis'); ylabel('Y Axis');zlabel('Z Axis');
title('Linear Motion')
댓글 수: 0
채택된 답변
Cris LaPierre
2021년 10월 18일
You need to use indexing to assign your angles to a different element of Angles each loop. Right now, you overwrite Angles every time. Basically, do the same thing you are already doing with your variables A, B, and C.
댓글 수: 5
Cris LaPierre
2021년 10월 19일
편집: Cris LaPierre
2021년 10월 19일
You tell it whether to place the data from each loop in a column or a row. Think about your indexing.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!