變數演算法程序
發布時間: 2023-08-06 11:50:33
㈠ 求01變數的C語言演算法
#include <stdio.h>
#define M 8
#define N 256
int arr[M];
int index;
void fun(int num)
{
if ((1 == num) || (0 == num))
{
arr[index++] = num;
return;
}
else
{
index--;
fun(num/2);
arr[index++] = num % 2;
}
}
int main(void)
{
int i, j;
for (i=0; i<N; i++)
{
index = M - 1;
printf("%3d-->", i);
fun(i);
for (j=0; j<M; j++)
{
printf("%d ", arr[j]);
}
printf("\n");
}
}
㈡ 求遺傳演算法(GA)處理離散的整數型變數的程序。
兩種編碼都有,可以自己選擇。 你在MATLAB2008里輸入 gaoptimset 會彈出遺傳演算法的所有的設置選項及默認項。其中,第一行就是個體的編碼方式,第一行如下 PopulationType: [ 'bitstring' | 'custom' | ] 其中,bitstring就是二進制編碼,而'doubleVector'即實數編碼(MATLAB里實數是用double雙精度浮點數表示的,精度很高。大括弧{}表示是默認設置。 而中間的'custom'是表示用戶自己構造個體的編碼形式。
㈢ 請問多變數遺傳演算法的Matlab程序還有嗎
Matlab本身就集成了遺傳演算法,留有介面可以進行二次開發。
遺傳演算法可以求解多個變數,比如200多個變數都可以。
熱點內容