# channelflow.org

### Site Tools

gibson:teaching:fall-2013:math445:lecture5functions

The functions we wrote in class are provided below. Each lists the filename, a description of what we're illustrating, and then the file contents. You can cut & paste as needed.

square.m : a super-simple example of a function that takes one argument and returns one value

```function s = square(x);  % declare a function named square
% square takes an argument x and returns its square, s=x*x

s = x*x;

end```

pow.m : an example of a function that takes two arguments

```function y = pow(x,n) % this function takes two arguments
% pow(x,n): return x to the n

y = x^n; % semicolon to suppress printing

end```

square_cube.m : an example of a function with two return values

```function [s,c] = square_cube(x); % example of multiple return values
% return the square and the cube of x

s = x*x;
c = s*x;

end```

isOdd.m : an example of an if-else statement

```function r = isOdd(n)
% return 1 if n is odd, 0 if n is even

if 2*floor(n/2) ~= n  % this will test if n is not even
r = 0;
else
r = 1;
end```

isTwo.m : a simpler example of an if-else statement

```function r = isTwo(n);
% return 1 (true)  if n is two,
%        0 (false) if n is not two

% simple example of an if statment
if n == 2
r = 1; % true, n is two
else
r = 0; % false, n is not two
end

end```

printtoten.m : a simple example of a for-loop, with no arguments and no return value

```function printtoten();
% print the numbers from 1 to 10

% example for loop
for n=1:10
n
end

end```

sumtoten.m : a more meaningful example of a for-loop

```function s = sumtoten();
% return the sum of 1 through 10

s = 0; % set s to zero

for n=1:10
s = s+n;   % add each number from 1 to 10 to s
end

end```

matvecmult.m : a home-grown matrix-vector multiply function

```function y = matvecmult(A,x);
% return y = A*x;

[m,n] = size(A);  % get size of matrix

y = zeros(m,1);

% Compute y(i) = sum A_ij x_j

% "nested loops"
for i=1:m
for j=1:n
y(i) = y(i) + A(i,j)*x(j);
end
end

end```
gibson/teaching/fall-2013/math445/lecture5functions.txt · Last modified: 2013/09/10 13:05 by gibson