1
我有一個功能,fitness.m
。該函數定義如下:這個MATLAB函數有什麼問題?
function A = fitness(par)
n = size(par,1)
l = size(par,2)
fitness_val = zeros(1,n);
for i=1:n
for j=1:l
fitness_val(i) = fitness_val(i) + str2num(par(i,j));
end
end
A = fitness_val
我現在正在執行此代碼:
%par is a char array
par =
1110001101
0110010001
1100010100
0110010111
1100111100
1100000101
fitness(par)
我的輸出應該
A =
6 4 4 6 6 4
相反,它拋出一個奇怪的錯誤是這樣的:
>> fitness(par)
Index exceeds matrix dimensions.
什麼是wr用我的代碼?
是一個字符串還是一個雙精度數組? – am304
請詳細說明您嘗試調試此行爲。這就是說,我認爲你的功能只是'sum(par =='1',2)'... –
@EitanT你是對的,它只是做到了!謝謝你爲我節省了很多空間,但我仍然不明白爲什麼我的功能不起作用。 – roni