Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Dóra Kocsis
dynare
Commits
ad68019a
Commit
ad68019a
authored
Dec 08, 2012
by
Stéphane Adjemian
Browse files
Added overload minus method in dynSeries class.
parent
f1a4ac5f
Changes
1
Hide whitespace changes
Inline
Side-by-side
matlab/@dynSeries/minus.m
0 → 100644
View file @
ad68019a
function
A
=
minus
(
B
,
C
)
%
@info
:
%!
@deftypefn
{
Function
File
}
{
@var
{
A
}
=
}
minus
(
@var
{
B
},
@var
{
C
})
%!
@anchor
{
@dynSeries
/
minus
}
%!
@sp
1
%!
Overloads
the
minus
method
for
the
Dynare
time
series
class
(
@ref
{
dynSeries
}).
%!
@sp
2
%!
@strong
{
Inputs
}
%!
@sp
1
%!
@table
@
@var
%!
@item
B
%!
Dynare
time
series
object
instantiated
by
@ref
{
dynSeries
}.
%!
@item
C
%!
Dynare
time
series
object
instantiated
by
@ref
{
dynSeries
}.
%!
@end
table
%!
@sp
1
%!
@strong
{
Outputs
}
%!
@sp
1
%!
@table
@
@var
%!
@item
A
%!
Dynare
time
series
object
.
%!
@end
deftypefn
%
@eod
:
%
Copyright
(
C
)
2012
Dynare
Team
%
%
This
file
is
part
of
Dynare
.
%
%
Dynare
is
free
software
:
you
can
redistribute
it
and
/
or
modify
%
it
under
the
terms
of
the
GNU
General
Public
License
as
published
by
%
the
Free
Software
Foundation
,
either
version
3
of
the
License
,
or
%
(
at
your
option
)
any
later
version
.
%
%
Dynare
is
distributed
in
the
hope
that
it
will
be
useful
,
%
but
WITHOUT
ANY
WARRANTY
;
without
even
the
implied
warranty
of
%
MERCHANTABILITY
or
FITNESS
FOR
A
PARTICULAR
PURPOSE
.
See
the
%
GNU
General
Public
License
for
more
details
.
%
%
You
should
have
received
a
copy
of
the
GNU
General
Public
License
%
along
with
Dynare
.
If
not
,
see
<
http
:
//www.gnu.org/licenses/>.
%
AUTHOR
(
S
)
stephane
DOT
adjemian
AT
univ
DASH
lemans
DOT
fr
if
~
isequal
(
B
.
vobs
,
C
.
vobs
)
&&
~
(
isequal
(
B
.
vobs
,
1
)
||
isequal
(
C
.
vobs
,
1
))
error
([
'
dynSeries
:
:
plus
:
Cannot
add
'
inputname
(
1
)
'
and
'
inputname
(
2
)
'
(
wrong
number
of
variables
)
!
'
])
end
if
~
isequal
(
B
.
nobs
,
C
.
nobs
)
error
([
'
dynSeries
:
:
plus
:
Cannot
add
'
inputname
(
1
)
'
and
'
inputname
(
2
)
'
(
wrong
number
of
observations
)
!
'
])
end
if
~
isequal
(
B
.
freq
,
C
.
freq
)
error
([
'
dynSeries
:
:
plus
:
Cannot
add
'
inputname
(
1
)
'
and
'
inputname
(
2
)
'
(
frequencies
are
different
)
!
'
])
end
if
~
isequal
(
B
.
init
,
C
.
init
)
error
([
'
dynSeries
:
:
plus
:
Cannot
add
'
inputname
(
1
)
'
and
'
inputname
(
2
)
'
(
initial
dates
are
different
)
!
'
])
end
if
isempty
(
B
)
A
=
-
C
;
return
end
if
isempty
(
C
)
A
=
B
;
return
end
A
=
dynSeries
();
A
.
freq
=
B
.
freq
;
A
.
init
=
B
.
init
;
A
.
nobs
=
max
(
B
.
nobs
,
C
.
nobs
);
A
.
vobs
=
max
(
B
.
vobs
,
C
.
vobs
);
A
.
name
=
repmat
({
'
--
NA
--
'
},
A
.
vobs
,
1
);
A
.
tex
=
repmat
({
'
--
NA
--
'
},
A
.
vobs
,
1
);
A
.
data
=
bsxfun
(
@minus
,
B
.
data
,
C
.
data
);
%
@test
:
8
%
$
%
Define
a
datasets
.
%
$
A
=
rand
(
10
,
2
);
B
=
randn
(
10
,
1
);
%
$
%
$
%
Define
names
%
$
A_name
=
{
'
A1
';'
A2
'
};
B_name
=
{
'
B1
'
};
%
$
%
$
t
=
zeros
(
4
,
1
);
%
$
%
$
%
Instantiate
a
time
series
object
.
%
$
try
%
$
ts1
=
dynSeries
(
A
,[],
A_name
,[]);
%
$
ts2
=
dynSeries
(
B
,[],
B_name
,[]);
%
$
ts3
=
ts1
-
ts2
;
%
$
t
(
1
)
=
1
;
%
$
catch
%
$
t
=
0
;
%
$
end
%
$
%
$
if
length
(
t
)
>
1
%
$
t
(
2
)
=
dyn_assert
(
ts3
.
vobs
,
2
);
%
$
t
(
3
)
=
dyn_assert
(
ts3
.
nobs
,
10
);
%
$
t
(
4
)
=
dyn_assert
(
ts3
.
data
,[
A
(
:
,
1
)
-
B
,
A
(
:
,
2
)
-
B
],
1e-15
);
%
$
end
%
$
T
=
all
(
t
);
%
@eof
:
8
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment