Contents
%%%%%%%%%%%%%%%% % Adam Kantor %% % HW 6 %%%%%%%%% % March 2 2011 % %%%%%%%%%%%%%%%%
Inputs
clc clear all close all dtr = pi/180; rtd = 180/pi; S = 60; H = 20; d = 10; theta_2 = 60*dtr; phi = pi-theta_2;
Solve for r2, r5, theta_5
Guesses
r2 = 20; r5 = 60; theta_5 = 20*dtr; delta = 1+zeros(3); while abs(delta(1))>0.01 || abs(delta(2))>0.01 || abs(delta(3))>0.01 %Calculating Errors e1 = r2*cos(phi)+r5*cos(theta_5)-H; e2 = r2*sin(phi)+r5*sin(theta_5)-(S/2); e3 = -r2+r5-H-d; %Calculating deltas pm = [cos(phi) cos(theta_5) -r5*sin(theta_5);... sin(phi) sin(theta_5) r5*cos(theta_5);... -1 1 0]; em = [-e1; -e2; -e3]; delta = pm\em; %Adding Errors r2 = r2+delta(1); r5 = r5+delta(2); theta_5 = theta_5+delta(3); end
Solving for r3
theta_3 = theta_5; r3 = r2*(sin(theta_2)/sin(theta_3));
Solving for r4, r1, theta_1
B1 = r2*cos(phi)+r3*cos(pi+theta_3); B2 = -r2-r3; OB_x = B1+(B2-B1)/2; C4_x = H+d/2; C4_y = S/3; phi_1 = 160*dtr; theta_5_1 = 30*dtr; delta = 1+zeros(2); % Solving for theta 2 and theta 5 with the new C4 while abs(delta(1))>0.01 || abs(delta(2))>0.01 %Calculating Errors e1 = r2*cos(phi_1)+r5*cos(theta_5_1)-C4_x; e2 = r2*sin(phi_1)+r5*sin(theta_5_1)-C4_y; %Calculating deltas pm = [-r2*sin(phi_1) -r5*sin(theta_5_1);... r2*cos(phi_1) r5*cos(theta_5_1)]; em = [-e1; -e2]; delta = pm\em; %Adding Errors phi_1 = phi_1+delta(1); theta_5_1 = theta_5_1+delta(2); end B3_x = r2*cos(phi_1)+r3*cos(theta_5_1+pi); B3_y = r2*sin(phi_1)+r3*sin(theta_5_1+pi); h = OB_x; a = -(B1^2-B3_x^2-2*B1*h+2*B3_x*h-B3_y^2); b = 2*B3_y; k = a/b; r1 = sqrt(h^2+k^2); theta_1 = atan2(k,h); r4 = sqrt(k^2+(h-B1)^2);
Test plot
x1 = [0 r2*cos(phi) ... r2*cos(phi)+r5*cos(theta_5) ... r2*cos(phi)+r3*cos(pi+theta_5) ... r1*cos(theta_1)]; y1 = [0 r2*sin(phi) ... r2*sin(phi)+r5*sin(theta_5) ... r2*sin(phi)+r3*sin(pi+theta_5) ... r1*sin(theta_1)]; figure(1) plot(x1,y1,'LineWidth',3) axis([-10 35 -10 35]) axis square