程序怎么总是出现Input argument "sol" is undefined.的错误。程序是书上的列子如下,求助各位大侠!
function[sol,eval]=f552(sol,options)
x1=sol(1);x2=sol(2);
r1=0.1;r2=0.8;
%约束条件
g1=x1-2*x2+1;g2=x1.^2/4-x2.^2+1;
%加惩罚项的适值
if(g1>=0)&(g2>=0)
eval=(x1-2).^2+(x2-1).^2;
else
eval=(x1-2).^2+(x2-1).^2+r1*g1+r2*g2;
end
eval=-eval;
%%%%%%%%%%%%%%%%%%%%%%%%%%%
%维数n=2
%设置参数边界
bounds=ones(2,1)*[-1 1];%初始矩阵
%遗传算法优化
[p,endPop,bestSols,trace]=ga(bounds,'f552');
p
%性能跟踪
plot(trace(:,1),trace(:,3),'b-')
hold on
plot(trace(:,1),trace(:,2),'r-')
xlabel('Generation');
ylabel('Fittness');
legend('解的变化','种群平均值的变化');
??? Input argument "sol" is undefined.
Error in ==> Untitled at 3
x1=sol(1);x2=sol(2);
这是个函数文件,不能直接运行。
首先,将上述文件保存为f552.m。注意必须是这个文件名,即与函数名保持一致。
然后,另写一个脚本调用之,比如:
% main.m谢谢兄弟啊 我本来就是这样做的 可就是不行啊
追答把报错信息贴上来……
追问??? Input argument "sol" is undefined.
Error in ==> Untitled at 3
x1=sol(1);x2=sol(2);
我的是matlab7.0 工具箱是gads
错误是发生在一个叫Untitled的函数的第3行,该行内容是x1=sol(1);x2=sol(2);。你能告诉我这个叫Untitled的函数是怎么回事么?
matlab遗传算法优化中总是出现Input argument "sol" is undefined.
这是个函数文件,不能直接运行。首先,将上述文件保存为f552.m。注意必须是这个文件名,即与函数名保持一致。然后,另写一个脚本调用之,比如:main.msol = [1 1];options = [];[sol, val] = f552(sol, options)
matlab遗传算法的程序中SOL是什么意思?
是把一个矩阵编程一行,然后再把一行变成一个矩阵,是编码和解编码的过程。指的种群中的一个个体的数值,相当于把初始种群中一个个体的变量拿出来,赋值给x。然后再用x去求适应度函数fitness。
运行遗基于遗传算法的BP神经网络MATLAB代码程序时总是出错...
Undefined function or method 'gabpEval' for input arguments of type 'double'.Error in ==> initializega at 80 eval(estr);Error in ==> GABPNET at 22initPpp=initializega(popu,aa,'gabpEval');%初始化种群下面是程序:function net=GABPNET(XX,YY)% 使用遗传算法对BP网络权值阈值进行优化,再用BP...
遗传算法matlab程序代码
下面是一个简单的遗传算法(Genetic Algorithm, GA)的MATLAB实现框架,用于解决基本的优化问题。此代码未包含所有可能的优化和细节,但足以展示GA的基本结构。```matlab function [best_sol, best_val] = simple_ga(fitness_func, pop_size, num_gen, num_vars, var_bounds)初始化种群 pop = repma...
matlab遗传算法中的一段适应度函数的程序,什么意思
f=1\/(y-exp(x1)*x3+x4)\/ln(x5*exp(x7)))^2即可
x1=sol(1); matlab里面总是提示这里有错误,哪位大侠看看,帮忙检查错误...
%设置参数边界bounds = ones(2,1)*[-1 1];%遗传算法优化[p,endPop,bestSols,trace]=ga(bounds,'f552');%性能跟踪plot(trace(:,1),trace(:,3),'b-')hold onplot(trace(:,1),trace(:,2),'r-')xlabel('Generation');ylabel('Fittness');legend('解的变化','种群平均值的变化'); ...
MATLAB编遗传算法源程序
function [sol,eval]=fitness(sol,options) numv=size(sol,2)-1; x=sol(1:numv); eval=f(x); eval=-eval; %遗传算法的matlab代码 bounds=ones(2,1)*[-5 5]; [p,endPop,bestSols,trace]=ga(bounds,'fitness') 注:前两个文件存储为m文件并放在工作目录下,运行结果为 p = 0.0000...
在matlab中如何用遗传算法求极值
function [sol,eval]=fitness(sol,options)numv=size(sol,2)-1;x=sol(1:numv);eval=f(x);eval=-eval;遗传算法的matlab代码 bounds=ones(2,1)*[-5 5];[p,endPop,bestSols,trace]=ga(bounds,'fitness')注:前两个文件存储为m文件并放在工作目录下,运行结果为 p = 0.0000 -0.0000 ...
怎么调用matlab遗传算法工具箱啊?
工具箱要安装到指定的路径,好久没有用了,具体我也记不住了,你可以百度搜索一下。路径安装不对就会出问题。如果安装对了,你用help命令显示一下函数.函数的m文件不用运行,直接调用就可以。eval=-eval; 以后eval变为负的了,而ga函数要求参数必须是正的。