Top Banner
 
48

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

Oct 30, 2015

Download

Documents

shoaibstar9
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

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

 

Page 2: An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

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]

Page 3: An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

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  

Page 4: An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

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

Page 5: An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

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);

Page 6: An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

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)))

Page 7: An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

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   

Page 8: An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

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) 

Page 9: An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

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)

Page 10: An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

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)

Page 11: An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

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

Page 12: An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

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)'];

Page 13: An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

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];

Page 14: An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

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)

Page 15: An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

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)

Page 16: An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

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. 

Page 17: An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

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.

Page 18: An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

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;

Page 19: An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

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  

Page 20: An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

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.

Page 21: An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

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  

Page 22: An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

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)])

Page 23: An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

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));

Page 24: An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

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.

Page 25: An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

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  

Page 26: An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

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.

Page 27: An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

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);

Page 28: An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

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])

Page 29: An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

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])

Page 30: An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

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 

Page 31: An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

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');

Page 32: An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

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.

Page 33: An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

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);

Page 34: An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

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);

Page 35: An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

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 

Page 36: An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

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);

Page 37: An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

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.

Page 38: An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

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);

Page 39: An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

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)

Page 40: An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

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   

Page 41: An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

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 

Page 42: An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

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

Page 43: An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

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);

Page 44: An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

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. 

Page 45: An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

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);

Page 46: An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

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')

Page 47: An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

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')

Page 48: An engineer's guide to MATLAB,edward,2nd,[solution]by Hamed .pdf

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--')