diff --git a/+quantity/Symbolic.m b/+quantity/Symbolic.m index c451ca5e79ebb33d5bab0bf696e8dea54a98dd4d..12d00ebeb8f57292b6ccb7fc3b84d10e6d2bdcda 100644 --- a/+quantity/Symbolic.m +++ b/+quantity/Symbolic.m @@ -313,7 +313,7 @@ classdef Symbolic < quantity.Function resultingName = [newDomain.name]; for it = 1 : numel(gridName2ReplaceSymbolicOld) - resultingName(strcmp(resultingName, gridName2ReplaceSymbolicOld(it))) ... + resultingName(strcmp([newDomain.name], gridName2ReplaceSymbolicOld(it))) ... = gridName2ReplaceSymbolicNew(it); end % for it = 1 : numel(gridName2ReplaceSymbolicOld) if misc.isunique(resultingName) diff --git a/+unittests/+quantity/testSymbolic.m b/+unittests/+quantity/testSymbolic.m index c065cb61ce757996e95a3628a72e6cf806b15f40..f771ef4343871305d5382af99a72b6732cb7fcc9 100644 --- a/+unittests/+quantity/testSymbolic.m +++ b/+unittests/+quantity/testSymbolic.m @@ -870,8 +870,12 @@ end function testSubs3(tc) zZeta = [quantity.Domain("z", linspace(0, 1, 11)), quantity.Domain("zeta", linspace(0, 1, 11))]; - Id = quantity.Symbolic(eye(2), zZeta); - tc.verifyEqual(Id.subs("z", 1).on(), Id.subs("z", "zeta").on(), 'AbsTol', 10*eps); + Id = quantity.Symbolic([sym("z"), 1; 2 sym("zeta")], zZeta); + Id_z1 = quantity.Symbolic([1, 1; 2 sym("zeta")], zZeta.find("zeta")); + Id_zetaZ = quantity.Symbolic( [sym("zeta"), 1; 2 sym("z")], zZeta([2 1])); + + tc.verifyEqual(Id.subs("z", 1).on(), Id_z1.on(), 'AbsTol', 10*eps); + tc.verifyEqual( Id.subs({"z", "zeta"}, {"zeta", "z"}).on(), Id_zetaZ.on()) end % testSubs3() function testSubs2(tc)