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
31d4fe5e
Commit
31d4fe5e
authored
Mar 20, 2013
by
Stéphane Adjemian
Browse files
Added new routine to insert column vector in a matrix.
parent
6c8e1ca9
Changes
1
Hide whitespace changes
Inline
Side-by-side
matlab/insert_column_vector_in_a_matrix.m
0 → 100644
View file @
31d4fe5e
function
matrix
=
insert_column_vector_in_a_matrix
(
matrix
,
vector
,
i
)
% Copyright (C) 2013 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/>.
if
nargin
<
2
error
(
'insert_column_vector_in_a_matrix: I need at least two input arguments!'
)
end
if
~
isequal
(
ndims
(
matrix
),
2
)
error
([
'insert_column_vector_in_a_matrix: First input
''
'
inputname
(
1
)
'
''
must be a matrix!'
])
end
[
n
,
m
]
=
size
(
matrix
);
if
nargin
<
3
i
=
m
+
1
;
end
if
~
isvector
(
vector
)
||
~
isequal
(
numel
(
vector
),
size
(
vector
,
1
))
||
~
isequal
(
numel
(
vector
),
n
)
error
([
'insert_column_vector_in_a_matrix: Second input argument
''
'
inputname
(
2
)
'
''
must be a '
int2str
(
n
)
' by 1 vector!'
])
end
switch
i
case
m
+
1
matrix
=
[
matrix
,
vector
];
case
1
matrix
=
[
vector
,
matrix
];
otherwise
matrix
=
[
matrix
(:,
1
:
i
-
1
),
vector
,
matrix
(:,
i
:
m
)];
end
%@test:1
%$ % Define a datasets.
%$ A = rand(8,3); b = rand(8,1);
%$
%$ try
%$ A4 = insert_column_vector_in_a_matrix(A, b);
%$ A1 = insert_column_vector_in_a_matrix(A, b, 1);
%$ A2 = insert_column_vector_in_a_matrix(A, b, 2);
%$ t(1) = 1;
%$ catch
%$ t(1) = 0;
%$ end
%$
%$ if t(1)
%$ t(2) = dyn_assert(A4,[A,b],1e-15);
%$ t(3) = dyn_assert(A1,[b,A],1e-15);
%$ t(4) = dyn_assert(A2,[A(:,1), b, A(:,2:end)],1e-15);
%$ end
%$ T = all(t);
%@eof:1
\ No newline at end of file
Write
Preview
Markdown
is supported
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