开发者社区> 游客z2wb6rzfc2qyg> 正文

matlab函数文件,调用时等号左边调用返回值,为什么会报错?

简介: matlab函数,svmlib的回归参数寻优,返回值出错,参数都已经放进去了,不知道什么原因,求大神帮忙看看。
+关注继续查看

3a8479a4d185a03e2fe4a6868e30899
0757412a43a12f8738d846b7f696fca
以下是.m代码,明明代码中给出返回值了,为什么会报错,我真的是快疯了!!求大神指点迷津~

function [mse,bestc,bestg] = SVMcgForRegress(train_label,train,cmin,cmax,gmin,gmax,v,cstep,gstep,msestep)

%SVMcg cross validation by faruto
%Email:farutoliyang@gmail.com QQ:516667408 http://blog.sina.com.cn/faruto BNU
%last modified 2009.8.23
%Super Moderator @ www.ilovematlab.cn
%% about the parameters of SVMcg

if nargin < 10

msestep = 0.06;

end
if nargin < 7

v = 3;
cstep = 1;
gstep = 1;

end
if nargin < 6

v = 3;
cstep = 1;
gstep = 1;
gmax = 5;

end
if nargin < 5

v = 3;
cstep = 1;
gstep = 1;
gmax = 5;
gmin = -5;

end
if nargin < 4

v = 3;
cstep = 1;
gstep = 1;
gmax = 5;
gmin = -5;
cmax = 5;

end
if nargin < 3

v = 3;
cstep = 1;
gstep = 1;
gmax = 5;
gmin = -5;
cmax = 5;
cmin = -5;

end
%% X:c Y:g cg:acc
[X,Y] = meshgrid(cmin:cstep:cmax,gmin:gstep:gmax);
[m,n] = size(X);
cg = zeros(m,n);
%% record acc with different c & g,and find the bestacc with the smallest c
bestc = 0;
bestg = 0;
mse = 10^10;
basenum = 2;
for i = 1:m

for j = 1:n
    cmd = ['-v ',num2str(v),' -c ',num2str( basenum^X(i,j) ),' -g ',num2str( basenum^Y(i,j) ),' -s 3 -p 0.1 -n 0.1'];
    cg(i,j) = libsvmtrain1(train_label, train, cmd);
    
    if cg(i,j) < mse
        mse = cg(i,j);
        bestc = basenum^X(i,j);
        bestg = basenum^Y(i,j);
    end
    if ( cg(i,j) == mse && bestc > basenum^X(i,j) )
        mse = cg(i,j);
        bestc = basenum^X(i,j);
        bestg = basenum^Y(i,j);
    end
    
end

end
%% to draw the acc with different c & g
[cg,ps] = mapminmax(cg,0,1);
figure;
[C,h] = contour(X,Y,cg,0:msestep:0.5);
clabel(C,h,'FontSize',10,'Color','r');
xlabel('log2c','FontSize',12);
ylabel('log2g','FontSize',12);
title('参数选择结果图(等高线图)','FontSize',12);
grid on;

figure;
meshc(X,Y,cg);
% mesh(X,Y,cg);
% surf(X,Y,cg);
axis([cmin,cmax,gmin,gmax,0,1]);
xlabel('log2c','FontSize',12);
ylabel('log2g','FontSize',12);
zlabel('MSE','FontSize',12);
title('参数选择结果图(3D视图)','FontSize',12);

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
MATLAB学习第八天(数组,符号,函数)下
MATLAB学习第八天(数组,符号,函数)
75 0
MATLAB学习第八天(数组,符号,函数)中
MATLAB学习第八天(数组,符号,函数)
48 0
MATLAB学习第八天(数组,符号,函数)上
MATLAB学习第八天(数组,符号,函数)
25 0
基于隶属度函数模糊CMAC神经网络算法matlab仿真
基于隶属度函数模糊CMAC神经网络算法matlab仿真
109 0
数字图像处理Matlab函数全汇总
数字图像处理Matlab函数全汇总
130 0
MATLAB--数字图像处理 sort()函数
MATLAB--数字图像处理 sort()函数
33 0
m基于simulink的16QAM和2DPSK通信链路仿真,并通过matlab调用simulink模型得到误码率曲线
m基于simulink的16QAM和2DPSK通信链路仿真,并通过matlab调用simulink模型得到误码率曲线
98 0
运筹优化学习09:一个示例带你入门如何使用C++、C#、Java、Python、Matlab调用Cplex(下)
运筹优化学习09:一个示例带你入门如何使用C++、C#、Java、Python、Matlab调用Cplex
149 0
运筹优化学习09:一个示例带你入门如何使用C++、C#、Java、Python、Matlab调用Cplex(上)
运筹优化学习09:一个示例带你入门如何使用C++、C#、Java、Python、Matlab调用Cplex
157 0
【MATLAB】变量 ( 特殊变量和常量 | 关键字 | 调用优先级 | 数值显示格式 )(二)
【MATLAB】变量 ( 特殊变量和常量 | 关键字 | 调用优先级 | 数值显示格式 )(二)
56 0
【MATLAB】变量 ( 特殊变量和常量 | 关键字 | 调用优先级 | 数值显示格式 )(一)
【MATLAB】变量 ( 特殊变量和常量 | 关键字 | 调用优先级 | 数值显示格式 )(一)
102 0
+关注
游客z2wb6rzfc2qyg
文章
问答
视频
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载
相关实验场景
更多