annotate general/arrutils/mapcols.m @ 20:ed2629b7f02b
Added beginnings of some introductory blurb.
author |
samer |
date |
Thu, 17 Jan 2013 13:33:36 +0000 |
parents |
fbc0540a9208 |
children |
|
rev |
line source |
samer@4
|
1 function Y=mapcols(f,X)
|
samer@4
|
2 % mapcols - Map a function of a vector over the columns of an array
|
samer@4
|
3 %
|
samer@4
|
4 % mapcols ::
|
samer@4
|
5 % ([[N]->A] -> [[M]->B]) ~'function maps a column of A to one of B',
|
samer@4
|
6 % [[N,L]->A]
|
samer@4
|
7 % -> [[M,L]->B].
|
samer@4
|
8
|
samer@4
|
9 n=size(X,2);
|
samer@4
|
10 if n==0, Y=[];
|
samer@4
|
11 else
|
samer@12
|
12 y1=f(X(:,1));
|
samer@12
|
13 if size(y1,2)>1
|
samer@12
|
14 Y=repmat(y1(:),1,n);
|
samer@12
|
15 for i=2:n
|
samer@12
|
16 Y(:,i)=flatten(f(flatten(X(:,i))));
|
samer@12
|
17 end
|
samer@12
|
18 else
|
samer@12
|
19 Y=repmat(y1,1,n);
|
samer@12
|
20 for i=2:n, Y(:,i)=f(X(:,i)); end
|
samer@4
|
21 end
|
samer@4
|
22 end
|
samer@4
|
23
|