2009-10-30 4 views
0

Для того, чтобы сохранить переменную расст в файл предпочтительно файл Excel, можно использоватьКак сохранить переменную в файле в MATLAB

xlswrite('a.xls', dist) 

или

dlmwrite('a.txt', dist, ',') 

Проблема предполагают переменная dist находится в цикле в программе и возвращает различное значение каждый раз, когда программа запускается в соответствии с вводом, тогда каждый раз a.xls перезаписывается, и я ge t только последнее значение dist записано в файле.

Как записать все значения переменной dist в файл?

+3

Вы можете использовать 'dlmwrite ('a.txt', dist, ',', '-append')' для добавления в файл. Примечание в вашем случае это может быть не самый эффективный способ ... – Amro

ответ

3

Почему бы просто не создать временный массив размером цикла для хранения значений dist. Затем, когда цикл закончен, просто используйте функцию xlswrite для записи массива в файл.

Например ...

distValues = zeros(loopIter,1); 
for i = 0:loopIter 

% Make calculations here 

distValues(i) = dist; 
end 

xlswrite('a.xls', distValues); 

Если a.xls уже существует и имеет значение в нем, что вы хотели бы загружены первым, попробуйте ...

inDist = xlsread('a.xls'); 
distValues = zeros(loopIter,1); 
for i =0:loopIter 

% Make calculations here 

distValues(i) = dist; 
end 

distValues = [inDist; distValues] 

xlswrite('a.xls', distValues); 

Я надеюсь, что помогает

+0

хорошая идея, но если цикл зависит от того, хочет ли пользователь запускать его больше или нет. например. dist вычисляется в моей программе в конце, а затем представляет собой вопросник пользователю, хочет ли он снова запускать или нет. Если он отвечает да, то запускается только программа. – anubhav

+0

Думаю, я не совсем понимаю. Итак, вы вычисляете dist в конце программы при первом запуске, но если пользователь снова захочет запустить программу, вы не вычислите новый dist? – Shaka

+0

да, я делаю это снова, но потом, что пути итераций цикла не фиксированы. В любом случае я решил это с вашей идеей. Я использовал цикл while, чтобы проверить, хочет ли пользователь снова запускать или нет, и представил i в цикле и использовал его с dist и увеличивал его каждый раз, когда пользователь снова выбирает запуск. Благодарю. Могу ли я сохранить строку как «hello» вместе с значением dist в следующем столбце, а затем перейти к следующей строке для следующего значения dist с помощью строки и так далее. – anubhav

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