1 | function new_m_with_arg = idAuxAddTable2D(m_orig_with_arg, m_add_with_arg) |
---|
2 | %Adds content of m_add_with_arg table to m_orig_with_arg, preserving format: 1s column and 1st row of |
---|
3 | %each table keep argument values. |
---|
4 | %Requires that mesh point of m_add_with_arg coinside with mesh point of m_orig_with_arg |
---|
5 | |
---|
6 | numOrigArg1 = size(m_orig_with_arg, 1) - 1; |
---|
7 | numOrigArg2 = size(m_orig_with_arg, 2) - 1; |
---|
8 | vOrigArg1 = zeros(numOrigArg1, 1); |
---|
9 | vOrigArg2 = zeros(numOrigArg2, 1); |
---|
10 | for i = 1:numOrigArg1 |
---|
11 | vOrigArg1(i) = m_orig_with_arg(i+1,1); |
---|
12 | end |
---|
13 | for j = 1:numOrigArg2 |
---|
14 | vOrigArg2(j) = m_orig_with_arg(1,j+1); |
---|
15 | end |
---|
16 | |
---|
17 | numAddArg1 = size(m_add_with_arg, 1) - 1; |
---|
18 | numAddArg2 = size(m_add_with_arg, 2) - 1; |
---|
19 | vAddArg1 = zeros(numAddArg1, 1); |
---|
20 | vAddArg2 = zeros(numAddArg2, 1); |
---|
21 | for i = 1:numAddArg1 |
---|
22 | vAddArg1(i) = m_add_with_arg(i+1,1); |
---|
23 | end |
---|
24 | for j = 1:numAddArg2 |
---|
25 | vAddArg2(j) = m_add_with_arg(1,j+1); |
---|
26 | end |
---|
27 | |
---|
28 | new_m_with_arg = m_orig_with_arg; |
---|
29 | |
---|
30 | for j = 1:numAddArg2 |
---|
31 | valAddArg2 = vAddArg2(j); |
---|
32 | indOrigArg2_p_1 = idAuxFindClosestElemInd(valAddArg2, vOrigArg2) + 1; |
---|
33 | if(indOrigArg2_p_1 <= 1) |
---|
34 | continue; |
---|
35 | end |
---|
36 | for i = 1:numAddArg1 |
---|
37 | valAddArg1 = vAddArg1(i); |
---|
38 | indOrigArg1_p_1 = idAuxFindClosestElemInd(valAddArg1, vOrigArg1) + 1; |
---|
39 | if(indOrigArg1_p_1 <= 1) |
---|
40 | continue; |
---|
41 | end |
---|
42 | new_m_with_arg(indOrigArg1_p_1, indOrigArg2_p_1) = new_m_with_arg(indOrigArg1_p_1, indOrigArg2_p_1) + m_add_with_arg(i+1,j+1); |
---|
43 | end |
---|
44 | end |
---|