{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# 5. Introduction to MATLAB/octave\n", "
Edward Sternin
October, 2025
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "MATLAB is a powerful, widely used, \"desktop environment tuned for iterative analysis and design processes\" and \"a programming language that expresses matrix and array mathematics directly.\" It is a commercial product and requires an [expensive] license to run, although student discounts do exist.\n", "\n", "GNU Octave (in short, octave), is a free-software alternative to MATLAB. Its interpreter is mostly compatible with MATLAB and reproduces a large part of the numerical facilities of MATLAB. It is available as both a command-line interpreter and as a GUI-driven programming environment. As free software it has acquired a broad distribution in the scientific community. In particular, it is available on vastly parallel computing farms dedicated to scientific computing (such as SHARCNET), which makes it the environment of choice for many physicists. It is also available both as a standalone kernel and as a loadable extension within jupyter notebooks; these are installed on our cluster.\n", "\n", "This notebook is, in fact, running under an octave kernel (see in the upper right corner).\n", "\n", "As the two environments are almost 100% syntax-compatible, we will always refer to the code as octave, but almost everything will also be applicable to MATLAB environments." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Matrices and vectors\n", "\n", "One of the important quirks of octave syntax is that its elementary object is a matrix. If in eXtrema, separate types exist for vectors and matrices, octave takes the view of vectors being a particular kind of a matrix, with one of the dimensions being of size 1. Thus it distinguishes between column and row vectors and many errors you encounter will likely have to do with failures to keep track and convert between the two types of vectors as appropriate.\n", "\n", "Here are a few different ways of creating and manipulating matrices and vectors." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\u001b[?2004l\n", "\n", "\n", "\n", "\u001b[?2004h\n", "\u001b[?2004l\n", "\n", "\n", "\n", "\u001b[?2004h\n", "\u001b[?2004l\n", "\n", "\n", "\n", "\u001b[?2004h\n", "\u001b[?2004l\n", "A =\n", "\n", " 1 2 3\n", " 4 5 6\n", "\n", "\u001b[?2004h\u001b[?2004l\n", "B =\n", "\n", " 0.151246 0.207771 0.043157\n", " 0.869332 0.604920 0.516304\n", " 0.716739 0.482289 0.163340\n", " 0.296572 0.161655 0.951600\n", "\n", "\u001b[?2004h\u001b[?2004l\n", "I =\n", "\n", "Diagonal Matrix\n", "\n", " 1 0 0\n", " 0 1 0\n", " 0 0 1\n", "\n", "\u001b[?2004h\u001b[?2004l\n", "Z =\n", "\n", " 0 0\n", " 0 0\n", "\n", "\u001b[?2004h" ] } ], "source": [ "A = [ 1 2 3; 4 5 6]\n", "B = rand(4,3)\n", "I = eye(3)\n", "Z = zeros(2,2)" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\u001b[?2004l\n", "v =\n", "\n", " 1 2 3\n", "\n", "\u001b[?2004h\u001b[?2004l\n", "ans =\n", "\n", " 1\n", " 2\n", " 3\n", "\n", "\u001b[?2004h\u001b[?2004l\n", "w =\n", "\n", " 4\n", " 5\n", " 6\n", "\n", "\u001b[?2004h\u001b[?2004l\n", "ans =\n", "\n", " 4 5 6\n", "\n", "\u001b[?2004h\u001b[?2004l\n", "t =\n", "\n", " 0\n", " 0\n", " 0\n", "\n", "\u001b[?2004h\u001b[?2004l\n", "s =\n", "\n", " 0 0 0 0 0 0 0 0\n", "\n", "\u001b[?2004h" ] } ], "source": [ "v = [1 2 3]\n", "v'\n", "w = [4;5;6]\n", "w'\n", "t = zeros(3,1)\n", "s = zeros(1,8)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\u001b[?2004l\n", "ans = 32\n", "\u001b[?2004h\u001b[?2004l\n", "ans = 32\n", "\u001b[?2004h\u001b[?2004l\n", "ans =\n", "\n", " 4 10 18\n", "\n", "\u001b[?2004h\u001b[?2004l\n", "ans =\n", "\n", " 4 10 18\n", "\n", "\u001b[?2004h\u001b[?2004l\n", "ans =\n", "\n", " 4 8 12\n", " 5 10 15\n", " 6 12 18\n", "\n", "\u001b[?2004h\u001b[?2004l\n", "ans =\n", "\n", " 4 8 12\n", " 5 10 15\n", " 6 12 18\n", "\n", "\u001b[?2004h\u001b[?2004l\n", "ans =\n", "\n", " -3 6 -3\n", "\n", "\u001b[?2004h\u001b[?2004l\n", "ans =\n", "\n", " 3\n", " -6\n", " 3\n", "\n", "\u001b[?2004h\u001b[?2004l\n", "warning: cross: taking cross product of column by row\n", "warning: called from\n", " cross at line 62 column 7\n", "\n", "ans =\n", "\n", " 3\n", " -6\n", " 3\n", "\n", "\u001b[?2004h" ] } ], "source": [ "v*w\n", "1*4 + 2*5 + 3*6\n", "v.*w'\n", "[1*4 2*5 3*6]\n", "v.*w\n", "[1*4 2*4 3*4; 1*5 2*5 3*5; 1*6 2*6 3*6]\n", "cross(v,w')\n", "cross(w,v')\n", "cross(w,v)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h" ] } ], "source": [ "system('rm -rf ~/5P10/Lab4');\n", "system('mkdir -p ~/5P10/Lab4');" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h" ] } ], "source": [ "system('cp -r /work/5P10/Lectures/octave-tutorial ~/5P10/Lab4');\n", "\n", "### if you are NOT on one of our workstations, use the following:\n", "### -r = --recursive\n", "### -nH = --no-host-directories\n", "### -np = --no-parent\n", "### -R = --reject\n", "#system('wget -r -nH -np --cut-dirs=3 -R \"index.html*\" http://www.physics.brocku.ca/Courses/5P10/Lectures/octave-tutorial/');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Elementary operations and interactions with octave\n", "\n", "There is no need to reproduce the essential introduction, as it exists:\n", "\n", " * a simple tutorial; and\n", " * a comprehensive Reference Manual.\n", "\n", "Students are expected to work through the tutorial on their own, and learn how to use and search the online documentation. octaveBasic must be completed now, other parts of the tutorial will be reviewed later as needed, and completed as homework.\n", "\n", "A crucial part for us is the ability to read in, analyze and plot experimentala data. The rest of this notebook is dedicated to learning how to do this." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Created file '/home/edik/5P10/Lab4/VI.dat'.\n" ] } ], "source": [ "%%file ~/5P10/Lab4/VI.dat\n", "# V I,mA\n", " 0 0.468\n", " 1 0.405\n", " 2 0.342\n", " 3 0.279\n", " 4 0.216\n", " 5 0.153\n", " 6 0.090\n", " 6.4 0.064" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The basic operation for this simple file is trivial: we know it's a text file, with one header line and two columns of floating-point data:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h" ] } ], "source": [ "## this syntax is simpler, but textread() has been declared obsolete\n", "## [V,I] = textread('VI.dat',\"%f %f\",'headerlines',1);\n", "\n", "fp = fopen('~/5P10/Lab4/VI.dat','r');\n", "data = textscan(fp,\"%f %f\",'HeaderLines',1);\n", "V = data(:,1);\n", "I = data(:,2);\n", "fclose(fp);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In general, though, octave has multiple ways of bringing in data, and can deal with a variety of file formats, some highly structured (like spreadheet files, for example). When little is known about the format of the data file, importdata() is a useful tool. After a little digging through the file structure, the same result can be obtained: two column vectors, V and I." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "Variables visible from the current scope:\n", "\n", "variables in scope: top scope\n", "\n", " Attr Name Size Bytes Class\n", " ==== ==== ==== ===== ===== \n", " D 1x1 139 struct\n", "\n", "Total is 1 element using 139 bytes\n", "\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "ans =\n", "{\n", " [1,1] = data\n", " [2,1] = textdata\n", "}\n", "\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "V =\n", "\n", " 0\n", " 1.0000\n", " 2.0000\n", " 3.0000\n", " 4.0000\n", " 5.0000\n", " 6.0000\n", " 6.4000\n", "\n", "\u001b[?2004h\u001b[?2004l\n", "I =\n", "\n", " 0.468000\n", " 0.405000\n", " 0.342000\n", " 0.279000\n", " 0.216000\n", " 0.153000\n", " 0.090000\n", " 0.064000\n", "\n", "\u001b[?2004h" ] } ], "source": [ "D = importdata('~/5P10/Lab4/VI.dat',' ',1);\n", "\n", "### the file is imported as one unified structure, so \"whos\" yields little insight\n", "whos D\n", "### the first step is to identify what is in the structure ...\n", "fieldnames(D)\n", "\n", "#D.textdata\n", "#D.data\n", "\n", "### ... and then follow down to locate and extract the data itself\n", "V = D.data(:,1)\n", "I = D.data(:,2)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\u001b[?2004l\n", "ans =\n", "{\n", " [1,1] = fltk\n", " [1,2] = gnuplot\n", "}\n", "\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h" ] } ], "source": [ "available_graphics_toolkits()\n", "graphics_toolkit(\"gnuplot\");" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\u001b[?2004l\n", "ans =\n", "\n", " 0 0\n", " 1.0000 0.4050\n", " 2.0000 0.6840\n", " 3.0000 0.8370\n", " 4.0000 0.8640\n", " 5.0000 0.7650\n", " 6.0000 0.5400\n", " 6.4000 0.4096\n", "\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h" ] }, { "data": { "image/png": "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", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "[V,V.*I]\n", "\n", "plot(V,V.*I,'go')\n", "#,'go','MarkerSize',2);\n", "ylabel(\"Power P=VI, mW\");\n", "xlabel(\"Voltage, V\");" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h" ] }, { "data": { "image/png": "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", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "### this is needed if the graph is to contain multiple plots\n", "hold on\n", "\n", "plot(V,V.*I,'g+','MarkerSize',10);\n", "\n", "### fit to n-degree polynomial yields a vector of n+1 coefficients of fit\n", "cf = polyfit(V,V.*I,2);\n", "### which can be used to generate a polynomial function that can be plotted\n", "#plot(V,polyval(cf,V),'r-');\n", "\n", "### except there aren't enough points to define a smooth curve, \n", "### so apply the same fit coefficients to a much finer-grid vector\n", "VV = linspace(min(V),max(V),1000);\n", "plot(VV,polyval(cf,VV),'r-');\n", "\n", "ylabel(\"Power P=VI, mW\");\n", "xlabel(\"Voltage, V\");\n", "\n", "hold off" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h" ] }, { "data": { "image/png": "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", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "### here, for inline SVG graphics, multiple figures (frames) will show up on the same graph;\n", "### when using built-in octave-to-gnuplot interface, these commands would produce multiple graphics windows\n", "figure(1)\n", "\n", "### this is needed if the figure is to contain multiple plots\n", "hold on\n", "\n", "plot(V,V.*I,'go','MarkerSize',8); # P = V*I\n", "\n", "### fit to n-degree polynomial yields a vector of n+1 coefficients of fit\n", "cf = polyfit(V,V.*I,2);\n", "### which can be used to generate a polynomial function that can be plotted\n", "#plot(V,polyval(cf,V),'r-');\n", "\n", "### except there aren't enough points to define a smooth curve, \n", "### so apply the same fit coefficients to a much finer-grid vector\n", "VV = linspace(min(V),max(V),1000);\n", "plot(VV,polyval(cf,VV),'r-');\n", "\n", "ylabel(\"Power P=VI, mW\");\n", "xlabel(\"Voltage, V\");\n", "\n", "hold off\n", "\n", "figure(2)\n", "hold on\n", "plot(V,V./I,'go','MarkerSize',8); # R = V/I\n", "\n", "plot(V,polyval(cf,V)./(I.*I),'r-'); # R = V/I = P/I^2\n", "\n", "#II = polyval(cf,VV) ./ VV; # I = P/V\n", "#plot(VV,polyval(cf,VV)./(II.*II),'r-'); # R = V/I = P/I^2\n", "\n", "ylabel(\"Resistance R=V/I, kOhm\");\n", "xlabel(\"Voltage, V\");\n", "hold off\n", "\n", "print -dpng VI.png" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Homework\n", "

\n", " Work your way through the remaining sections of the octave tutorial.\n", "

\n", " Convert one of previously obtained graphs (the analysis of data from VI.dat or Cavendish.dat) from gnuplot or eXtrema to octave. Demonstrate how to display multiple frames (one above or beside the other), annotate your figures clearly to communicate the same information (maximum of power, and the resistance at which this maximum occurs, or the period of oscillations, etc.)." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h\u001b[?2004l\n", "\u001b[?2004h" ] }, { "data": { "image/png": "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", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "Data = dlmread(\"/work/5P10/Cavendish.dat\",'',[4,0,105,1]);\n", "t1 = Data(:,1);\n", "x1 = Data(:,2);\n", "\n", "Data = dlmread(\"/work/5P10/Cavendish.dat\",'',[109,0,inf,1]);\n", "t2 = Data(:,1);\n", "x2 = Data(:,2);\n", "\n", "### the first point of the 2nd dataset is also the last point of the 1st dataset\n", "t1 = [t1;t2(1)];\n", "x1 = [x1;x2(1)];\n", "\n", "plot(t1,x1,'co;S_1 data;','MarkerSize',4,'markerfacecolor','cyan',\n", " t2,x2,'go;S_2 data;','MarkerSize',4,'markerfacecolor','green');\n", "\n", "xlabel('{\\it t}, min');\n", "ylabel('{\\it x(t)}, cm');\n", "legend(\"boxoff\");\n", "# gca = get current axes\n", "set(gca,'fontsize',20,'linewidth',5);" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "hide_input": false, "kernelspec": { "display_name": "Octave", "language": "octave", "name": "octave" }, "language_info": { "file_extension": ".m", "help_links": [ { "text": "GNU Octave", "url": "https://www.gnu.org/software/octave/support.html" }, { "text": "Octave Kernel", "url": "https://github.com/Calysto/octave_kernel" }, { "text": "MetaKernel Magics", "url": "https://metakernel.readthedocs.io/en/latest/source/README.html" } ], "mimetype": "text/x-octave", "name": "octave", "version": "8.4.0" }, "toc": { "nav_menu": {}, "number_sections": false, "sideBar": true, "skip_h1_title": false, "toc_cell": false, "toc_position": {}, "toc_section_display": "block", "toc_window_display": false } }, "nbformat": 4, "nbformat_minor": 2 }