2017-02-17 7 views
0

Мне нужно вставить значения из цикла for в матрицу, но значения все время перезаписываются, поэтому в матрицу добавляются только последние значения. Каким образом можно добавить каждое значение в матрицу внутри цикла for без перезаписи? Мне нужно записать start1 и stop1 значений в матрицу. Я просто не могу найти способ, как это сделать.Как добавить значения в матрицу Matlab и не перезаписывать их

Мой код заключается в следующем:

%reading the file 
list = fopen('file.txt','r'); 
C=cell(size(list)) 

for k=1:length(list) 
    content = fgets(list(k)) 
    d= strsplit(content,',') 

    for n=1:length(d) % d contains 25 elements 
      B = zeros(n,1); % preallocate, results output 
      y=d{n} 
      z= strsplit(y,' ') 
      start=z{1} 
      stop=z{2} 
      start1 = str2num(start) 
      stop1 = str2num(stop) 
      B = [start1,stop1] %write to the matrix 

конец

+0

Look в начале и в конце секунды ond 'for'. Конечно, это переписывание. Каков ваш желаемый результат? Можете ли вы также показать нам образец текстового файла, который вы читаете? – rayryeng

ответ

0

вы забыли определить свое местоположение в B

B(n,1:2) = [start1,stop1];

, конечно, вы должны заменить B = zeros(n,1); с B = zeros(n,2);

Смежные вопросы