File: FindLinMod.m

package info (click to toggle)
psychtoolbox-3 3.0.14.20170103%2Bgit6-g605ff5c.dfsg1-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 103,044 kB
  • ctags: 69,483
  • sloc: ansic: 167,371; cpp: 11,232; objc: 4,708; sh: 1,875; python: 383; php: 344; makefile: 207; 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,:);