File: FindLinMod.m

package info (click to toggle)
psychtoolbox-3 3.0.19.14.dfsg1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 86,796 kB
  • sloc: ansic: 176,245; cpp: 20,103; objc: 5,393; sh: 2,753; python: 1,397; php: 384; makefile: 193; java: 113
file content (24 lines) | stat: -rw-r--r-- 684 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
function [B,A] = FindLinMod(X,n_dimension)
% [B,A] = FindLinMod(X,n_dimension)
% 
% Find an n_dimension linear model for the
% data in the columns of X.
%
% B - basis matrix for the linear model
%  (n_wavelengths by n_dimension)
% A - coefficients to approximate data within model
%  (n_dimension by n_data)
% X - matrix whose columns contain the data
%  (n_wavelengths by n_data)
%  (n_data >= n_dimension)
% n_dimension - dimension of the linear model to find

% Do the singular value decomposition
% (If X is very large you may need a bigger
% computer.)
[U,D,V] = svd(X);

% Extract the appropriate parts of the SVD
B = U(:,1:n_dimension);
temp = D*V';
A = temp(1:n_dimension,:);