matlab int8 函数,未定义与 'uint8' 类型的输入参数相对应的函数 'fitnessty'
該樓層疑似違規已被系統折疊?隱藏此樓查看此樓
程序如下:
clear all
clc
tic
popsize=15;
lanti=10;
maxgen=50;
cross_rate=0.4;
mutation_rate=0.1;
a0=0.7;
zpopsize=5;
bestf=0;
nf=0;
number=0;
I=imread('C:\Users\Yu\Pictures\feiji.jpg');
if numel(I)>2
I=rgb2gray(I);
end
[m,n]=size(I);
p=imhist(I);
p=p';
p=p/(m*n);
figure(1);
subplot(1,2,1);
imshow(I);
title('yuantu');
hold on
pop=2*rand(popsize,lanti)-1;
pop=hardlim(pop);
for gen=1:maxgen
[fitness,yuzhi,number]=fitnessty(pop,lanti,I,popsize,m,n,number);
if max(fitness)>bestf
bestf=max(fitness);
nf=0;
for i=1:popsize
if fitness(1,i)==bestf
v=i;
end
end
yu=yuzhi(1,v);
elseif max(fitness)==bestf
nf=nf+1;
end
if nf>=20
break;
end
A=shontt(pop);
f=fit(A,fitness);
pop=select(pop,f);
pop=coss(pop,corss_rate,popsize,lanti);
pop=mutation_compute(pop,mutation_rate,lanti,popsize);
a=shonqt(pop);
if a>a0
zpop=2*rand(zpopsize,lanti)-1;
zpop=hardlim(zpop);
pop(popsize+1,popsize+zpopsize)=zpop(:,:);
[fitness,yuzhi,number]=fitnessty(pop,lanti,I,popsize,m,n,number);
A=shontt(pop);
f=fit(A,fitness);
pop=select(pop,f);
end
if gen==maxgen
[fitness,yuzhi,number]=fitnessty(pop,lanti,I,popsize,m,n,number);
end
end
imshow(I);
subplot(1,2,2);
fresult(I,yu);
title('fazhifengehou');
總結
以上是生活随笔為你收集整理的matlab int8 函数,未定义与 'uint8' 类型的输入参数相对应的函数 'fitnessty'的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: win8关闭uefi+linux,UEF
- 下一篇: 一般最小二乘法 c语言,最小二乘法C语言