You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: cividis.m
    path of file: ./repos/osprey/libraries/matplotlib
    
    the code of the file until where you have to start completion: function map = cividis(N)
% Perceptually uniform sequential colormap from MatPlotLib. Designed for colorblind.
%
% Copyright (c) 2017-2020 Stephen Cobeldick
%
%%% Syntax:
%  map = cividis
%  map = cividis(N)
%
% Colormap designed by Jamie R. Nu√±ez, Christopher R. Anderton, Ryan S. Renslow.
%
% Developed with consideration for color vision deficiency to enable accurate
% interpretation of scientific data. Full paper available here:
% <https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0199239>
% The RGB data is from here: <https://doi.org/10.1371/journal.pone.0199239.s002>
%
% Note VIRIDIS replaces the awful JET as the MatPlotLib default colormap.
%
%% Examples %%
%
%%% Plot the scheme's RGB values:
% rgbplot(cividis(256))
%
%%% New colors for the COLORMAP example:
% load spine
% image(X)
% colormap(cividis)
%
%%% New colors for the SURF example:
% [X,Y,Z] = peaks(30);
% surfc(X,Y,Z)
% colormap(cividis)
% axis([-3,3,-3,3,-10,5])
%
%% Input and Output Arguments %%
%
%%% Inputs (*=default):
% N = NumericScalar, N>=0, an integer to define the colormap length.
%   = *[], use the length of the current figure's colormap (see COLORMAP).
%

    
function map = cividis(N)
% Perceptually uniform sequential colormap from MatPlotLib. Designed for colorblind.
%
% Copyright (c) 2017-2020 Stephen Cobeldick
%
%%% Syntax:
%  map = cividis
%  map = cividis(N)
%
% Colormap designed by Jamie R. Nu√±ez, Christopher R. Anderton, Ryan S. Renslow.
%
% Developed with consideration for color vision deficiency to enable accurate
% interpretation of scientific data. Full paper available here:
% <https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0199239>
% The RGB data is from here: <https://doi.org/10.1371/journal.pone.0199239.s002>
%
% Note VIRIDIS replaces the awful JET as the MatPlotLib default colormap.
%
%% Examples %%
%
%%% Plot the scheme's RGB values:
% rgbplot(cividis(256))
%
%%% New colors for the COLORMAP example:
% load spine
% image(X)
% colormap(cividis)
%
%%% New colors for the SURF example:
% [X,Y,Z] = peaks(30);
% surfc(X,Y,Z)
% colormap(cividis)
% axis([-3,3,-3,3,-10,5])
%
%% Input and Output Arguments %%
%
%%% Inputs (*=default):
% N = NumericScalar, N>=0, an integer to define the colormap length.
%   = *[], use the length of the current figure's colormap (see COLORMAP).
%
%%% Outputs:
% map = NumericMatrix, size Nx3, a colormap of RGB values between 0 and 1.
%
% See also INFERNO MAGMA PLASMA VIRIDIS TWILIGHT TAB10 SET LINES COLORMAP PARULA

if nargin<1 || isnumeric(N)&&isequal(N,[])
	N = size(get(gcf,'colormap'),1);
else
	assert(isscalar(N)&&isfinite(N)&&isreal(N),...
		'SC:cividis:N:NotRealFiniteScalarNumeric',...
		'First argument <N> must be a real finite numeric scalar.')
end