58 lines
1.5 KiB
Matlab
58 lines
1.5 KiB
Matlab
%% Lesson 4b: Control Sequences
|
|
%
|
|
% Since it likes to play at being a general purpose programming language,
|
|
% MATLAB has control flow constructs (if, loops, etc.). Sometimes not
|
|
% everything is achievable with a linear set of instructions and vectorization,
|
|
% such as in particularly complex situations.
|
|
|
|
clear; clc; close all;
|
|
|
|
%% For loops (a review)
|
|
total=0;
|
|
for i=1:10
|
|
total = total + i;
|
|
end
|
|
total
|
|
|
|
%% If...Else Statements
|
|
gpa = 2.3;
|
|
if gpa < 2
|
|
fprintf('You are in DANGER!!!\n')
|
|
elseif gpa >= 2 && gpa < 3.5
|
|
fprintf('You are safe.\n')
|
|
elseif gpa >= 3.5 && gpa < 3.7
|
|
fprintf('Cum Laude\n')
|
|
elseif gpa >= 3.7 && gpa < 3.8
|
|
fprintf('Magna Cum Laude\n')
|
|
elseif gpa >= 3.8 && gpa < 4
|
|
fprintf('Summa Cum Laude\n')
|
|
else
|
|
fprintf("invalid gpa\n")
|
|
end
|
|
|
|
%% While loop
|
|
% Iterate while a condition is true, as opposed to iterating over a vector.
|
|
total = 0;
|
|
i = 0;
|
|
while i <= 10
|
|
total = total + i;
|
|
i = i+1;
|
|
end
|
|
total
|
|
|
|
%% Try/catch blocks
|
|
% Try and catch allow for error handling, which can be useful when using
|
|
% user-supplied input that may be invalid. See the documentation of any
|
|
% function to see what errors it may throw.
|
|
%
|
|
% It is also a good idea for you to validate input if writing a function
|
|
% intended to be used by other people. This is very common in all MATLAB
|
|
% builtin/toolbox functions.
|
|
try
|
|
a = [1 2; 3 4];
|
|
b = [1 2 3 4];
|
|
c = a*b % can't do this! not the right dimensions!
|
|
catch err
|
|
fprintf('Hey! Not allowed!\n');
|
|
end
|