我在matlab中调用一个函数比如function [xopt,fopt,stat] = es(fitnessfct,N)中 for i = 1:a %a已知 parents(i,:) = rand(1,N) ; %一行N列,N已知fparents(i,1) = fitnessfct(parents(i,:));%fitnessfct是一个调用的函数,作为es的参数en
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/08 17:52:04
我在matlab中调用一个函数比如function [xopt,fopt,stat] = es(fitnessfct,N)中 for i = 1:a %a已知 parents(i,:) = rand(1,N) ; %一行N列,N已知fparents(i,1) = fitnessfct(parents(i,:));%fitnessfct是一个调用的函数,作为es的参数en
我在matlab中调用一个函数
比如
function [xopt,fopt,stat] = es(fitnessfct,N)中
for i = 1:a %a已知
parents(i,:) = rand(1,N) ; %一行N列,N已知
fparents(i,1) = fitnessfct(parents(i,:));%fitnessfct是一个调用的函数,作为es的参数
end
但是定义的时候
比如 function yy = fitnessfct(aa) %比如aa=[0 ,0]是一个一维数组,函数值将数组aa每列的值作为参数在函数中运算,该如何定义啊?
我在matlab中调用一个函数比如function [xopt,fopt,stat] = es(fitnessfct,N)中 for i = 1:a %a已知 parents(i,:) = rand(1,N) ; %一行N列,N已知fparents(i,1) = fitnessfct(parents(i,:));%fitnessfct是一个调用的函数,作为es的参数en
同样的定义,matlab没有像c语言那样严格的参数类型限制
你可以定义function yy = fitnessfct(aa)
在函数里面
aa(:,n)就是aa的第n列数据
aa(m,:)就是aa的第m行数据
aa(m,n)就是aa的第m行,n列数据