diff --git a/align.m b/align.m new file mode 100644 index 0000000000000000000000000000000000000000..e101ed235abf53c462d25dcd14c648953c3b0939 --- /dev/null +++ b/align.m @@ -0,0 +1,27 @@ +function [Val1,Off1,Val2,Off2] = align(Val1,Off1,Val2,Off2) +%ALIGN Summary of this function goes here +% Detailed explanation goes here + +if isempty(Val1) + Val1 = Val2; + Off1 = Off2; +elseif ~isempty(Val2) + Size1 = size(Val1); + Size2 = size(Val2); + + Max1 = Off1+Size1; + Max2 = Off2+Size2; + + Off_ = min(Off1,Off2); + Max_ = max(Max1,Max2); + + Val1 = padarray(Val1,Off1-Off_,nan,'pre'); + Val2 = padarray(Val2,Off2-Off_,nan,'pre'); + + Off1 = Off_; + Off2 = Off_; + + Val1 = padarray(Val1,Max_-Max1,nan,'post'); + Val2 = padarray(Val2,Max_-Max2,nan,'post'); +end +end \ No newline at end of file diff --git a/alignJoin.m b/alignJoin.m new file mode 100644 index 0000000000000000000000000000000000000000..c0e88ab59a92599d45843e05791b488e24bb1704 --- /dev/null +++ b/alignJoin.m @@ -0,0 +1,33 @@ +function [Val1,Off1,Val2,Off2] = alignJoin(Val1,Off1,Val2,Off2) +%ALIGNJOIN Summary of this function goes here +% Detailed explanation goes here + +if isempty(Val1) + Val1 = Val2; + Off1 = Off2; +elseif ~isempty(Val2) + Size1 = size(Val1); + Size2 = size(Val2); + + Max1 = Off1+Size1; + Max2 = Off2+Size2; + + Off_ = min(Off1,Off2); + Max_ = max(Max1,Max2); + + Val1 = padarray(Val1,Off1-Off_,nan,'pre'); + Val2 = padarray(Val2,Off2-Off_,nan,'pre'); + + Off1 = Off_; + Off2 = Off_; + + Val1 = padarray(Val1,Max_-Max1,nan,'post'); + Val2 = padarray(Val2,Max_-Max2,nan,'post'); + + M1 = ~isnan(Val1); + M2 = ~isnan(Val2); + + Val1(M1) = Val1(M1); + Val1(M2) = Val2(M2); +end +end \ No newline at end of file diff --git a/join.m b/join.m new file mode 100644 index 0000000000000000000000000000000000000000..511db61da6e6f560e39b3e6efe88998b7387471d --- /dev/null +++ b/join.m @@ -0,0 +1,14 @@ +function Val1 = join(Val1,Val2) +%JOIN Summary of this function goes here +% Detailed explanation goes here + +if isempty(Val1) + Val1 = Val2; +elseif ~isempty(Val2) + M1 = ~isnan(Val1); + M2 = ~isnan(Val2); + + Val1(M1) = Val1(M1); + Val1(M2) = Val2(M2); +end +end \ No newline at end of file diff --git a/split.m b/split.m new file mode 100644 index 0000000000000000000000000000000000000000..0e6b3023cf598c6b01a53f2027abbcbf12245611 --- /dev/null +++ b/split.m @@ -0,0 +1,8 @@ +function [M1,M2] = split(M,Mask) +%SPLIT Summary of this function goes here +% Detailed explanation goes here + +[M1,M2] = deal(M); +M1(~Mask) = NaN; +M2( Mask) = NaN; +end \ No newline at end of file