Posts Tagged ‘code’

Matlab: Low pass filter

Lunes, agosto 24th, 2009

Simple lowpass filter code for matlab, suitable to remove high frequency noise from measures.

This code filters 3 columns of data (plus an index in first column) and displays a plot with the original and filtered data. After that, it does it again using a different lowpass equation, just for comparision.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
function y = lowpass(x,dt,RC)

% y=lowpass(data,dt,RC);
% data (x) rows: [ sample_num, X_value, Y_value, Z_value]
% output (y) rows: [X_value, Y_value, Z_value, X_filtered, Y_filtered, Z_filtered]

alfa= dt / (RC + dt)
num=length(x)
cols=4;
for j=1:cols
y(1,j)=x(1,j);
end
for i=2:num
for j=2:cols
y(i,1)=x(i,1);
y(i,j) = alfa * x(i,j) + (1-alfa) * y(i-1,j) ;
end
end
figure
hold on
y=cat(2,x(:,2:4),y(:,2:4))
plot(x(:,1)*dt,y)
title(['low1 RC=',num2str(RC)])
legend('X','Y','Z','Xf','Yf','Zf')

% Alternative lowpass
a = exp(-dt / RC);
b = 1.0 - RC * (1.0 - a) / dt;
c = 1.0 - b - a;
for i=2:num
for j=2:cols
y(i,1)=x(i,1);
y(i,j) = a * y(i-1,j) + b * x(i,j) + c * x(i-1,j);
end
end
y2=cat(2,x(:,2:4),y(:,2:4))
plot(x(:,1)*dt,y2)
title(['low2 RC=',num2str(RC)])
legend('X','Y','Z','Xf','Yf','Zf')

Nueva sección: “Code snippets”

Lunes, agosto 24th, 2009

Es decir, pequeños trozos de código que voy escribiendo o encontrando por ahí, y que iré colgando aquí a modo de portapapeles permanente, para recordar funciones o algoritmos que pueden serme (o a mis visitantes) útiles de nuevo más adelante…

1
2
3
4
5
6
7
#include <iostream>

int main(int argc, char* argv[])
{
  cout << "Hello World!" << endl;
  return 0;
}

He barajado también utilizar alguno de los servicios que hay online que hacen justo esto. Pero, ya que al final yo siempre acabo acudiendo a un buscador general para encontrar trozos de código que necesite, creo que por ahora es mejor idea guardar mis snippets en el blog.

Eso sí, me temo que el mundo de la programación funciona en inglés, así que probablemente en esta sección la mayor parte de las entradas (si no todas) estarán en inglés, principalmente para hacerlas más accesibles a quien pueda buscarlas a través de un buscador.

Por cierto, en principio voy a utilizar el plugin CodeColorer para colorear automágicamente las líneas de código.

Reemplazo de cadenas en MySQL

Viernes, agosto 21st, 2009

Tras la migración a WordPress he tenido que hacer algunos ajustes a la base de datos que se me pasaron al traducir mi vieja base de datos a la nueva.

Entre ellos está que el sistema de enlaces permanentes (a.k.a permalinks) de WordPress hace que se pueda llegar a un artículo utilizando diferentes rutas, por ejemplo: Podemos llegar al anuncio de una exposición fotográfica así Y así, lo que está muy bien, pero supone un problema para las rutas relativas (que es como yo insertaba las imágenes).

Una solución (que funciona, pero no me gusta mucho) es sustituir las rutas relativas a la carpeta de imágenes por rutas absolutas, reemplazando el texto directamente en la base de datos MySQL, con la siguiente sentencia:

update wp_posts set post_content = replace(post_content, '=\'imagenes', '=\'/imagenes')

Con ella reemplazamos todas las cadenas “=’imagenes” por “=’/imagenes”, que debería solucionar el problema :-)