Graduate Program in Neuroscience

# Matlab Basics

# Programming Basics: MATLAB

You will find it useful to store your data in arrays and matrices. This will allow you to compute values, etc, and save you a lot of time. Matlab and Python are powerful tools for working with arrays and matrices. Gaining proficiency with one of these languages will likely save you a lot of time in the long run.

## Defining arrays.

```
% You will find it useful to store your data in arrays and matrices. This
% will allow you to compute values, etc, and save you a lot of time. Matlab
% and Python are powerful tools for working with arrays and matrices.
% Gaining proficiency with one of these languages will likely save you a
% lot of time in the long run.
% Define a numerical vector
x = [7, 9, 12, 5, 2, 13, 9];
% Define a cell containing strings.
c = {'seven', 'nine', 'twelve', 'five', 'two', 'thirteen', 'nine'};
```

## For loops.

```
%% For-loop examples
% Go through the values defined in a for loop and print the values to the
% command line.
for j = 1 : 10
disp(j);
end
% Let's loop through all of the values in the numerical array and display
% what we've found to the command line.
for j = 1 : length(x)
disp(x(j));
end
% Now, let's do the same for the cell containing our strings.
for j = 1 : length(c)
disp(c{j});
end
```

## While loops.

```
%% While-loop examples
done = false;
count = 0;
while ~done
count = count + 1;
disp(x(count));
if count >= length(x)
done = true;
end
end
```

## If-then-else statements.

```
%% If-then-else statement examples
% Let's loop through all of the values in the numerical array and display
% what we've found to the command line.
for j = 1 : length(x)
if (x(j) == 5)
disp('I found 5!');
elseif (x(j) == 7)
disp('I found 7!');
else
disp(['I found ',num2str(x(j)),'!']);
end
end
% Now, let's do the same for the cell containing our strings.
for j = 1 : length(c)
if strcmp(c{j}, 'five')
disp('I found five!');
elseif strcmp(c{j}, 'seven')
disp('I found seven!');
else
disp(['I found ',c{j},'!']);
end
end
```

## switch-case-otherwise statements.

```
%% switch-case-otherwise statement examples
% Let's loop through all of the values in the numerical array and display
% what we've found to the command line.
for j = 1 : length(x)
switch x(j)
case 5
disp('I found 5!');
case 7
disp('I found 7!');
otherwise
disp(['I found ',num2str(x(j)),'!']);
end
end
% Now, let's do the same for the cell containing our strings.
for j = 1 : length(c)
switch c{j}
case 'five'
disp('I found five!');
case 'seven'
disp('I found seven!');
otherwise
disp(['I found ',c{j},'!']);
end
end
```

## Searching for values in an array.

```
%% Searching for values in an array.
% Now, let's search for specific values in our array. I'll show you two
% ways of doing this.
% 1) Logical indices. This technique returns a true/1 if the index in the
% array matches the desired value and false/0 for all other indices.
tf = (x == 9); % For the numerical array; find values equal to 9
tf2 = (x >= 7); % Find all of the values greater than or equal to 7.
% Now for the cell containing strings: strcmp
tf3 = strcmp(c, 'nine');
% If you want to find matches while ignoring upper/lower case: strcmpi
tf4 = strcmpi(c, 'Nine');
% 2) The second way is to search for the index numbers in the array that
% contain the desired values. If the value isn't there, it will return
% empty.
tf5 = find(x == 9);
tf6 = find(strcmpi(c, 'nine'));
```