# 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.

# 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.

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

# And now… Bitcoins!

The concept of the Bitcoin is still a bit mysterious for me. The idea seems fair in a general view; however, the use of it is what worries me.

Of course, when you’re using electronic means to do your transactions, you can always have a bug or something that suddenly fucks it up. I don’t want to rely my entire income in some virtual payment. 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.

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);```

# 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.

# A fancy visualization of planes intersecting – Part 1

Well, it might not be the fanciest thing in the world but it surely looks good when you try to visualize your data. You know me, I always graph whatever I do, otherwise I don’t get many ideas. I have to see what is going on, and perhaps are many people like me.

This time I’m gonna share a very simple and nice way to visualize the solution of a linear equation system with 3 unknowns and 3 equations. 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?

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:

# Visual Navigation for Flying Robots

Free lectures! Free courses on-line! Free! Free!

Got your attention? I’m like spam.

So far, so good. It has been a year since I decided to get fully involved in this field of Computer Vision, and hasn’t been easy, but I gotta say it is full of surprises. My University has been strongly doing some research about it, and a proof of that is that the 3D Computer Vision course given in Coursera is actually done by a Professor in my university (tho in German). So, I think we’re moving quite strong.

My curiosity took me to the Computer Vision chair of the Informatics Department at the TUM and I think this semester they completely got me, as I’m planning to get the 3 lectures given there: Visual Navigation for Flying Robots, Multiple View Geometry and Machine Learning for Robotics and Computer Vision. Robotics, Machine Learning and Computer Vision! Makes my mouth water. Huh! Beautiful. Continue reading