Joy of Learning...
Thursday 10 September 2015
Thursday 5 March 2015
How to change default settings for figures in Matlab?
1. Use the following commands
set(0,'DefaultTextFontsize',8, ...
'DefaultTextFontname','Times New Roman', ...
'DefaultTextFontWeight','bold', ...
'DefaultAxesFontsize',8, ...
'DefaultAxesFontname','Times New Roman', ...
'DefaultLineLineWidth', 2);
set(0,'DefaultTextFontsize',8, ...
'DefaultTextFontname','Times New Roman', ...
'DefaultTextFontWeight','bold', ...
'DefaultAxesFontsize',8, ...
'DefaultAxesFontname','Times New Roman', ...
'DefaultLineLineWidth', 2);
Wednesday 11 February 2015
How to reduce the gap (space) between subplots in Matlab?
1. tight_subplot is a very good function which does exactly the same and gives us access to control the space between subplots.
Example:
figure(140);clf
%Units are normalized to 1.
gap = [0.005 0.005]; %lower, uppper between subplots
figureMargin_topAndBottom = [.2 .15];
figureMargin_leftAndirght = [.2 .15];
ha = tight_subplot(2,2,gap, figureMargin_topAndBottom, figureMargin_leftAndirght)
corrMs = randn(100);
for ii = 1:1:4
axes(ha(ii)), % this is important.... this activates that particular subplot
surf(abs(corrMs)); shading interp
view(0,0); % viewing from x-dimension (x-z axes)
if ii > 2
view(90,0); % just viewing from another dimension (y-z axes)
end
end
set(ha(2),'ZTickLabel',[]);
set(ha(4),'ZTickLabel',[]);
set(ha(1:2),'YTickLabel',[]);
set(ha(3:4),'XTickLabel',[]);
set(gcf, 'Color', 'w'); % background of the figure, outside the axes
axes(ha(3)); % this activates the axes and lets you add the attributes to that subplot
ylabel('X Data');
zlabel('Z Data');
Example:
figure(140);clf
%Units are normalized to 1.
gap = [0.005 0.005]; %lower, uppper between subplots
figureMargin_topAndBottom = [.2 .15];
figureMargin_leftAndirght = [.2 .15];
ha = tight_subplot(2,2,gap, figureMargin_topAndBottom, figureMargin_leftAndirght)
corrMs = randn(100);
for ii = 1:1:4
axes(ha(ii)), % this is important.... this activates that particular subplot
surf(abs(corrMs)); shading interp
view(0,0); % viewing from x-dimension (x-z axes)
if ii > 2
view(90,0); % just viewing from another dimension (y-z axes)
end
end
set(ha(2),'ZTickLabel',[]);
set(ha(4),'ZTickLabel',[]);
set(ha(1:2),'YTickLabel',[]);
set(ha(3:4),'XTickLabel',[]);
set(gcf, 'Color', 'w'); % background of the figure, outside the axes
axes(ha(3)); % this activates the axes and lets you add the attributes to that subplot
ylabel('X Data');
zlabel('Z Data');
Thursday 18 December 2014
Thursday 11 December 2014
How to fit (curve-fit) a histogram using Gaussian / Normal distribution, in Matlab?
1. Use 'histfit'
histfit(DATA,NBINS)
%By default it will fit the histogram with the normal distribution.
2. There are lots of other distributions supported by the 'histfit'. The details are given in this Matlab link. Quick look of supported distributions from this link:
3. Example of 'histfit' with normal distribution for GPS residuals.
histfit(DATA,NBINS)
%By default it will fit the histogram with the normal distribution.
2. There are lots of other distributions supported by the 'histfit'. The details are given in this Matlab link. Quick look of supported distributions from this link:
3. Example of 'histfit' with normal distribution for GPS residuals.
Thursday 4 December 2014
How to have all the functions in a single file, instead of having individual .m file for each function, in Matlab?
1. It is easy. It can be done by using functions-even the top level script should also be written as a function. An example is given below:
All these functions are present in Top.m
function Top
a = GetValue(1);
b = GetValue(2);
s = Sum2Num(a,b)
end
function val = GetValue(n)
val = n;
end
function s = Sum2Num(a,b)
s = a + b;
end
All these functions are present in Top.m
function Top
a = GetValue(1);
b = GetValue(2);
s = Sum2Num(a,b)
end
function val = GetValue(n)
val = n;
end
function s = Sum2Num(a,b)
s = a + b;
end
How to read a formatted text (ASCII) file in Matlab?
1. If a text (ASCII) file contains data with different data types then 'load' command is not useful. Then, one option can be to use TEXTSCAN with the format specifier as shown below.
fid = fopen(fileName)
formatSpec = '%f %s %f %f'
data = textscan(fid,formatSpec,3600*1,'Delimiter',',','CollectOutput', true);
fclose(fid)
The output will be a cell array. Each cell contains each of the elements. If you...
CollectOutput - will collect the consecutive data of same type in a single cell array.
Delimiter - lets you specify the delimiter used in the text file. If do not use the 'Delimiter' option then space is treated as the delimiter.
2. Many examples are given in the Matlab link given above:
fid = fopen(fileName)
formatSpec = '%f %s %f %f'
data = textscan(fid,formatSpec,3600*1,'Delimiter',',','CollectOutput', true);
fclose(fid)
The output will be a cell array. Each cell contains each of the elements. If you...
CollectOutput - will collect the consecutive data of same type in a single cell array.
Delimiter - lets you specify the delimiter used in the text file. If do not use the 'Delimiter' option then space is treated as the delimiter.
2. Many examples are given in the Matlab link given above:
Subscribe to:
Posts (Atom)