From 5ee5a6e50adb80cf2126384680ba63d23abff046 Mon Sep 17 00:00:00 2001 From: Ferdinand Fischer <ferdinand.fischer@mailbox.org> Date: Sat, 4 Apr 2020 17:49:16 +0200 Subject: [PATCH] Fixed quantity.Symbolic/int --- +quantity/Symbolic.m | 29 ----------------------------- +signals/SignalModel.m | 2 +- +unittests/+quantity/testSymbolic.m | 12 ++++++++++++ 3 files changed, 13 insertions(+), 30 deletions(-) diff --git a/+quantity/Symbolic.m b/+quantity/Symbolic.m index 7541bf2..9b65518 100644 --- a/+quantity/Symbolic.m +++ b/+quantity/Symbolic.m @@ -744,36 +744,7 @@ classdef Symbolic < quantity.Function 'name', "{" + obj(1).name + "}^{H}", ... 'domain', obj(1).domain); end % expm() - - function C = int(obj, z, a, b) - % from help sym/int: - % "int(S,v,a,b) is the definite integral of S with respect to v - % from a to b." - - if nargin == 2 - - grdIdx = obj(1).domain.gridIndex(z); - a = obj(1).grid{grdIdx}(1); - b = obj(1).grid{grdIdx}(end); - end - - if nargin == 3 - b = a; - a = z; - z = num2cell( obj(1).variable ); - end - if nargin == 1 - assert(obj.nargin == 1, 'Not Implemented') - z = obj(1).grid{1}; - a = z(1); - b = obj.variable; - z = num2cell( obj(1).variable ); - end - - C = obj.cumInt(z, a, b); - end % int() - function C = cumInt(obj, domain, lowerBound, upperBound) % CUMINT cumulative integration % result = cumInt(obj, domain, lowerBound, upperBound) diff --git a/+signals/SignalModel.m b/+signals/SignalModel.m index 4a6ab5c..5a71e13 100644 --- a/+signals/SignalModel.m +++ b/+signals/SignalModel.m @@ -112,7 +112,7 @@ classdef SignalModel end methods (Static) - function sm = constant(varargin) + function sm = constant(varargin) S = 0; p = 1; diff --git a/+unittests/+quantity/testSymbolic.m b/+unittests/+quantity/testSymbolic.m index 38ea50f..68c6373 100644 --- a/+unittests/+quantity/testSymbolic.m +++ b/+unittests/+quantity/testSymbolic.m @@ -132,6 +132,18 @@ fFlipped2 = f.flipGrid({'z', 'zeta'}); tc.verifyEqual(fReference2.on, fFlipped2.on, 'AbsTol', 10*eps); end % testFlipGrid(); +function testInt(testCase) +t = sym('t'); +T = quantity.Domain.defaultDomain(10, 't'); + +f = quantity.Symbolic(sin(t), 'domain', T); +F = int(f); + +testCase.verifyEqual(F, double( int( sin(t), t, 0, 1 ) ), 'AbsTol', 6e-17); + + +end + function testCumInt(testCase) tGrid = linspace(pi, 1.1*pi, 51)'; sGrid = tGrid; -- GitLab