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: psoSVMcgForRegress.m
    path of file: ./repos/Matlab-Machine/030_Data regression prediction based on particle swarm optimization algorithm optimized support vector machine (libsvm)
    
    the code of the file until where you have to start completion: function [bestCVmse, bestc, bestg, pso_option] = psoSVMcgForRegress(train_label, train, pso_option)

%%  版权声明
% by faruto
% Email:patrick.lee@foxmail.com QQ:516667408 http://blog.sina.com.cn/faruto BNU
% last modified 2010.01.17
% Super Moderator @ www.ilovematlab.cn

%%  若转载请注明：
% faruto and liyang , LIBSVM-farutoUltimateVersion 
% a toolbox with implements for support vector machines based on libsvm, 2009. 
% Software available at http://www.ilovematlab.cn

    
function [bestCVmse, bestc, bestg, pso_option] = psoSVMcgForRegress(train_label, train, pso_option)

%%  版权声明
% by faruto
% Email:patrick.lee@foxmail.com QQ:516667408 http://blog.sina.com.cn/faruto BNU
% last modified 2010.01.17
% Super Moderator @ www.ilovematlab.cn

%%  若转载请注明：
% faruto and liyang , LIBSVM-farutoUltimateVersion 
% a toolbox with implements for support vector machines based on libsvm, 2009. 
% Software available at http://www.ilovematlab.cn
% 
% Chih-Chung Chang and Chih-Jen Lin, LIBSVM : a library for
% support vector machines, 2001. Software available at
% http://www.csie.ntu.edu.tw/~cjlin/libsvm

%%  参数初始化
if nargin == 2
    pso_option = struct('c1', 1.5, 'c2', 1.7, 'maxgen', 20, 'sizepop', 20, ...
                    'k', 0.6, 'wV', 1, 'wP', 1, 'v',5, ...
                     'popcmax', 10^2, 'popcmin', 10^(-1), 'popgmax', 10^3, 'popgmin', 10^(-2));
end