"hi Dieses Programm in Matlab lesen zwei Eingabedatei (file.txt und file2.txt), die 80000 Zufallszahl hat, wenn ich das folgende Programm ausführen Es hat Fehler (Index außerhalb der Grenzen (Wert 1 außerhalb von 0 in Matlab). Ich kann diesen Fehler nicht beheben. Ich brauche deine Hilfe. "Index außerhalb der Grenzen; Wert 1 außerhalb der Grenze 0 in Matlab
clear all
close all
rel=textread('file.txt');
ct=textread('file2.txt');
bh0=zeros(256,20000);
bh1=zeros(256,20000);
Te2=[99 124 119 123 242 107 111 197];
for i=1:20000
m(i)=bitxor(ct(16*(i-1)+1),180);
if m(i)==Te2(1)|m(i)==Te2(2)|m(i)==Te2(3)|m(i)==Te2(4)|m(i)==Te2(5)|m(i)==Te2(6)|m(i)==Te2(7)|m(i)==Te2(8)
bh0(m(i)+1,i)=rel(1+4*(i-1));
else
bh1(m(i)+1,i)=rel(1+4*(i-1));
end
end
for k=1:256
counter=1;
for i=1:20000
if bh0(k,i)~=0
bh0_final(k,counter)=bh0(k,i);
counter=counter+1;
end
end
end
for k=1:256
counter=1;
for i=1:20000
if bh1(k,i)~=0
bh1_final(k,counter)=bh1(k,i);
counter=counter+1;
end
end
end
for i=1:20000
ciphertext0(i)=ct(16*(i-1)+1);
reload0(i)=rel(1+4*(i-1));
end
sum_c0=zeros(20000,256);
for i=1:20000
for j=1:256
if ciphertext0(i)==j
sum_c0(i,j)=reload0(i);
end
end
end
counterr=zeros(1,256);
summ=zeros(1,256);
for i=1:20000
for k=1:256
if sum_c0(i,k)~=0
counterr(k)=counterr(k)+1;
summ(k)=summ(k)+sum_c0(i,k);
end
end
end
for k=1:256
mean(k)=summ(k)/counterr(k);
end
var=zeros(1,256);
for i=1:20000
for k=1:256
if sum_c0(i,k)~=0
var(k)=((sum_c0(i,k)-mean(k))^2)/counterr(k);
end
end
end
Eigentlich lesen Sie den vollständigen Fehler und darüber nachdenken, was es sagt. Matlabs Fehlermeldungen sind sehr nützlich. Es wird Ihnen sagen, welche Anweisung den Fehler verursacht, was es viel einfacher macht, das Problem zu lösen. – David
Ohne das Lesen des Codes könnte das Problem von leeren Matrizen sein? Dass Sie eine 0-mal-1-Matrix anstelle einer 1-mal-0-Matrix oder etwas ähnliches haben? Abgesehen davon ist es eigentlich ziemlich schwer zu sagen, warum Sie einen Fehler außerhalb der Grenzen bekommen. Darf ich den [Debugger] vorschlagen (http://se.mathworks.com/help/matlab/debugging-code.html)? – patrik