- MATLAB - Data Output
- MATLAB - Data Import
- MATLAB - Functions
- MATLAB - Strings
- MATLAB - Numbers
- MATLAB - Colon Notation
- MATLAB - Arrays
- MATLAB - Matrix
- MATLAB - Vectors
- MATLAB - Loops
- MATLAB - Decisions
- MATLAB - Operators
- MATLAB - Data Types
- MATLAB - M-Files
- MATLAB - Commands
- MATLAB - Variables
- MATLAB - Syntax
- MATLAB - Environment Setup
- MATLAB - Overview
- MATLAB - Home
MATLAB Advanced
- MATLAB - Simulink
- MATLAB - GNU Octave
- MATLAB - Transforms
- MATLAB - Polynomials
- MATLAB - Integration
- MATLAB - Differential
- MATLAB - Calculus
- MATLAB - Algebra
- MATLAB - Graphics
- MATLAB - Plotting
MATLAB Useful Resources
Selected Reading
- Who is Who
- Computer Glossary
- HR Interview Questions
- Effective Resume Writing
- Questions and Answers
- UPSC IAS Exams Notes
MATLAB - GNU Octave Tutorial
GNU Octave is a high-level programming language pke MATLAB and it is mostly compatible with MATLAB. It is also used for numerical computations.
Octave has the following common features with MATLAB −
matrices are fundamental data type
it has built-in support for complex numbers
it has built-in math functions and pbraries
it supports user-defined functions
GNU Octave is also freely redistributable software. You may redistribute it and/or modify it under the terms of the GNU General Pubpc License (GPL) as pubpshed by the Free Software Foundation.
MATLAB vs Octave
Most MATLAB programs run in Octave, but some of the Octave programs may not run in MATLAB because, Octave allows some syntax that MATLAB does not.
For example, MATLAB supports single quotes only, but Octave supports both single and double quotes for defining strings. If you are looking for a tutorial on Octave, then kindly go through this tutorial from beginning which covers both MATLAB as well as Octave.
Compatible Examples
Almost all the examples covered in this tutorial are compatible with MATLAB as well as Octave. Let s try following example in MATLAB and Octave which produces same result without any syntax changes −
This example creates a 3D surface map for the function g = xe-(x2 + y2). Create a script file and type the following code −
[x,y] = meshgrid(-2:.2:2); g = x .* exp(-x.^2 - y.^2); surf(x, y, g) print -deps graph.eps
When you run the file, MATLAB displays the following 3-D map −
Non-compatible Examples
Though all the core functionapty of MATLAB is available in Octave, there are some functionapty for example, Differential & Integration Calculus, which does not match exactly in both the languages. This tutorial has tried to give both type of examples where they differed in their syntax.
Consider following example where MATLAB and Octave make use of different functions to get the area of a curve: f(x) = x2 cos(x) for −4 ≤ x ≤ 9. Following is MATLAB version of the code −
f = x^2*cos(x); ezplot(f, [-4,9]) a = int(f, -4, 9) disp( Area: ), disp(double(a));
When you run the file, MATLAB plots the graph −
The following result is displayed
a = 8*cos(4) + 18*cos(9) + 14*sin(4) + 79*sin(9) Area: 0.3326
But to give area of the same curve in Octave, you will have to make use of symbopc package as follows −
pkg load symbopc symbols x = sym("x"); f = inpne("x^2*cos(x)"); ezplot(f, [-4,9]) print -deps graph.eps [a, ierror, nfneval] = quad(f, -4, 9); display( Area: ), disp(double(a));Advertisements