我在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/07/17 09:49:35
![我在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](/uploads/image/z/4518190-46-0.jpg?t=%E6%88%91%E5%9C%A8matlab%E4%B8%AD%E8%B0%83%E7%94%A8%E4%B8%80%E4%B8%AA%E5%87%BD%E6%95%B0%E6%AF%94%E5%A6%82function+%5Bxopt%2Cfopt%2Cstat%5D+%3D+es%28fitnessfct%2CN%29%E4%B8%AD+for+i+%3D+1%3Aa+%25a%E5%B7%B2%E7%9F%A5+parents%28i%2C%3A%29+%3D+rand%281%2CN%29+%3B+%25%E4%B8%80%E8%A1%8CN%E5%88%97%2CN%E5%B7%B2%E7%9F%A5fparents%28i%2C1%29+%3D+fitnessfct%28parents%28i%2C%3A%29%29%3B%25fitnessfct%E6%98%AF%E4%B8%80%E4%B8%AA%E8%B0%83%E7%94%A8%E7%9A%84%E5%87%BD%E6%95%B0%2C%E4%BD%9C%E4%B8%BAes%E7%9A%84%E5%8F%82%E6%95%B0en)
我在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列数据