Я пытаюсь построить некоторые данные. Сценарий, который я написал ниже, работал хорошо, но теперь я понятия не имею, почему он не работает.Как сделать векторы одинаковой длины в моем скрипте Matlab?
Вот код:
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);
Этот код должен гарантировать, что y
имеет такой же длины, как x
, как мы только заполнение y
тех пор, пока х (так как мы используем для цикла от 1 до size
, где size
- это в основном число индексов в x
), но я продолжаю получать эту ошибку. Я проверил с disp
, и выяснилось, что мои векторы x и y имеют разную длину, x равно 227, а y - 256. Может ли кто-нибудь помочь мне с этой тривиальной проблемой?
Спасибо за помощь. Я привык к циклам на других языках программирования и, следовательно, должен был использовать цикл for. Спасибо – theprogrammer094
@ rohitkrishna094 Изменено. Благодарю. BTW, если вы хотите избежать этой проблемы с вашим текущим кодом, вы можете явно ** очистить ** 'y' перед запуском своего кода. Либо сделайте 'clear y;' или 'y = [];' перед запуском этой части кода, и все будет хорошо .... но я все равно буду использовать оператор двоеточия для создания этой последовательности. – rayryeng
О, хорошо. Будем держать это в виду, спасибо. – theprogrammer094