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: V_Skeleton.m
    path of file: ./repos/RFM/function/visualize
    
    the code of the file until where you have to start completion: function V_Skeleton(DB, p, v, f1, f2, f3, f4, align_flag, flag_vec)

if DB.opt.visualize
    
    if DB.num.node == 20 || DB.num.node == 21
        
        start_p_torso = [2, 2, 2, 2, 12, 12, 12];
        end_p_torso = [1, 3, 4, 11, 11, 13, 14];
        start_p_limb = [3, 8, 9, 4, 5, 6, 13, 18, 19, 14, 15, 16];
        end_p_limb = [8, 9, 10, 5, 6, 7, 18, 19, 20, 15, 16, 17];
    
    elseif DB.num.node == 25
    
        start_p_torso = [3, 3, 3, 3, 21, 1, 1, 1];
        end_p_torso = [21, 9, 5, 2, 4, 2, 13, 17];
        start_p_limb = [9, 10, 11, 12, 12, 5, 6, 7, 8, 8, 17, 18, 19, 13, 14, 15];
        end_p_limb = [10, 11, 12, 24, 25, 6, 7, 8, 22, 23, 18, 19, 20, 14, 15, 16];
    
    else 
        fprintf('DB error (number of nodes) \n')
    end
%     node_idx = 1 : 20;
    node_idx = [1,2,3,4,11,12,13,14];
    
    upper_idx_static = [2,2,2,2,3,8,9,4,5,6;1,3,4,11,8,9,10,5,6,7];
    lower_idx_static = [12,12,12,13,18,19,14,15,16;11,13,14,18,19,20,15,16,17];
    
    
    
    edge_torso_line = 1;
    edge_limb_line = 1;
    edge_line = edge_limb_line;
    node_line = 1;
    node_size = 10;
    node_color = [0, 0.1, 0.2];
%     edge_torso_color = [0.7, 0.8, 0.8];
    edge_torso_color = [0.9, 0.25, 0.3];
%     edge_limb_color = [0.5, 0.7, 0.6];
%     edge_limb_color = [0.7, 0.8, 0.8];
    edge_limb_color = [0.4, 0.7, 0.85];
    
    fig1 = figure;
    clf;
    hold on
%     if align_flag
%         plot3(0, 0, 0, 'r*', 'LineWidth', 4, 'MarkerSize', 20)

    
function V_Skeleton(DB, p, v, f1, f2, f3, f4, align_flag, flag_vec)

if DB.opt.visualize
    
    if DB.num.node == 20 || DB.num.node == 21
        
        start_p_torso = [2, 2, 2, 2, 12, 12, 12];
        end_p_torso = [1, 3, 4, 11, 11, 13, 14];
        start_p_limb = [3, 8, 9, 4, 5, 6, 13, 18, 19, 14, 15, 16];
        end_p_limb = [8, 9, 10, 5, 6, 7, 18, 19, 20, 15, 16, 17];
    
    elseif DB.num.node == 25
    
        start_p_torso = [3, 3, 3, 3, 21, 1, 1, 1];
        end_p_torso = [21, 9, 5, 2, 4, 2, 13, 17];
        start_p_limb = [9, 10, 11, 12, 12, 5, 6, 7, 8, 8, 17, 18, 19, 13, 14, 15];
        end_p_limb = [10, 11, 12, 24, 25, 6, 7, 8, 22, 23, 18, 19, 20, 14, 15, 16];
    
    else 
        fprintf('DB error (number of nodes) \n')
    end
%     node_idx = 1 : 20;
    node_idx = [1,2,3,4,11,12,13,14];
    
    upper_idx_static = [2,2,2,2,3,8,9,4,5,6;1,3,4,11,8,9,10,5,6,7];
    lower_idx_static = [12,12,12,13,18,19,14,15,16;11,13,14,18,19,20,15,16,17];
    
    
    
    edge_torso_line = 1;
    edge_limb_line = 1;
    edge_line = edge_limb_line;
    node_line = 1;
    node_size = 10;
    node_color = [0, 0.1, 0.2];
%     edge_torso_color = [0.7, 0.8, 0.8];
    edge_torso_color = [0.9, 0.25, 0.3];
%     edge_limb_color = [0.5, 0.7, 0.6];
%     edge_limb_color = [0.7, 0.8, 0.8];
    edge_limb_color = [0.4, 0.7, 0.85];
    
    fig1 = figure;
    clf;
    hold on
%     if align_flag
%         plot3(0, 0, 0, 'r*', 'LineWidth', 4, 'MarkerSize', 20)
%         quiver3(0.6, 0.6, 0.6, 0.5, 0, 0, 'LineWidth', 3, 'color', 'r');
%         quiver3(0.6, 0.6, 0.6, 0, 0.5, 0, 'LineWidth', 3, 'color', 'g');
%         quiver3(0.6, 0.6, 0.6, 0, 0, 0.5, 'LineWidth', 3, 'color', 'b');
%         text(1.1, 0.6, 0.6, 'Moving dir', 'LineWidth', 2)
%         text(0.6, 1.1, 0.6, 'Left dir', 'LineWidth', 2)
%         text(0.6, 0.6, 1.1, 'Top dir', 'LineWidth', 2)
%         text(0, 0, 0, 'Origin', 'LineWidth', 2)
%     end

    if align_flag
        xlabel('M')
        ylabel('L')
        zlabel('T')
    else
        xlabel('Z')
        ylabel('X')
        zlabel('Y')
    end
    grid

%     view(300, 20)
    if align_flag
        view(45, 10)
    else
        view(-135, 10)
    end
    axis equal
    set(fig1, 'OuterPosition', [15, 15, 500, 800])
    set(fig1, 'OuterPosition', [15, 15, 700, 800])
%     title('Aligned skeleton')
    title(['Spatial noise : ', num2str(DB.opt.error)])



%     node = cat(3, DB.SC.node{p, v}.x, DB.SC.node{p, v}.y, DB.SC.node{p, v}.z);
    if align_flag
        node = cat(3, DB.SC.node{p, v}.x, DB.SC.node{p, v}.y, DB.SC.node{p, v}.z);
    else
        node = cat(3, DB.SC.node{p, v}.z, DB.SC.node{p, v}.x, DB.SC.node{p, v}.y);
    end