I have a code that runs a function within a while loop until the output of that variable reaches a size of [i,m] where i is my constraint. I need to run the while loop for 3 different constraint variables and need to obtain 3 different output variables. My solution was to copy paste the code 3 times and edit the while loop so it outputs a different variable for each constraint. here is the code:
p2=0;np=2;while i<np p2=p2+.0001; pose=planarfkp(5,0,6,3*sqrt(2),3,pi/4,5,p2,3,0); [i,m]=size(pose); p2low2=p2;endp2=0;np=4;while i<np p2=p2+.0001; pose=planarfkp(5,0,6,3*sqrt(2),3,pi/4,5,p2,3,0); [i,m]=size(pose); p2low4=p2;endp2=0;np=6;while i<np p2=p2+.0001; pose=planarfkp(5,0,6,3*sqrt(2),3,pi/4,5,p2,3,0); [i,m]=size(pose); p2low6=p2;end
I did try to create a vector that contained the values for mp and then put the while loop inside a for loop that indexed the values from that vector and it worked and returned one value I needed but it didnt save all of the output variables i need for each variable constraint. I wrote that like this:
clear allp2=0;npv=[2 4 6];for j = 1:3 np=npv(j); while i<np p2=p2+.0001; pose=planarfkp(5,0,6,3*sqrt(2),3,pi/4,5,p2,3,0); [i,m]=size(pose); p2out=p2; endend
The end product I am trying to find is a 2×3 matrix that looks like
Also, if didn't you notice the whole goal is to find for what values of p2 the size(pose) changes. I am trying to find the intervals for the values of p2 that change the size(pose). The planarfkp function is for a 2d stewart platform kinematic forward problem. All of the other constraints remain constant while p2 varies and the function outputs the configurations of the stewart platform. There is an interval of p2 where there are 0 configurations, another that has 2, and then 4, and then 6. My elementary solution was just to step p2 up from 0 by 0.0001 but I am sure there is a better way to write this as well.
Best Answer