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: sample_bnet.m
    path of file: ./repos/bnt/BNT/general
    
    the code of the file until where you have to start completion: function sample = sample_bnet(bnet, varargin)
% SAMPLE_BNET Generate a random sample from a Bayes net.
% SAMPLE = SAMPLE_BNET(BNET, ...)
%
% sample{i} contains the value of the i'th node.
% i.e., the result is an Nx1 cell array.
% Nodes are sampled in the order given by bnet.order.
%
% Optional arguments:
%
% evidence - initial evidence; if evidence{i} is non-empty, node i won't be sampled.

% set defauly params
n = length(bnet.dag);

    
function sample = sample_bnet(bnet, varargin)
% SAMPLE_BNET Generate a random sample from a Bayes net.
% SAMPLE = SAMPLE_BNET(BNET, ...)
%
% sample{i} contains the value of the i'th node.
% i.e., the result is an Nx1 cell array.
% Nodes are sampled in the order given by bnet.order.
%
% Optional arguments:
%
% evidence - initial evidence; if evidence{i} is non-empty, node i won't be sampled.

% set defauly params
n = length(bnet.dag);
sample = cell(n,1);

% get optional params
args = varargin;
nargs = length(args);
for i=1:2:nargs
  switch args{i},
   case 'evidence',    sample = args{i+1}(:);
   otherwise, error(['unrecognized argument ' args{i}])
  end