Mercurial > repos > public > sbplib
diff +parametrization/Ti.m @ 633:6f4eb3da8978 bugfix/TiVectorInputs
Flip input and outputs if they are columnvectors.
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Mon, 23 Oct 2017 16:29:52 +0200 |
parents | d98d9c79573f |
children | edb1d60b0b77 |
line wrap: on
line diff
--- a/+parametrization/Ti.m Mon Oct 23 15:46:25 2017 +0200 +++ b/+parametrization/Ti.m Mon Oct 23 16:29:52 2017 +0200 @@ -21,16 +21,29 @@ D = g4(0); function o = S_fun(u,v) + if isrow(u) && isrow(v) + flipped = false; + else + flipped = true; + u = u'; + v = v'; + end + x1 = g1(u); x2 = g2(v); x3 = g3(1-u); x4 = g4(1-v); + o1 = (1-v).*x1(1,:) + u.*x2(1,:) + v.*x3(1,:) + (1-u).*x4(1,:) ... -((1-u).*(1-v).*A(1,:) + u.*(1-v).*B(1,:) + u.*v.*C(1,:) + (1-u).*v.*D(1,:)); o2 = (1-v).*x1(2,:) + u.*x2(2,:) + v.*x3(2,:) + (1-u).*x4(2,:) ... -((1-u).*(1-v).*A(2,:) + u.*(1-v).*B(2,:) + u.*v.*C(2,:) + (1-u).*v.*D(2,:)); - o = [o1;o2]; + if ~flipped + o = [o1;o2]; + else + o = [o1'; o2']; + end end obj.S = @S_fun;