Boost your Octave (for MATLAB users)

Let’s face it, you are using Octave because MATLAB is too expensive for you. Maybe you’re not student anymore and got used to play with MATLAB, but now you need the best free alternative.

Certainly, if money is not a problem, MATLAB would overperform Octave in most of their characteristics (not all of them and I’ll show you) and is surely the best option.

Fear not! GNU Octave is here, and yes, it is indeed the best alternative to MATLAB, but… it’s not the same. We know, and here I present some useful tips to avoid any conflict with your migration to the Octave world.

Octave-logo Continue reading

Kalman Filter – A painless approach

Needless to say but Kalman Filtering is one of the most powerful estimation processes in almost any Engineering field. From robotic vacuums to Satellite Guidance, it is everywhere. Here I will explain the how’s and why’s of the Kalman Filter (KF) in our lives.

keep-kalm-an-filter-7

Any decent technological project will use this robust method for the final estimation of the position of any intelligent system. The format of the given information can be, fortunately, represented as a Gaussian state.

Thanks to this property, it is possible to use Gaussian filters (KF is one of them), in order to improve the final estimation.

Gaussian modelling estimations are going to be carried in this explanation, so it is preferable to have this mathematical background (a simple understanding is enough) in order to follow the presented technique. Continue reading

A fancy visualization of planes intersecting – Part 3 (and Final)

The mystery is over! From the previous posts we have seen the way we can generate a random plane, and visualize 3 of them at the same time showing their intersecting point.

It might be enough for some simple visual purposes, but we are more ambitious than that and we want to get it fancier.planes intersecting

And that’s why I’m here! This final step would be to achieve a neat visualization of our three planes and even the equations involved. Let’s begin with what we have so far:

P = rand(3);
d = rand(3,1);
x = P\d;
hold on
drawPlane(P(1,:), d(1))
drawPlane(P(2,:), d(2))
drawPlane(P(3,:), d(3))
scatter3(x(1), x(2), x(3))

Where the function drawPlane was defined as:

function drawPlane(P, d)
[x, y] = meshgrid(-10:10);
z = -(1/P(3))*(P(1)*x + P(2)*y - d);
surf(x, y, z);

Continue reading

A fancy visualization of planes intersecting – Part 2

All right, I know I let you abandoned for a bit. But the last trip to Barcelona and the ongoing final exams in the University haven’t given me any chance to keep this. But I’m gonna take some minutes to finally write about the visualization of our planes.

In the last post we analyzed how a plane is constructed given the equation ax+by+cz = d. Then, given the parameters of this equation, I showed you how to generate its corresponding plane in Matlab.

Now I’m gonna keep this post short (sorry for the inconvenience), but here we are going to set 3 planes in a single visualization. In a third post, we’ll make all pretty and fancy.

planes intersecting

Continue reading

How to use polyval

One of the easiest and most useful tools in Matlab is polyval, a very nice function that evaluates a polynomial function given its parameters and the range to evaluate… huh? All right, all right, we wanna be clear here, right?

polyval_matlab

Suppose we are given a polynomial function, let’s say:

f(x) = 3x^3 + 4x + 2

and we would like to represent it in Matlab like that. Well, we cannot just write it like that. Remember Matlab is a numerical computation programm, which means, that it won’t compute any symbol. So forget it if you wanna computate something writting letters. Matlabs wants only numbers. You might put names to the variables, but still, Matlab computes only with numbers.

Now, what to do? There’s where our great friend polyval comes to the rescue! Continue reading

The best Octave tutorial

Yes, as the title says, the best Octave tutorial out there is the one made by Professor Andrew Ng from Stanford. He started his world-famous Coursera almost two years ago. Now is one of the most successful companies in the world, why? Because it really gives what it promises and more: makes you understand Science.

Well, well go deep on it by yourself. These videos down are one of the first videos that Profr. Ng made for the course “Machine Learning”. I took it a year ago in its original website ml-class.org and it amazed me. I understood everything and didn’t have to smash my head to do so.

One of the chapters of his class was about handling Octave, the best free substitute for Matlab. Are you eager to master these computing tools? Dive into Octave next to Professor Ng. I promise you will be also amazed by the clear and concise way he teaches. This, my dear people, is the best Octave tutorial ever:

Part 1:
Continue reading