====== MATLAB m-file Examples ====== ===== Simple script ===== disp('What is the answer to ... everything?') a = input('> '); disp(['You said ' num2str(a) '.']); if a == 42, disp('That is correct.'); else disp('That is not correct.'); end; ===== Function m-file ===== Ref.((Recktenwald, Gerald. "MATLAB Functions -- Basic Features." MATLAB Functions -- Basic Features. Accessed April 30, 2016. http://web.cecs.pdx.edu/~gerry/MATLAB/programming/basics.html.)) function area = traparea(a, b, h) % traparea(a, b, h) Computes the area of a trapezoid given % the dimensions a, b and h, where a and b % are the lengths of the parallel sides and % h is the distance between these sides % Compute the area, but suppress printing of the result area = 0.5 * (a + b) * h; end ===== m-files with "main" function ===== Ref.((Recktenwald, Gerald. "MATLAB Functions -- Basic Features." MATLAB Functions -- Basic Features. Accessed April 30, 2016. http://web.cecs.pdx.edu/~gerry/MATLAB/programming/basics.html.)) Note: On some platforms you may receive a warning if the name of the file (without extension) doesn't match the name of the first function defined in the file. function main() area1 = traparea(1,2,3) disp(area1) end function area = traparea(a, b, h) % traparea(a, b, h) Computes the area of a trapezoid given % the dimensions a, b and h, where a and b % are the lengths of the parallel sides and % h is the distance between these sides % Compute the area, but suppress printing of the result area = 0.5 * (a + b) * h; end Ref.((Unknown)) function main() [root1, root2] = quadratic(1, sqrt(2), 1); disp(root1); disp(root2); end function [x1, x2] = quadratic(a, b, c) % [x1, x2] = quadratic(a, b, c) % Return the roots of a*x^2 + b*x + c. % Roots may be complex. d = disc(a, b, c); x1 = (-b + sqrt(d)) / (2*a); x2 = (-b - sqrt(d)) / (2*a); end function dis = disc(a,b,c) % dis = disc(a,b,c) % Return the discriminant of a, b, c. dis = b^2 - 4*a*c; end ===== Returning multiple values ===== Ref.((Recktenwald, Gerald. "MATLAB Functions -- Basic Features." MATLAB Functions -- Basic Features. Accessed April 30, 2016. http://web.cecs.pdx.edu/~gerry/MATLAB/programming/basics.html.)) function main [r, th] = cart2plr(30, 40); disp(r); disp(th); end function [r, theta] = cart2plr(x, y) % cart2plr Convert Cartesian coordinates to polar coordinates % % [r, theta] = cart2plr(x, y) computes r and theta with % % r = sqrt(x^2 + y^2); % theta = atan2(y,x); r = sqrt(x^2 + y^2); theta = atan2(y,x); end ===== Nested loop ===== for i = 1:10 for j = 1:10 if j <= i, val = 0; else val = 1; end my_matrix(i, j) = val; end; end; disp(my_matrix);