MATLAB Answers

Info

This question is closed. Reopen it to edit or answer.

Could someone write some code to extract details within a for loop?

1 view (last 30 days)
Steve
Steve on 20 Nov 2019
Closed: MATLAB Answer Bot on 20 Aug 2021
In my previous post, I was given some code that works great, but I need to extract some details that are mentioned within one of the for-loops, namely:
  1. arc lengths
  2. arc radii
  3. starting/ending points of arcs (triplet center points)
  4. thetas (w/ corresponding theta1, theta2 angles) for each arc.
Can anyone help me to extract and store these details (along with index/node numbers) within a single variable/file?
Thanks in advance for your help!

Answers (1)

Catalytic
Catalytic on 21 Nov 2019
Edited: Catalytic on 21 Nov 2019
Something like this....
function stuff=getStuff(tgraph,arcNumber)
AP=tgraph.ArcPoints;
i=arcNumber;
C1=AP(:,1,i); C2=AP(:,4,i);
V1=AP(:,2,i); V2=AP(:,3,i);
L=norm(C2-C1);
U=(C2-C1)/L;
dV1=(V1-C1)/norm(V1-C1);
dV2=(V2-C2)/norm(V2-C2);
stuff.theta1=acosd(dot( dV1, U) );
stuff.theta2=acosd(dot( dV2, -U) );
stuff.theta=(theta1+theta2)/2;
stuff.arcradius=norm(C1-C2)/(2*sind(theta));
stuff.C1=C1;
stuff.C2=C2;
stuff.nodeNumber=findedge(tgraph.Cgraph,i);
end
  7 Comments
Steve
Steve on 23 Nov 2019
By the way Catalytic, thank you for your input. However, I could not get your code/function (shown above) to run, as it was generating errors.

Products


Release

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by