Matlab

NOTE : This is not a matlab tutorial, this is my private Matlab notebook .. so do not expect too many comments. :)

Import LVM file

you can import LVM file by using lvm_import('file') from here
it returns a struc

Structures

usage similar to objects in C …. for example …
b=a.Segment1.data;

Rows and Columns

Lets assume we have a matrix Nx3
then to get second column we need to type : b(:,2)

Filters

nice filter example based on wav file

Example on Band Path Filter

n = 6;
% Frequencies to keep is between 200 to 800, while the sampling frequency is 4kHz, which leads to half frequency of 2kHz.
f = 4000
Wn = [200 800]/(f/2)
ftype='bandpass'
[b,a]=butter(n,Wn,ftype)
filteredData=filfilt(b,a,theData)

It is also possible to see the frequency response of the filter …
lets assume at f=4,000Hz …

f=4000
freqz(b,a,128,f);

Export Images of High Resolution

This example exports Figure No. 1 at a resolution of 300 dpi to a 24-bit JPEG file, myfigure.jpg.

print -djpeg -f1 -r300 myfigure

Statistics

Histogram

can be useful to check the distribution …

hist(data, number)

data is the data array …. number is the number of the bars to divide the histogram for … 7 is ok …

Plotting

BoxPlot

I spent so long trying to figure out how to change labels and their size in BoxPlot Matlab. Here I am jotting down my discoveries, and hopefully google would spread the knowledge for others to follow.

boxplot(something);
set(gca,'XTick',[1 2 3 4 5 ], 'XTickLabel',{'L-2' 'L0' 'L2' 'L2' 'L2'}, 'FontSize', 20 );

Interestengly, if you take the XTick off, it would not work !
There are more explanations on how to make it through childrens,pointers, and other non-direct approaches here

Plotting ErrorBars

Ploterr is a nice tool to plot horisontal or vertical erorr bars : [http://www.mathworks.com/matlabcentral/fileexchange/22216]

Fitting a line

very nice explanation is here : [http://www.ece.utah.edu/~harrison/ece6721/MATLAB_curve_fitting.pdf]

Simple Linear Polyfit

p=polyfit(x, y,1);
xx=(10:1:40)';
f=polyval(p,xx);
plot(xx,f,'-',x, y,'o');

Complicated one

fminsearch - give it a function and it would find the correlation …

Estimates=fminsearch(@myfit,Starting,options,x_err,y_err)

check correlation coefficiency

give it measured values and estimated, it would calculate the R ..

correlation=corrcoef( y_err , weight_estimate )

Pretty graphs …

http://blogs.mathworks.com/loren/2007/12/11/making-pretty-graphs/