25 Basic Data Analysis with Python and Matlab
Python and Matlab are very similar, but there are many syntax differences between them. This tutorial should help you start making graphs and the most basic data analysis, but it is very far from being a comprehensive guide. Google and Stack Overflow are your best friends :)
25.1 Matlab
Matlab is a proprietary (paid) software, but all HUJI students can install it and use it for free as long as they are connected to the university’s internet, either directly or through a VPN. In any case, we will be using Matlab to plot graphs on Thingspeak, which is owned by the same parent company, MathWorks.
Here are a few very useful tutorials provided by MathWorks:
- Apps
- Analyze Your Data
- Prepare and Analyze Data — Examples
- Visualize Data — Examples
- Act on Data — Examples
As a first example that we will run together, please follow the steps below:
- Log into Thingspeak, open your channel, and then go to either
Private View
orPublic View
. - Press on
MATLAB Visualization
box, on the top right. - From
Templates
, chooseCreate a 2-D line plot
, then pressCreate
. - In case the template doesn’t load, you can create a custom visualization and paste the code below
% Template MATLAB code for visualizing data from a channel as a 2D line
% plot using PLOT function.
% Prior to running this MATLAB code template, assign the channel variables.
% Set 'readChannelID' to the channel ID of the channel to read from.
% Also, assign the read field ID to 'fieldID1'.
% TODO - Replace the [] with channel ID to read data from:
readChannelID = [];
% TODO - Replace the [] with the Field ID to read data from:
fieldID1 = [];
% Channel Read API Key
% If your channel is private, then enter the read API
% Key between the '' below:
readAPIKey = '';
%% Read Data %%
[data, time] = thingSpeakRead(readChannelID, 'Field', fieldID1, 'NumPoints', 30, 'ReadKey', readAPIKey);
%% Visualize Data %%
plot(time, data);
Read here more about arguments that function thingSpeakRead
can receive
25.2 Python
We will be using Jupyter Notebook as our python interface. There are many ways of running python, we chose Jupyter because it allows for easy prototyping, and the Markdown cells are great for documentation.
Jupyter Notebook{: .button}