Last change
on this file since 4 was
4,
checked in by zhangj, 10 years ago
|
Initial import--MML version from SOLEIL@2013
|
File size:
1.1 KB
|
Line | |
---|
1 | function mRes = idAuxCombMatrWeighted(m1, w1, m2, w2, startInd1, endInd1, startInd2, endInd2) |
---|
2 | |
---|
3 | wNormInv = 1./sqrt(w1*w1 + w2*w2); |
---|
4 | w1 = w1*wNormInv; |
---|
5 | w2 = w2*wNormInv; |
---|
6 | |
---|
7 | sizeDim1 = size(m1, 1); |
---|
8 | sizeDim2 = size(m1, 2); |
---|
9 | sizeDim1_m2 = size(m2, 1); |
---|
10 | sizeDim2_m2 = size(m2, 2); |
---|
11 | |
---|
12 | if(sizeDim1 > sizeDim1_m2) |
---|
13 | sizeDim1 = sizeDim1_m2; |
---|
14 | end |
---|
15 | if(sizeDim2 > sizeDim2_m2) |
---|
16 | sizeDim2 = sizeDim2_m2; |
---|
17 | end |
---|
18 | |
---|
19 | mRes = m1; |
---|
20 | if(startInd1 <= 0) |
---|
21 | startInd1 = 1; |
---|
22 | end |
---|
23 | if(endInd1 <= 0) |
---|
24 | endInd1 = sizeDim1; |
---|
25 | end |
---|
26 | if(startInd2 <= 0) |
---|
27 | startInd2 = 1; |
---|
28 | end |
---|
29 | if(endInd2 <= 0) |
---|
30 | endInd2 = sizeDim2; |
---|
31 | end |
---|
32 | |
---|
33 | if(startInd1 > sizeDim1) |
---|
34 | sprintf('Inconsistent start value of Index 1'); |
---|
35 | return; |
---|
36 | end |
---|
37 | if(startInd2 > sizeDim2) |
---|
38 | sprintf('Inconsistent start value of Index 2'); |
---|
39 | return; |
---|
40 | end |
---|
41 | if(endInd1 > sizeDim1) |
---|
42 | sprintf('Inconsistent end value of Index 1'); |
---|
43 | endInd1 = sizeDim1; |
---|
44 | end |
---|
45 | if(endInd2 > sizeDim2) |
---|
46 | sprintf('Inconsistent end value of Index 2'); |
---|
47 | endInd2 = sizeDim2; |
---|
48 | end |
---|
49 | |
---|
50 | for i1 = startInd1:endInd1 |
---|
51 | for i2 = startInd2:endInd2 |
---|
52 | mRes(i1, i2) = w1*m1(i1, i2) + w2*m2(i1, i2); |
---|
53 | end |
---|
54 | end |
---|
Note: See
TracBrowser
for help on using the repository browser.