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

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.

bitcoin-logo

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

A fancy visualization of planes intersecting – Part 1

planes intersecting

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?

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