Ich versuche, einige Daten zu plotten. Das Skript, das ich unten geschrieben habe, hat vorher gut funktioniert, aber jetzt weiß ich nicht, warum es nicht funktioniert. HierWie mache ich Vektoren in meinem Matlab-Skript gleich lang?
ist der Code:
x = [335,41,14,18,15,9,7,9,20607,5,5,143,3,5,72,134,2,28,172,3,72,173,280,186,20924,1,1,22,3,3,1,2,13,1,3,2,11,66,12983,176,123,192,64,258,182,123,299,58,198,7,113,342,72,8376,122,20,19,2,3,28,8,36,8,56,43,2,48,127,395,4664,186,46,236,219,258,69,203,189,169,72,100,78,109,46,112,3929,272,40,4,31,2,97,36,5,35,56,2,237,1672,256,224,28,163,341,151,263,157,397,94,380,173,75,87,272,1194,133,6,112,1,6,2,26,25,64,8,40,57,106,525,150,248,125,269,264,256,357,153,64,152,283,1,2,2,454,154,39,1,1,64,151,242,1,18,99,1,36,607,55,54,110,225,108,37,1,144,162,137,107,21,360,362,18,51,25,43,1,3,6,1,27,7,45,326,32,103,50,124,155,39,180,143,33,116,46,7,151,120,19,4,2,4,110,2,7,4,9,4,27,216,323,148,1,1,2,1,47,113,150,1,2,144,16,4827,1,1,1,14];
size = length(x);
disp(size);
z = 0;
for i = 1:size
z = z + 1;
y(i) = z;
end
scatter(x,y);
Dieser Code sollte sicherstellen, dass y
ist von gleicher Länge wie x
, da wir nur in y
Füllung werden solange x (da wir ein verwenden für Schleife von 1 bis size
, wobei size
ist im Grunde die Anzahl der Indizes in x
), aber ich bekomme diesen Fehler immer wieder. Ich überprüfte mit disp
und es stellt sich heraus, dass meine X- und Y-Vektoren unterschiedliche Längen haben, x ist 227 und y ist 256. Kann mir jemand mit diesem trivialen Problem helfen?
Vielen Dank für Ihre Hilfe. Ich bin gewohnt, Schleifen in anderen Programmiersprachen und musste daher eine for-Schleife verwenden. Danke – theprogrammer094
@ rohitkrishna094 Geändert. Vielen Dank. BTW, wenn Sie dieses Problem mit Ihrem aktuellen Code vermeiden möchten, können Sie ** vor dem Ausführen Ihres Codes ** explizit deaktivieren. Entweder "lösche y;" oder "y = [];" vor dem Ausführen dieses Stückes Code und es wird gut .... aber ich würde immer noch den Doppelpunkt-Operator verwenden, um diese Sequenz zu erstellen. – rayryeng
Oh ok. Ich werde es mir merken, danke. – theprogrammer094