1 Lecture (5) Programming (2) Eng. Osama Talaat 2 Announcement M-Files are available: Download the file from the course page www.osamatalaat.com/matlab Copy it into the current directory Open it using MATLAB (Open, Double click, ... ) Run !! 3 clear all; close all; clc; Clean Start % n=input('Please enter the number of cycles: '); % f=input('Please enter the frequency: '); % A=input('Please enter the Amplitude: '); x=[0:0.1:2*pi]; y=sin(x); plot(x,y) xlabel('x') ylabel('sin(x)') title('Sine Curve') grid disp('The amplitude values are: ') y disp('Plotting Done Successfully!!') 4 clear all; close all; clc; No of Cylces n=input('Please enter the number of cycles: '); % f=input('Please enter the frequency: '); % A=input('Please enter the Amplitude: '); x=[0:0.1:2*pi*n]; y=sin(x); plot(x,y) xlabel('x') ylabel('sin(x)') title('Sine Curve') grid disp('The amplitude values are: ') y disp('Plotting Done Successfully!!') 5 clear all; close all; clc; Amplitude n=input('Please enter the number of cycles: '); % f=input('Please enter the frequency: '); A=input('Please enter the Amplitude: '); x=[0:0.1:2*pi*n]; y=A*sin(x); plot(x,y) xlabel('x') ylabel([num2str(A) 'sin(x)']) title('Sine Curve') grid disp('The amplitude values are: ') y disp('Plotting Done Successfully!!') 6 clear all; close all; clc; Frequency n=input('Please enter the number of cycles: '); f=input('Please enter the frequency: '); A=input('Please enter the Amplitude: '); x=[0:0.1:2*pi*n/f]; y=A*sin(f*x); plot(x,y) xlabel('x') ylabel([num2str(A) 'sin(' num2str(f) 'x)']) title('Sine Curve') grid disp('The amplitude values are: ') y disp('Plotting Done Successfully!!') 7 clear all; close all; clc; Done !! n=input('Please enter the number of cycles: '); f=input('Please enter the frequency: '); A=input('Please enter the Amplitude: '); x=[0:0.1:2*pi*n/f]; y=A*sin(f*x); plot(x,y) xlabel('x') ylabel([num2str(A) 'sin(' num2str(f) 'x)']) title('Sine Curve') grid disp('The amplitude values are: ') y disp('Program Terminated !!') 8 clear all; close all; clc; Output n=input('Please enter the number of cycles: '); f=input('Please enter the frequency: '); A=input('Please enter the Amplitude: '); x=[0:0.1:2*pi*n/f]; y=A*sin(f*x); plot(x,y) xlabel('x') ylabel([num2str(A) 'sin(' num2str(f) 'x)']) title('Sine Curve') grid disp('The amplitude values are: ') y disp('Program Terminated !!') 9 clear all; close all; clc; Output n=input('Please enter the number of cycles: '); f=input('Please enter the frequency: '); A=input('Please enter the Amplitude: '); x=[0:0.1:2*pi*n/f]; y=A*sin(f*x); plot(x,y) xlabel('x') ylabel([num2str(A) 'sin(' num2str(f) 'x)']) title('Sine Curve') grid disp('The amplitude values are: ') disp(y) disp('Program Terminated !!') 10 Plot Sine Try n = any negative number: clear all; close all; 11 clc; n=input('Please enter the number of cycles: '); f=input('Please enter the frequency: '); A=input('Please enter the Amplitude: '); if n>0 x=[0:0.1:2*pi*n/f]; y=A*sin(f*x); plot(x,y) xlabel('x'); ylabel([num2str(A) 'sin(' num2str(f) 'x)']) title('Sine Curve'); grid disp('The amplitude values are: '); disp(y) end disp('Program Terminated !!') If Statement 12 if conditions ________________________ ______ Commands ________ ________________________ end ________________________ ______ Commands ________ ________________________ clear all; close all; 13 Error Msg clc; n=input('Please enter the number of cycles: '); f=input('Please enter the frequency: '); A=input('Please enter the Amplitude: '); if n>0 x=[0:0.1:2*pi*n/f]; y=A*sin(f*x); plot(x,y) xlabel('x'); ylabel([num2str(A) 'sin(' num2str(f) 'x)']) title('Sine Curve'); grid disp('The amplitude values are: '); disp(y) else disp('The number of cycles must be positive') end disp('Program Terminated !!') If Else Statement 14 if conditions ________________________ ______ Commands ________ ________________________ else ________________________ ______ Commands ________ ________________________ end ________________________ ______ Commands ________ ________________________ ... if n>0 15 Compare x=[0:0.1:2*pi*n/f]; y=A*sin(f*x); plot(x,y); xlabel('x'); ylabel([num2str(A) 'sin(' num2str(f) 'x)']) title('Sine Curve'); grid disp('The amplitude values are: '); disp(y) else disp('The number of cycles must be positive') end ...................................................... if n>0 x=[0:0.1:2*pi*n/f]; y=A*sin(f*x); plot(x,y); xlabel('x'); ylabel([num2str(A) 'sin(' num2str(f) 'x)']) title('Sine Curve'); grid disp('The amplitude values are: '); disp(y) end if n<=0 disp('The number of cycles must be positive') end ... 16 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Designed by: Eng. Osama Talaat % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Comments clear all; close all; clc; n=input('Please enter the number of cycles: '); f=input('Please enter the frequency: '); A=input('Please enter the Amplitude: '); if n>0 %Check positive number of cycles x=[0:0.1:2*pi*n/f]; y=A*sin(f*x); plot(x,y) xlabel('x'); ylabel([num2str(A) 'sin(' num2str(f) 'x)']) title('Sine Curve'); grid disp('The amplitude values are: '); disp(y) else disp('The number of cycles must be positive') end disp('Program Terminated !!') 17 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Designed by: Eng. Osama Talaat % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Comments clear all; close all; clc; n=input('Please enter the number of cycles: '); f=input('Please enter the frequency: '); A=input('Please enter the Amplitude: '); if n>0 %Check positive number of cycles x=[0:0.1:2*pi*n/f]; y=A*sin(f*x); plot(x,y) xlabel('x'); ylabel([num2str(A) 'sin(' num2str(f) 'x)']) title('Sine Curve'); grid % disp('The amplitude values are: '); disp(y) else disp('The number of cycles must be positive') end disp('Program Terminated !!') 18 Password Enter the password. If the entered password is ‘a13’, display a welcome message ‘Welcome Osama’. Else, Display an error message ‘Wrong password’. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 19 Designed by: Eng. Osama Talaat % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% clear all; close all; clc; pass = input('Please enter password: ','s'); if strcmp(pass,'a13') disp('Welcome Osama') else disp('Wrong password') end To enter string To compare strings 20 Password Enter the password. If the entered password is ‘a13’, display a welcome message ‘Welcome Osama’. If the entered password is ‘com’, display a welcome message ‘Welcome Hamdy’. If the entered password is ‘t10’, display a welcome message ‘Welcome Mona’. Else, Display an error message ‘Wrong password’. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 21 Designed by: Eng. Osama Talaat % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% clear all; close all; clc; pass = input('Please enter password: ','s'); if strcmp(pass,'a13') disp('Welcome Osama') elseif strcmp(pass,'com') disp('Welcome Hamdy') elseif strcmp(pass,'t10') disp('Welcome Mona') else disp('Wrong password') end 22 If Elseif Statement if conditions 1 ________________________ ______ Commands ________ ________________________ elseif conditions 2 ________________________ ______ Commands ________ ________________________ elseif conditions 3 ________________________ ______ Commands ________ ________________________ ... else ________________________ ______ Commands ________ ________________________ end ________________________ ______ Commands ________ ________________________ 23 Switch Case Statement switch variable case value 1 ______ Commands break case value 2 ______ Commands break case value 3 ______ Commands break . . . otherwise ______ Commands break end ________________________ ______ Commands ________ ________________________ ________ ________ ________ ________ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Designed by: Eng. Osama Talaat % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 24 clear all; close all; clc; pass = input('Please enter password: ','s'); switch pass case 'a13' disp('Welcome Osama') break case 'com' disp('Welcome Hamdy') break case 't10' disp('Welcome Mona') break otherwise disp('Wrong password') break end Another Solution %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Designed by: Eng. Osama Talaat % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Error Msg 25 clear all; close all; clc; pass = input('Please enter password: ','s'); switch pass case 'a13' disp('Welcome Osama') break case 'com' disp('Welcome Hamdy') break case 't10' The error message stops execution disp('Welcome Mona') break otherwise error('Wrong password') break end 26 Length Units Converter Convert the length from meter to several length units. Enter the length in meters. Enter the unit to convert to. Switch on the unit and upon its values multiply the input length by the conversion factor, and display the output %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Designed by: Eng. Osama Talaat % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Several values 27 clear all; close all; clc; len = input('Please enter Length in meter: '); unit = input('Please enter the unit to convert to: ','s'); switch unit case 'cm' disp([num2str(len) break case 'mm' disp([num2str(len) break case 'in' disp([num2str(len) break otherwise disp('This unit is break end ' m = ' num2str(len*100) ' cm']) ' m = ' num2str(len*1000) ' mm']) ' m = ' num2str(len/0.0254) ' in']) not supported') %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Designed by: Eng. Osama Talaat % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 28 clear all; close all; clc; len = input('Please enter Length in meter: '); unit = input('Please enter the unit to convert to: ','s'); switch unit case {'cm' 'centimeter'} disp([num2str(len) ' m break case {'mm' 'millimeter'} disp([num2str(len) ' m break case {'in' 'inch'} disp([num2str(len) ' m break otherwise disp('This unit is not break end = ' num2str(len*100) ' cm']) = ' num2str(len*1000) ' mm']) = ' num2str(len/0.0254) ' in']) supported') For Loop 29 clear all; close all; clc; for k=1:20 disp(rand) %do not display "ans =" end ________________________________________ for index = vector ________________________ __ Commands to repeat __ ________________________ end ________________________ ______ Commands ________ ________________________ 30 Calculate the Formula 5 𝑠= 𝑘2 𝑘! 𝑘=1 22 32 12 42 52 ∴𝑠= + + + + 1! 2! 3! 4! 5! >> s=0; >> s=s+1^2/factorial(1); >> s=s+2^2/factorial(2); >> s=s+3^2/factorial(3); >> s=s+4^2/factorial(4); >> s=s+5^2/factorial(5); Calculate the Formula 31 clear all; close all; clc; s=0; for k=1:5 s=s+k^2/factorial(k); end disp(s) Test Yourself !! 32 Try it using matrices: 5 𝑠= 𝑘=1 𝑘 2 12 22 32 42 52 = + + + + 𝑘! 1! 2! 3! 4! 5! 33 GOOD LUCK To be continued in the next lecture …