MATLAB.Exponenta
–Û·Ë͇ Matlab&Toolboxes

Simulink

Советы пользователям Simulink от ведущего раздела

Полный список советов

3. Запись результатов расчета в текстовый файл

В некоторых случаях после проведения расчетов требуется передать результаты в другую программу для их последующей обработки. Такую процедуру удобно осуществить с помощью текстового файла.

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

Пример модели реализующей данный принцип показан на рис.3.1. В окне параметров блока To workspace необходимо указать имя переменной для вывода в рабочее пространство (в примере это имя - simout), а также установить значение параметра Save format (формат записи) - Array (массив).

Рис 3.1. Пример модели, использующей вывод результатов расчета в рабочее пространство MATLAB для последующей записи в текстовый файл.

Для записи в файл необходимо в командном окне MATLAB задать на выполнение команду вида:

save('outfile.dat','-ascii','simout','-double')

где outfile.dat – имя файла для записи,

simout – имя переменной значение которой записывается в текстовый файл

-double – режим записи с удвоенной точностью.

[Скачать пример 1]

Для реализации процедуры записи переменной из рабочего пространства в файл можно также использовать функцию dlmwrire. Однако данная функция записывает результаты с точностью 4 знака после запятой, что может оказаться недостаточно. Целесообразно создать копию этой функции под другим именем (например, my_dlmwrite), в которой требуется изменить объявление функции:

function my_dlmwrite(filename, m, dlm, r, c, N_digits)

и вызов функции num2str :

str = num2str(m(i,j),N_digits);

Параметр N_digits будет определять количество значащих цифр после запятой.

Для записи в файл следует в командном окне осуществить вызов функции, например:

my_dlmwrite('outfile.dat',simout,' ',0,0,6)

В данном примере число значащих цифр задано равным 6.

Вызов новой функции можно осуществлять не только из командного окна MATLAB. Можно создать пустую маскированную подсистему и указать для нее функцию записи в файл как функцию открытия (Edit\Block Properties, параметр Open function).

Сама новая функция должна находиться в текущем рабочем каталоге.

[Скачать пример 2]

 


Поиск по сайту:

Система Orphus

Яндекс.Метрика