an engineer's guide to matlab,edward,2nd,[solution]by hamed .pdf

48
 

Upload: shoaibstar9

Post on 30-Oct-2015

125 views

Category:

Documents


0 download

TRANSCRIPT

7/15/2019 An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

http://slidepdf.com/reader/full/an-engineers-guide-to-matlabedward2ndsolutionby-hamed-pdf 1/48

 

7/15/2019 An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

http://slidepdf.com/reader/full/an-engineers-guide-to-matlabedward2ndsolutionby-hamed-pdf 2/48

 

Success isn’t a matter of being the best & winning the

 race. Success is a matter of handling the worst & still 

 finishing the race.

As you know I am a student of this faculty and it’s my first course in

MATLAB.I have no permission to authorship a book due to my low educational

degree. With respect to these points, please do not consider this present aseducational textbook. I take no responsibility against wrong solution (if any) of 

problems.

Hamed Parsa

Junior student of 

E.E.E. departmentMarch 2010

Email: [email protected]

7/15/2019 An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

http://slidepdf.com/reader/full/an-engineers-guide-to-matlabedward2ndsolutionby-hamed-pdf 3/48

 

Chapter 1  Chapter 1  Chapter 1  Chapter 1  

7/15/2019 An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

http://slidepdf.com/reader/full/an-engineers-guide-to-matlabedward2ndsolutionby-hamed-pdf 4/48

 

>> r=2.5;

>> I=(pi/8-8/(9*pi))*r^4

>> c=5;

>> k=(4*c-1)/(4*c-4)+0.615/c

>> B=0.6;>> K=3/(1-B)^3*(0.5-2*B+B*(1.5-log(B)))

Homework Problems not solved.

>> A=1.7;B=1.2;

>> D=1.265*((A*B)^3/(A+B))^(1/5)

>> n=6;M=1/sin(pi/n);h=(1+M^2)/(4*M);

>> alpha=acos(sqrt(h^2+2)-h);

>> answer=M*(1-M^2)*sin(alpha)/(1+M^2-2*M*cos(alpha))^2

>> L=3000;d=45;V=1600;

>> p=0.03*L/d^1.24*(V/1000)^1.84

7/15/2019 An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

http://slidepdf.com/reader/full/an-engineers-guide-to-matlabedward2ndsolutionby-hamed-pdf 5/48

 

>> v=0.3;E=3e+7;d1=1.5;d2=2.75;F=100;z =0.01

>> a=(3*F/8*2*((1-v^2)/E)/(1/d1+1/d2))^(1/3);

>> pmax=3*F/(2*pi*a^2);>> Qz=-pmax/(1+z^2/a^2)>> Qx=-pmax*((1-z/a*atan(a/z))*(1-v)-0.5*(1+z^2/a^2)^-1)

>> v=0.3;E=3e+7;d1=1.5;d2=2.75;F=100;L=2;z=0.001;

>> b=sqrt(2*F/(pi*L)*2*((1-v^2)/E)/(1/d1+1/d2));h=(1+z^2/b^2);

>> pmax=2*F/(pi*b*L);

>> Qz=-pmax/sqrt(h);

>> Qy=-pmax*((2-1/h)*sqrt(h)-2*z/b);

>> Qx=-2*v*pmax*(sqrt(h)-z/b);

>> Tyz=0.5*(Qy-Qz);

>> e=0.8;a=(1-e^2);

>> NL=pi*e*sqrt(pi^2*(a)+16*e^2)/a^2

>> h=1.25; d0=0.25; d1=0.625; E=3e+7; d2=d1+h*tan(pi/6);

>> y=log((d2-d0)*(d1+d0)/((d2+d0)*(d1-d0)));

>> k=pi*E*d0*tan(pi/6)/y

>> alpha=1.2e-5;E=3e+7;v=0.3;Ta=500;Tb=300;a=0.25;b=0.5;r=0.375;

>> Tc=Ta-Tb; c=log(b/a); d=log(b/r); k=a^2/(b^2-a^2);

>> T=Tb+Tc*d/c; h=alpha*E*Tc/(2*(1-v)*c);

>> Qt=h*(1-k*(b^2/r^2+1)*c-d);

>> Qr=h*(k*(b^2/r^2-1)*c-d);

7/15/2019 An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

http://slidepdf.com/reader/full/an-engineers-guide-to-matlabedward2ndsolutionby-hamed-pdf 6/48

 

>> p=0.3;k=1.4; % pe/po=p 

>> Y=sqrt(k/(k-1)*(p^(2/k)-p^((k+1)/k)))

>> x=0.45;y=sqrt(16*x^2+1);

>> K=1.2/x*(y+1/(4*x)*log(y+4*x))^(-2/3)

>> n1=0; n2=1;

>>Pi1=(sqrt(8)/9801*gamma(4*n1+1)*(1103+26390*n1)/(gamma(n1+1)^4*396^(4*n1)))^(-1);

>>Pi2=(1/Pi1+(sqrt(8)/9801*gamma(4*n2+1)*(1103+26390*n2)/(gamma

(n2+1)^4*396^(4*n2))))^-1;

>> % These two statement cannot be broken up as shown. They have beenpresented in two lines because of page width restrictions.

>> pi-Pi1 %show the approximation of pi with a different less than 10^-7

ans =

-7.64235e-008>> pi-Pi2 %show the approximatoin of pi with a different less than 10^-15 

ans =

-4.44089e-016

>> k=1.4; r=10; rc=3;

>> eta=1-1/r^(k-1)*(rc^k-1)/(k*(rc-1))

>> k=1.4 ; M=2 ; %A/A*=X

>> X=1/M*(2/(k+1)*(1+(k-1)/2*M^2))̂ ((k+1)/(2*(k-1)))

7/15/2019 An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

http://slidepdf.com/reader/full/an-engineers-guide-to-matlabedward2ndsolutionby-hamed-pdf 7/48

 

Chapter 2  Chapter 2  Chapter 2  Chapter 2   

7/15/2019 An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

http://slidepdf.com/reader/full/an-engineers-guide-to-matlabedward2ndsolutionby-hamed-pdf 8/48

 

>> a=-1:2:13;b=1:2:15;

>>a+b; %part a) >>a-b; %part b) 

>>a'*b ; det(a'*b); %part c) 

>>a*b'; %part d) 

>> x=[17 -3 -47 5 29 -37 51 -7 19]; a=sort(x);>> b=sort(a(1:4),'descend');c=sort(a(5:9),'descend'); y=[b c];>> %we can use fliplr function too.

>> b=fliplr(a(1:4));c=fliplr(a(5:9)); y=[b c];

>> y=[0 -0.2 0.4 -0.6 0.8 -1.0 -1.2 -1.4 1.6];

>> z=sin(y);h=sort(z)h =

-0.985 -0.932 -0.841 -0.564 -0.198 0 0.389 0.717 0.999>> a = min(h(1:5)); b = max(h(1:5)); %part a) >> c=sqrt(h(6:9)); %part b) 

>> x=logspace( log10(6) , log10(106) , 8);

>> y=x(5); %part a) >> h=[x(1) x(3) x(5) x(7)]; %part b) 

7/15/2019 An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

http://slidepdf.com/reader/full/an-engineers-guide-to-matlabedward2ndsolutionby-hamed-pdf 9/48

 

>> z=magic(5);

>> z(: , 2)=z(: , 2)/sqrt(3); % part a) I >> z(5 , :)=z(3 , :) + z(5 , :); % part a) II >> z(: , 1)=z(: , 1) .* z(: , 4); % part a)III 

>> q=z-diag(diag(z))+diag([2 2 2 2 2]); % part a) IV 

>> diag(q*q'); % part b)

>> c=q.^2; % part c) 

>> max(max(c)); min(min(c)); % part d) 

>> w=magic(2);

>> a=repmat(w, 2, 2); % part a) 

>> b=repmat(w, 3, 1); % part b) >> c=repmat([w w'], 3 ,1); % part c) 

>> da=[w w ;w w];db=[w ;w ;w];dc=[w w';w w';w w']; % part d) 

>> x=magic(3);

>> new=[x(2,:) ; x(3,:) ; x(1,:)]; % part a 

>> new=[x(:,3) , x(:,1) , x(:,2)]; % part b

>> a=1;b=1.5;e=0.3;phi=0:360;

>> s=a*cosd(phi)+sqrt(b^2-(a*sind(phi)-e).^2);>> plot(phi,s)

7/15/2019 An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

http://slidepdf.com/reader/full/an-engineers-guide-to-matlabedward2ndsolutionby-hamed-pdf 10/48

 

>> t=1/sqrt(19);Pt=4.3589;n=linspace(2,25,300); %to/T=t

>> Po=1+2*cumsum(sin(n*pi*t).^2./(n*pi*t).^2);

>> plot(n,Po)

7/15/2019 An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

http://slidepdf.com/reader/full/an-engineers-guide-to-matlabedward2ndsolutionby-hamed-pdf 11/48

 

>> x=1:0.5:5;

>> n=1:100;>> [xx,nn]=meshgrid(x,n);

>> sn=prod(1-xx.^2./(nn.^2-2.8));

>> sj=a./(sin(pi*a)*sqrt(a^2+x.^2)).*sin(pi*sqrt(a^2+x.^2));>> en=100*(sn-sj)./sj;

>> x=[72 82 97 113 117 126 127 127139154 159 199 207];

>> B=3.644;

>> Delta=(1/length(x))*sum(x.^B)

Delta =3.0946e+028

7/15/2019 An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

http://slidepdf.com/reader/full/an-engineers-guide-to-matlabedward2ndsolutionby-hamed-pdf 12/48

 

>> phi=linspace(0,90,10);theta=linspace(0,360,24);b=2;

>> [theta2,phi2]=meshgrid(theta,phi);>> x=b*sind(phi2).*cosd(theta2);

>> y=b*sind(phi2).*sind(theta2);>> z=b*cosd(phi2);

>> mesh(x,y,z);

>>% The result after using the rotate icon in the figure window. 

>> x=linspace(0.1,1,5); y=pi*x*sqrt(2); n=0:25;>> t=2*pi^4./y.^3.*(sinh(y)+sin(y))./(cosh(y)-cos(y));

>> [xx,nn]=meshgrid(x,n);

>> S= sum(1./(nn.^4+xx.^4));>> compare=[t' S' (t-S)'];

7/15/2019 An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

http://slidepdf.com/reader/full/an-engineers-guide-to-matlabedward2ndsolutionby-hamed-pdf 13/48

 

>> x=[1 2 3 4 5 6]; k=0:25;n=2;

>> [xx,kk]=meshgrid(x,k);>> p=sum((-1).^kk.*(xx/2).^(2.*kk+n)./(gamma(kk+1).*gamma(kk+n+1)));

>> besselj(2,x);>> r=besselj(2,x);

>> compare=[p' r']

>> k=1:13;n=7;

>> s=sum(cos(k*pi/n))

>> w=0.5*[-1 -1; 1 -1;-1 1; 1 1]; q=0.5*[1 -1 -1 1; 1 1 -1 -1; 1 -1 1 -1; 1 1 1 1];>> I1=w'*w; I2=q'*q;

>>e=pi/6;a1=1;a2=2; a3=3;>>A1=[cos(e) -sin(e) 0 a1*cos(e);sin(e) cos(e) 0 a1*sin(e);0 0 1 0;0 0 0 1];>>A2=[cos(e) -sin(e) 0 a2*cos(e);sin(e) cos(e) 0 a2*sin(e);0 0 1 0;0 0 0 1];

>>A3=[cos(e) -sin(e) 0 a3*cos(e);sin(e) cos(e) 0 a3*sin(e);0 0 1 0;0 0 0 1];>>T3=A1*A2*A3;

>>qx=T3(1,4);qy=T3(2,4);

>>%For finding orientation with respect to Fig2.8 orientation of X3 is%arctan(uy/ux) and orientation of Y3 is arctan(vy/vx) 

>>X3=atand(t(2,1)/t(1,1))

X3 =90.0

>>Y3=atand(t(2,2)/t(1,2))Y3 =

0.00>>%They are parallel to Y0 and X0 axes respectively. 

>> X= [17 31 5; 6 5 4; 19 28 9; 12 11 10];

7/15/2019 An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

http://slidepdf.com/reader/full/an-engineers-guide-to-matlabedward2ndsolutionby-hamed-pdf 14/48

 

>> H=X*inv(X'*X)*X';>> diag(H)

Part a)>> n=1:2:399; t=linspace(-0.5,0.5,200);

>> u= sin(2*pi*n'*t);

>> fa=4/pi*cumsum(1./n*u);>> plot(t,fa)

part b)

>> n= 1:200; t=linspace(-1,1,200);

>> u= sin(2*pi*n'*t);

>> fb=1/2+1/pi*cumsum(1./n*u);>> plot(t,fb)

part c)

>> n= 1:200; t=linspace(-1,1,200);>> u= sin(2*pi*n'*t);

>> fb=1/2-1/pi*cumsum(1./n*u);

>> plot(t,fb)

part d)

>> n= 1:200; t=linspace(-1,1,200);

>> u= cos((2*n-1)'*pi*t);>> fd=pi/2-4/pi*cumsum(1./(2*n-1).^2*u);

>> plot(t,fd)

part e)>> n= 1:200; t=linspace(-1,1,200);

>> u= cos(2*n'*pi*t);>> fe=2/pi+4/pi*cumsum(1./(1-4*n.^2)*u);

>> plot(t,fe)

7/15/2019 An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

http://slidepdf.com/reader/full/an-engineers-guide-to-matlabedward2ndsolutionby-hamed-pdf 15/48

 

part f)>> n=2:2:106;t=linspace(-2,2,200);

>> ff=1/pi+1/2* sin(pi*t)-2/pi*cumsum(1./(n.^2-1)*cos(pi*n'*t));>> plot(t,ff)

part g)>> n=1:250;t=linspace(0,4*pi,350);

>> u1=1./(1+n.̂ 2)*cos(n'*t);>> u2=n./(1+n.̂ 2)*sin(n'*t);

>> fg=(exp(2*pi)-1)/pi*(1/2+cumsum(u1-u2));

>> plot(t,fg)

part h)

>> a=0.25;n=1:2:105;t=linspace(2,-2,200);>> fh=4/a^2*cumsum(sin(n*pi*a)./(pi*n).^2*sin(n'*pi*t));

>> plot(t,fh)

>> n=1:25;a=sqrt(3);theta=(10:10:80)*pi/180;

>> S1n=1./(n.^2+a^2)*cos(n'*e);

>> S1inf=pi*cosh(a*(pi-e))/(2*a*sinh(pi*a))-1/(2*a^2);>> S2n=n./(n.^2+a^2)*sin(n'*e);>> S2inf=pi*sinh(a*(pi-e))/(2*sinh(pi*a));

>> e1=100*((S1n-S1inf)./S1inf)

>> e2=100*((S2n-S2inf)./S2inf)

>> eta=0:1/14:1;E=0:1/14:1;n=1:2:length(E);a=2;

>> u1=1./(n.*sinh(n*pi*2)); u2=sinh(n'*eta*pi*2); u3=sin(pi*n'*E);>> [eta1,u11]=meshgrid(eta,u1);

>> T=(u11.*u2)'*u3;>> mesh(E,eta,T)

7/15/2019 An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

http://slidepdf.com/reader/full/an-engineers-guide-to-matlabedward2ndsolutionby-hamed-pdf 16/48

 

>> n=1:50;a=0.25;t=0:0.05:2;eta=0:0.05:1;>> u1=sin(n*pi*a)./n.^2;u2=sin(n'*pi*eta);u3=cos(n'*pi*t);

>> [eta1,u11]=meshgrid(eta,u1);

>> c=2/(a*pi*(1-a));

>> u=c*(u11.*u2)'*u3;

>> mesh(t,eta,u)>>% The result after using the rotate icon in the figure window. 

7/15/2019 An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

http://slidepdf.com/reader/full/an-engineers-guide-to-matlabedward2ndsolutionby-hamed-pdf 17/48

 

Homework problems not solved.

7/15/2019 An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

http://slidepdf.com/reader/full/an-engineers-guide-to-matlabedward2ndsolutionby-hamed-pdf 18/48

 

>> v=0.4;E1=3e+5;E2=3.5e+4;Uo=0.01;>> a=0.192;b=0.25;c=0.312;t=1+v;h=1-v;

>> S=[1 a^2 0 01 b^2 -1 -b^2

-t h*b^2 t*E1/E2 -h*b^2*E1/E2

0 0 -t h*c^2]S =

1.0000 0.0369 0 0

1.0000 0.0625 -1.0000 -0.0625-1.4000 0.0375 12.0000 -0.3214

0 0 -1.4000 0.0584

>> y=[0 0 0 -Uo*E2*c];>> w=inv(S)*y';x=w';

>> A1=x(1);B1=x(2);A2=x(3);B2=x(4);

>> Qee1=-A1/b^2+B1;>> Qee2=-A2/b^2+B2;

7/15/2019 An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

http://slidepdf.com/reader/full/an-engineers-guide-to-matlabedward2ndsolutionby-hamed-pdf 19/48

 

Chapter 3  Chapter 3  Chapter 3  Chapter 3  

7/15/2019 An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

http://slidepdf.com/reader/full/an-engineers-guide-to-matlabedward2ndsolutionby-hamed-pdf 20/48

 

>>a=(1+sqrt(5))/2;b=(1-sqrt(5))/2;c=1/sqrt(5);

>>n=0:15;

>>Fn=c*(a.^n-b.^n);>>disp([repmat('F',16,1) num2str(n') repmat(' = ',16,1) num2str(Fn') ]);>>fprintf(1,'F %2.0f = %3.0f\n ',[n ;Fn]);

% To go next line without execution use shift+Enter

>>ft=input('Enter the value of length in feet :');

disp([num2str(ft) ' ft = ' num2str(ft*0.3048) ' m'])

Homework Problem not solved.

>>D=input('Enter a positive integer < 4.5x10^15 : '); % shift+Enterdisp(['The binary representation of ' num2str(D) ' is ' dec2bin(D)] )

z=input('Enter the complex number:'); % shift+Enter 

disp(['The magnitude and phase of ' num2str(z) ' is']); % shift+Enter disp(['Magnitude = ' num2str(abs(z)) ' phase angle = ' 

num2str(angle(z)*180/pi) ' degrees']);

>>%The last ‘disp’ statement cannot be broken up as shown. It has been

presented in two lines because of page width restrictions.

7/15/2019 An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

http://slidepdf.com/reader/full/an-engineers-guide-to-matlabedward2ndsolutionby-hamed-pdf 21/48

 

Chapter 4  Chapter 4  Chapter 4  Chapter 4  

7/15/2019 An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

http://slidepdf.com/reader/full/an-engineers-guide-to-matlabedward2ndsolutionby-hamed-pdf 22/48

 

function y=myexp1(h,a,b)for n=1:length(h);if h(n)>a && h(n)<b;

h(n)=1;

else 

h(n)=0;

end 

end 

disp([h])

end

function myexp2(x)

k=0;

for m=2:length(x)

xn=1/m*sum(x(1:m));

Sn2=1/(m-1)*(sum(x(1:m).^2)-m*(xn).^2);

k=k+1;y(k)=Sn2;

end 

disp(['Sn2 = [' num2str(y) ' ]'])

end 

function myexp3(a,b)

k=1; c=0.5*(b+a/b); %where c=b(n+1) while abs(b-c)>1e-6

k=k+1;

b=0.5*(b+a/b);

c=0.5*(b+a/b);

end 

disp(['n-iteration=' num2str(k)])

7/15/2019 An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

http://slidepdf.com/reader/full/an-engineers-guide-to-matlabedward2ndsolutionby-hamed-pdf 23/48

 

end 

part a)* 

function y=myexp4(x0) 

x0=0:200;

r=x0.^2+0.25;x=0:5:200;

for t=1:(length(x)-1);

y(t)= r(5*t);

end 

y=[r(1) y];

plot(x,y,'ks')

end

part b)

function y=myexp5(x0)

x0=0:200;

r=x0.^2+0.25;

x=0:5:200;y=[];k=0;

while (length(x)-1)~=length(y)k=k+1;

y(k)= r(5*k);

end 

y=[r(1) y];

plot(x,y,'ks')

end 

function chisquare(x,e)

k=0;e=[e 5];x=[x 0];for n=1:length(e)

if e(n)<5

e(n:n+1)=cumsum(e(n:n+1));

7/15/2019 An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

http://slidepdf.com/reader/full/an-engineers-guide-to-matlabedward2ndsolutionby-hamed-pdf 24/48

 

x(n:n+1)=cumsum(x(n:n+1));

else 

k=k+1;

p(k)=n;

end ;end 

h=x(p);u=e(p); %e modified= u and x modified=h if (u(end)-5)<5

u(end)=u(end)-5+u(length(u)-1);

u(length(u)-1)=[];

h(end)= h(length(h)-1)+h(end);

h(length(h)-1)=[];

end 

y=sum((h-u).^2./u);

disp(['e modified = [' num2str(u) '], x modified = [' num2str(h) '], X2=' 

num2str(y) ])end 

>>%Thist ‘disp’ statement cannot be broken up as shown. It has beenpresented in two lines because of page width restrictions. 

function myexp6(p,s)a=length(p) ;b=length(s);

if a>=b

t=s+p(a-b+1:a);

h=[p(1:(a-b)) t]

elseif a<b

t=p+s(b-a+1:b);

h=[s(1:b-a) t]

end end 

Homework problems not solved.

7/15/2019 An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

http://slidepdf.com/reader/full/an-engineers-guide-to-matlabedward2ndsolutionby-hamed-pdf 25/48

 

Chapter  Chapter  Chapter  Chapter 5  55  5  

7/15/2019 An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

http://slidepdf.com/reader/full/an-engineers-guide-to-matlabedward2ndsolutionby-hamed-pdf 26/48

 

>>h=[6 3 2 1.5 1.2 1.1 1.07 1.05 1.03 1.01]; %h=D/d 

>>a=[0.33 0.31 0.29 0.26 0.22 0.24 0.21 0.2 0.18 0.17];>>c=[0.88 0.89 0.91 0.94 0.97 0.95 0.98 0.98 0.98 0.92];

>>%Fifth order polynomial 

>>aa=polyfit(h,a,5);cc=polyfit(h,c,5);

>>%Obtain Orginal Value Of Kt 

>>kt=c.*(h/2-0.5).^(-a);

>>%Compare

>>k1=polyval(cc,h).*(h/2-0.5).^(-polyval(aa,h));

>>k1-k 

ans =

Columns 1 through 6-1.0971e-008 -1.8084e-005 8.9483e-4 -0.011004 0.087181 -0.09516

Columns 7 through 10

-0.059276 -0.060901 0.016685 0.16796

>>%Fit data with a spline

>> n=linspace(1.01,6,100);

>> aa=spline(h,a,n);

>> cc=spline(h,c,n);

>> k=0;

>> for h=[6 3 2 1.5 1.2 1.1 1.07 1.05 1.03 1.01]k=k+1;

a2(k)=interp1(n,aa,h);

c2(k)=interp1(n,cc,h);

end

>>k2=c2.*(h/2-0.5).^(-a2)

>>%Compare 

>>k2-k 

>> -kt+kt2

ans =

0 0.0005 0.0009 -0.0062 0.0101 -0.0271 0.0321 -0.0637 -0.0408 0>>%2

ndmethod (spline) is better.

7/15/2019 An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

http://slidepdf.com/reader/full/an-engineers-guide-to-matlabedward2ndsolutionby-hamed-pdf 27/48

 

>> Qx=100;Qy=-60;Qz=80;Txy=-40;Tyz=50;Tzx=70;

>> C0=Qx*Qy*Qz+2*Txy*Tyz*Tzx-Qx*Tyz^2-Qy*Tzx^2-Qz*Txy^2;

>> C1=Txy^2+Tyz^2+Tzx^2-Qx*Qy-Qy*Qz-Qz*Qx;>> C2=Qx+Qy+Qz;

>> disp([C0 C1 C2])

-844000 11800 120

>> F=inline('Q.^3-120*Q.^2-11800*Q-(-844000)','Q');

>> x=linspace(-100,200,500);

>> plot(x,F(x));

>> Q1=fzero(F,170);Q2=fzero(F,50); Q3=fzero(F,-100);

>> T12=(Q1-Q2)/2;T23=(Q2-Q3)/2;T13=(Q1-Q3)/2;

>> F=inline('tan(x)-x','x');

>> x=linspace(0,15,5000);

>> plot(x,F(x),'k',[0 15],[0 0],'r')

>> axis([0 15 -5 5])

>> r1=fzero(F,[-1 1]);r2=fzero(F,[4.2 4.6]);r3=fzero(F,[7.6 7.8]);

>> r4=fzero(F,[10.85 10.95]);r5=fzero(F,[14 14.1]);

>> disp([r1 r2 r3 r4 r5]);

>> %Part a 

>> H=inline('2*cot(x)-10*x+0.1./x','x');

>> x=linspace(0,15,5000);

>> plot(x,H(x),'k',[0 15],[0 0],'r');

>> axis([0 15 -4 4])

>> r1=fzero(H,[0.4 0.6]);r2=fzero(H,[3.2 3.3]);r3=fzero(H,[6.3 6.4]);>> r4=fzero(H,[9.44 9.46]);r5=fzero(H,[12.57 12.6]);

>> disp([r1 r2 r3 r4 r5]);

>> %Part b 

>> H=inline('2*cot(x)-x+1./x','x');

>> x=linspace(0,15,5000);

7/15/2019 An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

http://slidepdf.com/reader/full/an-engineers-guide-to-matlabedward2ndsolutionby-hamed-pdf 28/48

 

>> plot(x,H(x),'k',[0 15],[0 0],'r');

>> axis([0 15 -4 4])

>> r1=fzero(H,[1 2]);r2=fzero(H,[3.5 4]);r3=fzero(H,[6.5 7]);

>> r4=fzero(H,[9.5 10]);r5=fzero(H,[12.6 13]);

>> disp([r1 r2 r3 r4 r5]);

>> G=inline('besselj(0,x).*bessely(0,2*x)-

besselj(0,2*x).*bessely(0,x)','x');

>> x=linspace(0,20,5000);

>> plot(x,G(x),'k',[0 20],[0 0],'r');

>> r1=fzero(G,[2 4]);r2=fzero(G,[6,8]);r3=fzero(G,[8 10]);

>> r4=fzero(G,[12 14]);r5=fzero(G,[14 16]);

>> disp([r1 r2 r3 r4 r5]);

>> %Mo/mo= m

>> % Case 1 

>> H=inline('0*x.*(cos(x).*sinh(x)-

sin(x).*cosh(x))+cos(x).*cosh(x)+1','x');

>> x=linspace(0,20,5000);

>> plot(x,H(x),'k',[0 20],[0 0],'r');;>> axis([0 20 -20 20])

>> r1=fzero(H,[1 4]);r2=fzero(H,[4,6]);r3=fzero(H,[6 8]);

>> r4=fzero(H,[10 12]);r5=fzero(H,[13 16]);

>> disp([r1 r2 r3 r4 r5])

>> % Case 2 >> H=inline('0.2*x.*(cos(x).*sinh(x)sin(x).*cosh(x))+cos(x).*cosh(x)+1','x');

>> plot(x,H(x),'k',[0 20],[0 0],'r');

>> axis([0 20 -20 20])

>> r1=fzero(H,[1 3]);r2=fzero(H,[3,5]);r3=fzero(H,[6 8]);

>> r4=fzero(H,[10 12]);r5=fzero(H,[12 14]);

>> disp([r1 r2 r3 r4 r5])

>> % Case 3 

>> H=inline('x.*(cos(x).*sinh(x)-sin(x).*cosh(x))+cos(x).*cosh(x)+1','x');

>> plot(x,H(x),'k',[0 20],[0 0],'r');

>> axis([0 20 -20 20])

7/15/2019 An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

http://slidepdf.com/reader/full/an-engineers-guide-to-matlabedward2ndsolutionby-hamed-pdf 29/48

 

>> r1=fzero(H,[1 3]);r2=fzero(H,[3,5]);r3=fzero(H,[6 8]);

>> r4=fzero(H,[10 12]);r5=fzero(H,[12 14]);

>> disp([r1 r2 r3 r4 r5])

>>

>>G=inline('tanh(x)-tan(x)','x');

>> x=linspace(0,15,5000);>> plot(x,G(x),'k',[0 15],[0 0],'r');

>> axis([0 15 -1 1])

>> r1=fzero(G,[-0.5 0.5]);r2=fzero(G,[3.5 4.5]);r3=fzero(G,[6.5 7.5]);

>> r4=fzero(G,[9 10.5]);r5=fzero(G,[13 14]);

>> disp([r1 r2 r3 r4 r5])

>> % Case 1 

>> G=inline('besselj(0,x).*besseli(1,x)+besseli(0,x).*besselj(1,x)','x');

>> x=linspace(0,15,5000);

>> plot(x,G(x),'k',[0 15],[0 0],'r');

>> axis([0 15 -22 22])

>> r1=fzero(G,[0 1]);r2=fzero(G,[2 4]);r3=fzero(G,[5 7]);>> disp([r1 r2 r3])

>> % Case 2

>> G=inline('besselj(1,x).*besseli(2,x)+besseli(1,x).*besselj(2,x)','x');

>> plot(x,G(x),'k',[0 15],[0 0],'r');

>> axis([0 15 -22 22])

>> r1=fzero(G,[0 1]);r2=fzero(G,[4 6]);r3=fzero(G,[7 10]);

>> disp([r1 r2 r3])

>> % Case 3 

>> G=inline('besselj(2,x).*besseli(3,x)+besseli(2,x).*besselj(3,x)','x'); >> plot(x,G(x),'k',[0 15],[0 0],'r');

>> axis([0 15 -22 22])

>> r1=fzero(G,[0 1]);r2=fzero(G,[5 7]);r3=fzero(G,[7 10]);

>> disp([r1 r2 r3])

7/15/2019 An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

http://slidepdf.com/reader/full/an-engineers-guide-to-matlabedward2ndsolutionby-hamed-pdf 30/48

 

>> % Case 1 

>> G=inline('tan(x)-x+4*x.^3/(2*pi^2)','x');

>> x=linspace(0,15,5000);>> plot(x,G(x),'k',[0 15],[0 0],'r');

>> axis([0 15 -10 20])

>> r1=fzero(G,[0 1]);r2=fzero(G,[2 4]);r3=fzero(G,[4.75 5]);

>> r4=fzero(G,[7.86 7.87]);r5=fzero(G,[10.998 11]);

>> disp([r1 r2 r3 r4 r5])

>> % Case 2

>> G=inline('tan(x)-x+4*x.^3/(4*pi^2)','x');

>> plot(x,G(x),'k',[0 15],[0 0],'r');

>> axis([0 15 -10 20])

>> r1=fzero(G,[0 1]);r2=fzero(G,[2 4]);r3=fzero(G,[4.75 5]);>> r4=fzero(G,[7.86 7.9]);r5=fzero(G,[11 11.1]);

>> disp([r1 r2 r3 r4 r5])

>> % Case 3 

>> G=inline('tan(x)-x+4*x.^3/(8*pi^2)','x');

>> plot(x,G(x),'k',[0 15],[0 0],'r');

>> axis([0 15 -10 20])

>> r1=fzero(G,[0 1]);r2=fzero(G,[2 4]);r3=fzero(G,[5 5.5]);

>> r4=fzero(G,[7.86 7.96]);r5=fzero(G,[11 11.1]);

>> disp([r1 r2 r3 r4 r5])

>> %case 1 

>> G=inline('(1+0.4*x).^2.*(x.^2-x.^3)-0.2','x');

>> x=linspace(0,1,500);>> plot(x,G(x),'k',[0 1],[0 0],'r');

>> axis([0 1 -1 1])

>> r1=fzero(G,[0.4 0.7]);r2=fzero(G,[0.7 1]);>> disp([r1 r2]);

>> %using "roots" function 

>> n=0.4; m=0.2; %co=n c1=m 

>> y=roots([-n^2 (n^2-2*n) (2*n-1) 1 0 -m]);

>> disp(y(y>0))

>> %case 2 

7/15/2019 An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

http://slidepdf.com/reader/full/an-engineers-guide-to-matlabedward2ndsolutionby-hamed-pdf 31/48

 

>> G=inline('(1+7*x).^2.*(x.^2-x.^3)-4','x');

>> plot(x,G(x),'k',[0 1],[0 0],'r');

>> axis([0 1 -1 1])

>> r1=fzero(G,[0.4 0.7]);r2=fzero(G,[0.7 1]);

>> disp([r1 r2]);

>> %using "roots" function >> n=7; m=4; %co=n c1=m 

>> y=roots([-n^2 (n^2-2*n) (2*n-1) 1 0 -m]);

>> disp(y(y>0))

>> G=inline('2*5^2*sind(b).^2.*tand(b-35).^2-tand(b).*tand(b-35)-

tand(b).^2','b');>>%This ‘inline’ statement cannot be broken up as shown. It has been

presented in two lines because of page width restrictions. 

>> x=linspace(0,90,5000);

>> plot(x,G(x),'k',[0 90],[0 0],'r');

>> axis([0 90 -0.5 0.5])

>> r1=fzero(G,[0 10]);r2=fzero(G,[10 40]);

>> r3=fzero(G,[40 60]);r4=fzero(G,[60 85]);

>> disp([r1 r2 r3 r4])

>> H=inline('(sum(x.^B.*log(x))./(sum(x.^B)-1/14*sum(log(x)))).^-1-B','x','B');

>> B=linspace(-1,1,length(x));

>> x=[72 82 97 103 113 117 126 127 127 139 154 159 199 207];

>> plot(B,H(x,B),'k',[-1 1],[0 0],'r');

>> syms B 

>> y=H(x,B);

>> G=inline(vectorize(y),'B');

>> r=fzero(G,[0.1 0.2]);

>> H=inline('x.*log(sqrt(x.^2-1)+x)-sqrt(x.^2-1)-0.5*x','x');

7/15/2019 An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

http://slidepdf.com/reader/full/an-engineers-guide-to-matlabedward2ndsolutionby-hamed-pdf 32/48

 

>> x=linspace(1.01,4,500);

>> plot(x,H(x),'k',[0 4],[0 0],'r');

>> r=fzero(H,[2 3])

Homework problems not solved.

This problem is simple but has much long number as entering data.

For first part, just make an inline function with variable r and tau.

In the second part we have the values of p and tau. Multiply both side of 

equation by r and now you have just one variable and you can use fsolve to

find the value of r then put this value and tau in equation of part one you

will find z(r,tau).

For part c do same procedure that done for part two, but this time put tau

as variable.

>> %case 1 

>> G=inline('(2*log10(2.51./(1e5*sqrt(y))+0.27/200)).^-2-y','y');>> y=linspace(0,1,200);

>> plot(y,G(y),'k',[0 1],[0 0],'r')

>> r=fzero(G,[0.01,1]);

>> r=fzero(G,[0.01,1])

>> %case 2 

>> G=inline('(2*log10((1e5*sqrt(y))/2.51)).^-2-y','y');

>> plot(y,G(y),'k',[0 1],[0 0],'r')

>> r=fzero(G,[0.01,1])

Homework problems not solved.

7/15/2019 An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

http://slidepdf.com/reader/full/an-engineers-guide-to-matlabedward2ndsolutionby-hamed-pdf 33/48

 

>> %As you see this equation has unexpected parenthesis or bracket. 

>> %I can't find the correct equation, but solve the problem. >> %the procedure is correct, but the answer is different. It’s a simple problem.

>> G=inline( '(1-(1-cos(x))).*2.*0.6.^1.5.*cos(x)' ,'x');>> I=1/(2*pi)*quadl(G,-a,a)

>> H=inline('c1./(y.^5.*(exp(c2./(y.*T1))-1))','y','c1','c2','T1');

>> c1=3.742e8;c2=1.439e4;sig=5.667e-8;T1=300;

>> Int=quadl(H,1e-6,150,[],[],c1,c2,T1)

>> sig1=Int/T1^4;

>> %error 

>> (sig-sig1)/(sig1) *100;

>>%you can do this procedure for other values of T.

>> H=inline('cos(x-y).*exp(-x.*y./(pi^2))','x','y');

>> I=dblquad(H,0,pi/2,pi/4,pi);

7/15/2019 An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

http://slidepdf.com/reader/full/an-engineers-guide-to-matlabedward2ndsolutionby-hamed-pdf 34/48

 

Ode45 differential equation solver (numerically)

function xp=myexp3(t,x)

L=150;m=70;k=10;co=0.00324;g=9.8;

xp=zeros(2,1);

7/15/2019 An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

http://slidepdf.com/reader/full/an-engineers-guide-to-matlabedward2ndsolutionby-hamed-pdf 35/48

 

xp(1)=x(2);

xp(2)=-k/m*(x(1)-L).*(x(1)>=L)-co*sign(x(2)).*(x(2).^2)+g;

end 

>> [t,x]=ode45('myexp3',[0 15],[0 0]);

>> %the first column of x is distance and the second is velocity;

>> tnew=linspace(0,15,5000);>> distance=spline(t,x(:,1),tnew);

>> velocity=spline(t,x(:,2),tnew);

>> L=150;m=70;k=10;co=0.00324;g=9.8;

>> acceleration=-k/m*(distance-L).*(distance>L)-

co*sign(velocity).*(velocity.^2)+g;

>>%The last statement cannot be broken up as shown. It has been

>> %presented in two lines because of page width restrictions. 

>>%the sign of answers depends on some other principles.>> %part a)

>> %using interpolation to find a value that lie between two others,

>> interp1(tnew,distance,11.47);>> %part b) 

>> interp1(tnew,distance,5.988); interp1(tnew,velocity,5.988);

>> %part c) >> interp1(tnew,acceleration,11.18)

function xp=myexp5(t,x)

M=0;B=10;a=0.1;

xp=zeros(2,1);

xp(1)=x(2);

xp(2)=-a*x(2)+sin(x(1))-B*sin(x(1)).*(1-1./sqrt(5-4*cos(x(1))));

end 

>> [t,x]=ode45('myexp5',[0 50],[pi/4 0]);

>> r=linspace(0,50,1000);

>> y=spline(t,x(:,1),r);

>> plot(r,y) %for plot theta as function of t 

>> plot(x(:,1),x(:,2)) % for plot theta versus it’s derivative 

7/15/2019 An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

http://slidepdf.com/reader/full/an-engineers-guide-to-matlabedward2ndsolutionby-hamed-pdf 36/48

 

function xp=myexp4(t,x)

p=0.375;q=7.4e-4;

xp=zeros(2,1);xp(1)=x(2);

xp(2)=-sign(x(2)).*p*(x(2).^2)-q*x(1);

end 

>> [t,x]=ode45('myexp4',[0 150],[10 0]);

>> interp1(x(:,1),t,0);

>> [t,x]=ode45('myexp4',[0 300],[20 0]);

>> interp1(x((60:80),1),t(60:80),0);

>>%It seems that the answers of problem in book aren’t precise because

using another method to solve problem. You can check the correct answerafter plot it and zoom in. You can plot the curves with this script.

>> ode45('myexp4',[0 300],[20 0]);

function xp = halfsin(t,x,z)

if t<=5

h=sin(pi*t/5);

elseif t>5h=0;

end 

xp=ones(2,1);

xp(1)=x(2);

xp(2)=-2*z*x(2)-x(1)+h;

end >> k=0;

>> for z=0.05:0.05:0.95

[t,x]=ode45(@halfsin,[0 35],[1 0],[],z);k=k+1;

f(k)=sum((x(:,1)-1).^2);

end

>> [x,y]=min(f);

>> z=0.05:0.05:0.95;

>> z(y);

7/15/2019 An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

http://slidepdf.com/reader/full/an-engineers-guide-to-matlabedward2ndsolutionby-hamed-pdf 37/48

 

>>%part a)

>> k=0;

>> for B=[0.02,0.05 , 0.08 0.11 0.15 0.18 0.23 0.3]syms x

H=B./sin(x)+1./cos(x);

H=inline(vectorize(H),'x');

t=fminbnd(H,0,pi/4);

k=k+1;

y(k)=t;

end>> disp('Corresponding min value of k with respect to B');disp([num2str(y')]);

>> %part b)

>> H=inline('0.16./sin(x)+1./cos(x)-1.5','x');>> plot(x,H(x),'k',[0 pi/4],[0 0],'r');

>> axis([0 pi/4 -1 1])

>> r1=fzero(H,[0.2 0.5]);r2=fzero(H,[0.5 0.7]);

>> disp([r1 r2]);

>> H=inline('sqrt(1.4/0.4)*sqrt(p.^(2/1.4)-p.^(2.4/1.4))','p');

>> p=linspace(0,1,1000);>> plot(p,H(p),'k',[0 1],[0 0],'r')

>> [H,index]=max(H(p));

>> maxvalue=p(index)maxvalue =

0.5285

>> k=1.4;

>> verify=(2/(k+1))^(k/(k-1))

verify =

0.5283

Note:

We use fsolve to solve nonlinear system of equations.

We have to define equations like a matrix in editor window as function.

7/15/2019 An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

http://slidepdf.com/reader/full/an-engineers-guide-to-matlabedward2ndsolutionby-hamed-pdf 38/48

 

For “fsolve” we have to indicate our variables as elements of a vector for

example if we have 3 equations and variables ‘x’, ’y’, ’z’, we can’t use all

of them in our equations. We select a variable like ‘h’ and use h(1) , h(2) ,

h(3) as our variables that ‘h’ refers to the vector after execution of fsolve

function .

%For part (a ) first define function in editor window as below:function w=myexp(e)

w=[e(1)*(1-cos(e(2)))-3;e(1)*(e(2)-sin(e(2)))-1];

end 

>> option=optimset('display' , 'off');

>> z=fsolve(@myexp,[1 1],option);

>> %part b) 

>> H=inline('3*(x-sin(x))-(1-cos(x))','x');

>> theta=fzero(H,1);>> k=3/(1-cos(theta))

function u=myexp2(x)

sig=5.667e-8;T1=373;T2=293;

u=[T1^4-x(1)^4-x(2)/sig; x(1)^4-x(3)^4-x(2)/sig;x(3)^4-T2^4-x(2)/sig];

end 

>> option=optimset('display' , 'off');

>> z=fsolve(@myexp2,[10 10 10],option);

>> %part b) 

>> A=[1 0 1/sig;1 -1 -1/sig;0 1 -1/sig];

>> B=[T1^4 0 T2^4];

>> x=inv(A)*B';

>> %where x(1)=Ta^4 x(2)=Tb^4 

>> Ta=(x(1))^(1/4);Tb=(x(2))^(1/4);Q=x(3);

>> %part a) 

>> syms x 

>> limit((1-sin(2*x))^(1/x),x,0);

7/15/2019 An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

http://slidepdf.com/reader/full/an-engineers-guide-to-matlabedward2ndsolutionby-hamed-pdf 39/48

 

>> %part b) 

>> limit(log(x^n)/(1-x^2),x,1)

>> syms a b w >> x=a+b*cos(w);

>> f=(1-exp(-x))/(1+x^3);

>> g=inline(vectorize(f),'a','b','w');

>> a=1.2;b=-0.45;w=pi/3;

>> g(a,b,w)

>> k=0;

>> for b=linspace(0,4*pi,10)

syms x 

y=int((2*x+5)./(x.^2+4*x+5),x,0,b);

k=k+1;

h(k)=y;

end

>> disp(h)

7/15/2019 An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

http://slidepdf.com/reader/full/an-engineers-guide-to-matlabedward2ndsolutionby-hamed-pdf 40/48

 

Chapter  Chapter  Chapter  Chapter 6  66  6   

7/15/2019 An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

http://slidepdf.com/reader/full/an-engineers-guide-to-matlabedward2ndsolutionby-hamed-pdf 41/48

 

a. Cycloid

>> phi=linspace(-pi,3*pi,200);ra=[0.5 1 1.5];

>> for n=1:3

x=ra(n)*phi-sin(phi);y=ra(n)-cos(phi);subplot(2,2,n);

plot(x,y);

axis equal;

end

b. lemniscate

>> phi=linspace(-pi/4,pi/4,200);

>> x=cos(phi).*sqrt(2*cos(2*phi));

>> y=sin(phi).*sqrt(2*cos(2*phi));>> plot(x,y)

>> axis equal

c. Spiral

i

>> phi=linspace(0,6*pi,200);

>> x=phi.*cos(phi);

>> y=phi.*sin(phi);

>> plot(x,y)>> axis equal 

ii

>> k=0.1

>> x=exp(k*phi).*cos(phi);

>> y=exp(k*phi).*sin(phi);

>> plot(x,y)

>> axis equal 

d. cardioid

>> phi=linspace(0,2*pi,200);

>> x=2*cos(phi)-cos(2*phi);

>> y=2*sin(phi)-sin(2*phi);

>> plot(x,y)

>> axis equal 

7/15/2019 An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

http://slidepdf.com/reader/full/an-engineers-guide-to-matlabedward2ndsolutionby-hamed-pdf 42/48

 

e. Astroid

>> phi=linspace(0,2*pi,200);

>> x=4*cos(phi).^3;

>> y=4*sin(phi).^3;

>> plot(x,y)

>> axis equal 

f. Epicycloid

case 1

>> phi=linspace(0,2*pi,200);

>> Rr=3;ar=[0.5 1 2];

>> for n=1:3

x=(Rr+1)*cos(phi)-ar(n)*cos(phi*(Rr+1));

y=(Rr+1)*sin(phi)-ar(n)*sin(phi*(Rr+1));subplot(2,2,n);

plot(x,y)

axis equal end

case 2

>> Rr=2.5;ar=2;phi=linspace(0,4*pi,200);

>> x=(Rr+1)*cos(phi)-ar*cos(phi*(Rr+1));

>> y=(Rr+1)*sin(phi)-ar*sin(phi*(Rr+1));

>> plot(x,y)

>> axis equal

g. Hypocycloid

>> Rr=3;ar=[0.5 1 2];phi=linspace(0,2*pi,200);

>> for n=1:3

x=(Rr-1)*cos(phi)+ar(n)*cos(phi*(Rr-1));

y=(Rr-1)*sin(phi)-ar(n)*sin(phi*(Rr-1));subplot(2,2,n);

plot(x,y)

axis equal 

end

7/15/2019 An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

http://slidepdf.com/reader/full/an-engineers-guide-to-matlabedward2ndsolutionby-hamed-pdf 43/48

 

6.2

>> x=linspace(-15,15,50);

>> y=log(abs(sin(x)./x));>> plot(x,y);

>> x=linspace(-12,7,5000);

>> y=0.001*x.^5+0.01*x.^4+0.2*x.^3+x.^2+4*x-5;

>> n=find(y>0);

>> t=x(n);h=y(n);

>> plot(t,h)

>> dt=linspace(0,5,400);

>> ht=1:0.25:3;

>> [hht,ddt]=meshgrid(ht,dt);

>> c=0.5*ddt.^3-1.5*hht.*ddt.^2+(1+hht.^2).*ddt;

>> plot(dt,c)

>> axis([0 5 0 8])

Homework problems not solved.

% we can solve this problem without using for loop, but it maybe have toolong script.

function nonoverlapping(d,w,L)

b=atan((w/2)/(d+L));

a=atan(w/(2*d));

r1=sqrt(d^2+(w/2)^2);

r2=sqrt((d+L)^2+(w/2)^2);

7/15/2019 An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

http://slidepdf.com/reader/full/an-engineers-guide-to-matlabedward2ndsolutionby-hamed-pdf 44/48

 

t=2*pi/floor(pi/a);

for n=0:(floor(pi/a)-1)

p1=cos(n*t)*d ;p2= r1*cos(n*t+a);p3= sin(n*t)*d ;p4= r1*sin(n*t+a);x=[0 p1 p2 p2+L*cos(n*t) r2*cos(-b+(n*t)) r2*cos(-b+n*t)-L*cos(n*t) p1];

y=[0 p3 p4 p4+L*sin(n*t) r2*sin(-b+(n*t)) r2*sin(-b+n*t)-L*sin(n*t) p3];

plot(x,y,'k')hold on 

end 

axis equal 

end 

%case 1 >>v=0.3; % z/a=u 

>>F=inline('-((1-u.*atan(1./u))*(1-v)-0.5*(1+(u).^2).^-1)','u','v');

>>plot(u,F(u,v));

>>plot(u,F(u,v));

>>hold on 

>>xlabel('u');

>>ylabel('\it\sigma_{\rmx}\rm/ \itp_{\rmmax}');

>>%case 2 

>>G=inline('-(1+u.^2)','u');>>plot(u,G(u));

>>hold on >>xlabel('u');

>>ylabel('\it\sigma_{\rmz}\rm/ \itp_{\rmmax}');

>>%case 3 

>>H=inline('0.5*(-((1-u.*atan(1./u))*(1-v)-0.5*(1+(u).^2).^-1)- -

(1+u.^2))','u','v');

>>plot(u,H(u,v));

>>hold on 

>>xlabel('u');>>ylabel('\it\tau_{\rmxy}\rm/ \itp_{\rmmax}\rm= \it\tau_{\rmyz}\rm/ 

 \itp_{\rmmax}');

>>%These last statements cannot be broken up as shown. They have been

>> %presented in two lines because of page width restrictions. 

7/15/2019 An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

http://slidepdf.com/reader/full/an-engineers-guide-to-matlabedward2ndsolutionby-hamed-pdf 45/48

 

%case 1 

>>v=0.3; % z/b=u >>u=linspace(0,10,1000);>>F=inline('-2*v*(sqrt(1+u.^2)-u)','u','v');

>>plot(u,F(u,v));

>>hold on 

>>xlabel('u');

>>ylabel('\it\sigma_{\rmx}\rm/ \itp_{\rmmax}');

>>%case 2 

>>G=inline('-((2-1./(1+u.^2)).*sqrt(1+u.^2)-2*u)','u');

>>plot(u,G(u));

>>xlabel('u');>>ylabel('\it\sigma_{\rmy}\rm/ \itp_{\rmmax}');

>>%case 3 

>>H=inline('-1./sqrt(1+u.^2)','u');

>>plot(u,H(u));

>>xlabel('u');

>>ylabel('\it\sigma_{\rmz}\rm/ \itp_{\rmmax}');

>>%case 4 >>K=inline('0.5*(-((2-1./(1+u.^2)).*sqrt(1+u.^2)-2*u)- -1./sqrt(1+u.^2))','u')

>>plot(u,K(u));>>xlabel('u');

>>ylabel('\it\tau_{\rmyz}\rm/ \itp_{\rmmax}');

>> A=[9.1209 9.1067 8.9939 8.9133 8.5194 8.3666];

>> B=[3.5605 3.5385 3.4777 3.4292 3.2621 3.1884];

>> SAE=10:10:60;

>> h=linspace(10,60,1000);>> Aa=spline(SAE,A,h);

>>Ba=spline(SAE,B,h);

>>T=linspace(0,500,1000);

>>To=255.2+5/9*T;

>> c=10.^(Aa-Ba.*log10(To));

>> u=10.^(c-1);

7/15/2019 An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

http://slidepdf.com/reader/full/an-engineers-guide-to-matlabedward2ndsolutionby-hamed-pdf 46/48

 

>> %case 1 

>> subplot(1,2,1);

>> plot(To,u)

>> %case 2 

>> subplot(1,2,2);

>> plot(log10(To),log10(log10(10*u)))

>>B=[0.02 0.05 0.08 0.11 0.15 0.18 0.23 0.3];

>>y=linspace(1,40,500);

>> [yy,BB]=meshgrid(y,B);

>>K=BB./sind(yy)+1./cosd(yy);

>>%recall from exercise 5.32 for finding min vaules >>k=0;

>>for B=[0.02,0.05 , 0.08 0.11 0.15 0.18 0.23 0.3]

syms x 

H=B./sin(x)+1./cos(x);

H=inline(vectorize(H),'x');

t=fminbnd(H,0,pi/4);

k=k+1;

h(k)=t;

end >>h=h*180/pi;

>>u=linspace(h(1),h(end),500);

>>for n=1:length(h)

w(n)=interp1(y,K(n,:),h(n));

end 

>>p=spline(h,w,u);

>>plot(u,p,'k--')

>>hold on >>plot(y,K,'k')

>>axis([0 40 1 2])

>>xlabel('\rm\lambda');

>>ylabel('\rm\kappa');

>>legend('Minimum','location','southwest')

7/15/2019 An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

http://slidepdf.com/reader/full/an-engineers-guide-to-matlabedward2ndsolutionby-hamed-pdf 47/48

 

>> rs=1.5*sin(pi/5)/(1-sin(pi/5));

>> t=linspace(0,2*pi,3000);

>> plot(1.5*cos(t),1.5*sin(t),'k',0,0,'k+')>> axis equal >> hold on 

>> for n=0:4

a=cosd(72*n)*(1.5+rs);

b=sind(72*n)*(1.5+rs);

x=a+rs*cos(t);y=b+rs*sin(t);

plot(x,y,'k',a,b,'k+')

end

>>%we can make a function to do this procedure for desire value of ‘rb’and ‘n’ as below.

function ciraroundcir(rb, n)

rs=rb*sin(pi/n)/(1-sin(pi/n));

t=linspace(0,2*pi,3000);

plot(rb*cos(t),rb*sin(t),'k',0,0,'k+')

axis equal 

hold on 

for m=0:(n-1)a=cos(2*pi/n*m)*(rb+rs);

b=sin(2*pi/n*m)*(rb+rs);

x=a+rs*cos(t);y=b+rs*sin(t);

plot(x,y,'k',a,b,'k+')

end 

end 

>> t=linspace(0,2*pi,100);

>> plot([3+cos(t)],[1+sin(t)])>> axis equal 

>> hold on 

>> fill([3+cos(t)],[1+sin(t)],'g')

7/15/2019 An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

http://slidepdf.com/reader/full/an-engineers-guide-to-matlabedward2ndsolutionby-hamed-pdf 48/48

 

>> plot([0 5],[-5 5])

>> h=linspace(0,5,100);

>> i=fliplr(h);

>> fill([h,i],[2*h-5 , (zeros(1,length(i))-5)],'r')

>> axis([-2 5 -5 4])

>> r=0.5:0.5:3;>> x=1+cos(t)'*r;

>> y=1+sin(t)'*r;

>> plot(x,y,'b',1,1,'b+')

>> plot([-2 5],[0 0],'k ',[0 0],[-5 4],'k')

>> xlabel('\itx_{\rm1}')

>> ylabel('\itx_{\rm2}')

>> title('Blue circles:function minimized. Green area: feasible region')

>> x=linspace(0,pi,200);

>> plot(x,[sin(x) ;abs(sin(2*x))/2],'k')

>> hold on 

>> fill([x,fliplr(x)],[sin(x),abs(sin(2*x))/2],'c')

>> axis([0 pi 0 1])

>> plot([0 pi],[0.5 0.5],'k--')