Computational Neuro: MATLab Basics

This semester, I took on Computational Neuroscience with lab. It’s been a difficult class (I always say that) by it’s been amazing to learn how to use MATLab in neural coding sequences in my Last semester of college. Here’s some of my notes on the basics of neural coding within MATLab!

Before we get started…

Here is the basic syntax of MATLab. MATLab works in array that store information about variables. These arrays can be scalars, vectors, or matrices. The information that they hold can have various values, from logical numbers, to functions, to imaginary numbers and place holders.

Basic syntax

Example Description
x = 9 Create variables with the equal sign (=).
The left-side (x) is the variable name containing the value on the right-side (pi).
y = sin(1) You can provide inputs to a function using parentheses.

 

Desktop management

Function Example Description
save save data.mat Save your current workspace to a MAT-file.
load load data.mat Load the variables in a MAT-file to the Workspace.
clear clear Clear all variables from the Workspace.
clc clc Clear all text from the Command Window.
format format long Change how numeric output is displayed.

Array types

Example Description
4 scalar
[3 5] row vector
[1;3] column vector
[3 4 5;6 7 8] matrix

Evenly-spaced vectors

Example Description
1:4 Create a vector from 1 to 4, spaced by 1, using the colon (:) operator.
1:0.5:4 Create a vector from 1 to 4, spaced by 0.5.
linspace(1,10,5) Create a vector with 5 elements. The values are evenly spaced from 1 to 10.

Creating matrices

Example Description
rand(2) Create a square matrix with 2 rows and 2 columns.
zeros(2,3) Create a rectangular matrix with 2 rows and 3 columns.

 

Indexing

Example Description
A(end,2) Access the element in the second column of the last row.
A(2,:) Access the entire second row
A(1:3,:) Access all columns of the first three rows.
A(2) = 11 Change the value of the second element an array to 11.

 

Array operations

Example Description
[1 1; 1 1]*[2 2;2 2]
ans =
     4     4
     4     4
Perform matrix multiplication.
[1 1; 1 1].*[2 2;2 2]
ans =
     2     2
     2     2
Perform element-wise multiplication.

 

Multiple outputs

Example Description
[xrow,xcol] = size(x) Save the number of rows and columns in x to two different variables.
[xMax,idx] = max(x) Calculate the maximum value of x and its corresponding index value.

 

Documentation

Example Description
doc randi Open the documentation page for the randi function.

 

Plotting

Example Description
plot(x,y,"ro-","LineWidth",5) Plot a red (r) dashed (--) line with a
circle (o) marker, with a heavy line width.
hold on Add the next line to existing plot.
hold off Create a new axes for the next plotted line.
title("My Title") Add a label to a plot.

 

Using tables

Example Description
data.HeightYards Extract the variable HeightYards from
the table data.
data.HeightMeters = data.HeightYards*0.9144 Derive a table variable from existing data.

 

Logicals

Example Description
[5 10 15] > 12 Compare a vector to the value 12.
v1(v1 > 6) Extract all elements in v1 that are greater than 6.
x(x==999) = 1 Replace all values in x that are equal to 999 with the value 1.

 

Programming

Example Description
if x > 0.5
    y = 3
else
    y = 4
end
If x is greater than 0.5, set the value of y to 3.

Otherwise, set the value of y to 4.

for c = 1:3
    disp(c)
end
The loop counter (c) progresses through the
values 1:3 (12, and 3).The loop body displays each value of c.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: