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 acircle ( 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 fromthe 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 |
for c = 1:3 disp(c) end |
The loop counter (c ) progresses through thevalues 1:3 (1 , 2 , and 3 ).The loop body displays each value of c . |
Leave a Reply