[Master Index]
[Index for PublicToolbox/regutools]
plot_lc
(PublicToolbox/regutools/plot_lc.m in BrainStorm 2.0 (Alpha))
Function Synopsis
plot_lc(rho,eta,marker,ps,reg_param)
Help Text
PLOT_LC Plot the L-curve.
plot_lc(rho,eta,marker,ps,reg_param)
Plots the L-shaped curve of the solution norm
eta = || x || if ps = 1
eta = || L x || if ps = 2
as a function of the residual norm rho = || A x - b ||. If ps is
not specified, the value ps = 1 is assumed.
The text string marker is used as marker. If marker is not
specified, the marker '-' is used.
If a fifth argument reg_param is present, holding the regularization
parameters corresponding to rho and eta, then some points on the
L-curve are identified by their corresponding parameter.
Cross-Reference Information
This function is called by
- l_curve C:\BrainStorm_2001\PublicToolbox\regutools\l_curve.m
- regudemo C:\BrainStorm_2001\PublicToolbox\regutools\regudemo.m
Listing of function C:\BrainStorm_2001\PublicToolbox\regutools\plot_lc.m
function plot_lc(rho,eta,marker,ps,reg_param)
%PLOT_LC Plot the L-curve.
%
% plot_lc(rho,eta,marker,ps,reg_param)
%
% Plots the L-shaped curve of the solution norm
% eta = || x || if ps = 1
% eta = || L x || if ps = 2
% as a function of the residual norm rho = || A x - b ||. If ps is
% not specified, the value ps = 1 is assumed.
%
% The text string marker is used as marker. If marker is not
% specified, the marker '-' is used.
%
% If a fifth argument reg_param is present, holding the regularization
% parameters corresponding to rho and eta, then some points on the
% L-curve are identified by their corresponding parameter.
% Per Christian Hansen, UNI-C, 03/17/93.
% Set defaults.
if (nargin==2), marker = '-'; end % Default marker.
if (nargin < 4), ps = 1; end % Std. form is default.
np = 10; % Number of identified points.
% Initialization.
if (ps < 1 | ps > 2), error('Illegal value of ps'), end
n = length(rho); ni = round(n/np);
% Make plot.
if (max(eta)/min(eta) > 10 | max(rho)/min(rho) > 10)
if (nargin < 5)
loglog(rho,eta,marker)
else
loglog(rho,eta,marker,rho(ni:ni:n),eta(ni:ni:n),'x')
HoldState = ishold; hold on;
for k = ni:ni:n
text(rho(k),eta(k),num2str(reg_param(k)));
end
if (~HoldState), hold off; end
end
else
if (nargin < 5)
plot(rho,eta,marker)
else
plot(rho,eta,marker,rho(ni:ni:n),eta(ni:ni:n),'x')
HoldState = ishold; hold on;
for k = ni:ni:n
text(rho(k),eta(k),num2str(reg_param(k)));
end
if (~HoldState), hold off; end
end
end
xlabel('residual norm || A x - b ||')
if (ps==1)
ylabel('solution norm || x ||')
else
ylabel('solution semi-norm || L x ||')
end
title('L-curve')
Produced by color_mat2html, a customized BrainStorm 2.0 (Alpha) version of mat2html on Tue Oct 12 12:05:14 2004
Cross-Directory links are: ON