source: MML/trunk/machine/SOLEIL/common/database/configparser_fn.m @ 4

Last change on this file since 4 was 4, checked in by zhangj, 11 years ago

Initial import--MML version from SOLEIL@2013

File size: 1.7 KB
Line 
1function stringExpression = configparser_fn(functionName,nb)
2% configparser_fn - Contructs a expression for TangoParser
3%
4%  INPUTS
5%  1. functionName - 'Mean' - mean value expression
6%                 - 'Rms'  - rms value expression
7%  2. nb - Number of terms for computing the expression
8%
9%  OUTPUTS
10%  1. stringExpression - Expression for tangoparser formula input
11%
12%  See also configparser
13if nb <2
14    error('nb too small')
15end
16
17switch functionName
18    case 'Mean'
19        % set expression
20        stringExpression = [];
21        for k=1:nb,
22            if k ~= nb && k ~= 1
23                stringExpression = [stringExpression 'x' num2str(k) '+'];
24            elseif k == 1
25                stringExpression = ['(' stringExpression 'x' num2str(k) '+'];
26            elseif k == nb
27                stringExpression = [stringExpression 'x' num2str(k) ')/' num2str(nb)];
28            end
29        end
30    case 'Rms'
31        muExpression = [];
32        x2Expression = [];
33        for k=1:nb,
34            if k ~= nb && k ~= 1
35                muExpression = [muExpression 'x' num2str(k) '+'];
36                x2Expression = [x2Expression 'x' num2str(k) '*' 'x' num2str(k) '+'];
37            elseif k == 1
38                muExpression = ['(' muExpression 'x' num2str(k) '+'];
39                x2Expression = ['(' x2Expression 'x' num2str(k) '*' 'x' num2str(k) '+'];
40            elseif k == nb
41                muExpression = [muExpression 'x' num2str(k) ')/' num2str(nb)];
42                x2Expression = [x2Expression 'x' num2str(k) '*' 'x' num2str(k) ')/' num2str(nb)];
43            end
44        end
45        stringExpression = [ num2str(nb) '/' num2str(nb-1) '*(' x2Expression '-' muExpression '*' muExpression ')'];
46    otherwise
47        error('Unknown function')
48end
Note: See TracBrowser for help on using the repository browser.