Элементы М-языка MATLAB. Программы MATLAB, страница 3

            Программа может содержать 3 основные части:

-  Начало программы, установление режимов работы, объявление глобальных переменных, введение основных констант, ввод исходных данных извне в рабочую область,

-  выполнение операторов, реализующих требуемую функциональность программы,

-  вывод результатов решения задачи, завершение выполнения программы.

2.1. КОМАНДЫ ВВОДА-ВЫВОДА ДАННЫХ

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

1) Ввод данного пользователем с клавиатуры в ответ на запрос программы

<имя переменной>=input(<текст запроса данного>)

Например,

perem1=input(‘number of variables=’)

2) Ввод данных из заданного файла типа *.mat  или *.txt

load <имя файла-источника данных> [<список переменных>]

Например,

load XYP3.txt

Если список переменных не указан, то все содержимое файла загружается в память под именем переменной, совпадающей с именем файла. Список переменных можно указать только для МАТ-файлов (бинарных).

Другой способ ввода (рекомендуется):

<имя переменной>=load(‘<имя файла>’)

Например,

YYY=load(‘XYP3.txt’)

Еще способ:

[<список переменных>]=textread(‘<имя ASCII-файла>’,’<форматы ввода>’]

Форматы:

%n – число (целое или вещественное),

%d – целое число,

%f – вещественное число,

%s – символьная строка (между пробелами).

Например,

[fio,tabnomer,zarplata]=textread(‘FZP.txt’,’%s%s%f’)

Еще один способ чтения из файла.

Пусть в файл BBB.txt записали 4 числовых элемента, относящихся к одному массиву, 3 числовых элемента, относящихся к другому массиву и 2 числовых элемента, относящихся к третьему массиву.  Для чтения из такого файла применим оператор

[<переменная>]=fscanf(<файловая переменная>,’<формат ввода>’[,<число вводимых элементов>])

Форматы задаются так же, как и выше.

Файловая переменная определяется оператором

<файловая переменная>=fopen(‘<имя файла>’,’r’)

Для нашего случая надо написать операторы

fff=fopen(‘BBB.txt’,’r’)

X=fscanf(fff,’%f’,4)

Y=fscanf(fff,’%f’,3)

Z=fscanf(fff,’%f’,2)

3) Вывод результатов на экран

Отображение символьной строки на экране (текстовая информация)

display(‘<символьная строка>’)

Другой способ – форматный вывод на экран разнородной (числа + тексты) информации

fprintf(‘<формат вывода>’,<список вывода>)

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

Например, если задан массив Х =[1 2 3 4] и применен оператор

fprintf('This is array X:%d',X)

то получится вывод на экран в виде строки

This is array X:1This is array X:2This is array X:3This is array X:4

Если в формат вставить знак перевода строки \n, т.е

fprintf('This is array X:%d\n',X)

то вывод будет другим

This is array X:1

This is array X:2

This is array X:3

This is array X:4

Здесь знак \n в формате вывода обеспечивает переход на новую строку на экране.

4) Вывод результатов в файл

Сохранение переменных из рабочей области в заданном файле:

save <имя файла> <список выводимых переменных>[-ASCII] [-APPEND]

Ключ –ASCII добавляется в оператор, если необходимо сохранить данные в текстовом файле. Если этот ключ не указан, то данные сохраняются в бинарном МАТ-файле.

Если включить в оператор ключ –APPEND, то данные будут добавляться к тем, которые уже записаны в файл (только для МАТ-файла).

Например,

save BBB.txt X Y P -ASCII

или

save BBB X Y P

Другой способ – форматный вывод в файл.

Используется оператор

fprintf(<файловая переменная>,‘<формат вывода>’,<список вывода>)

В этом случае файловая переменная должна быть предварительно связана с именем файла с помощью оператора

<файловая переменная>=fopen(‘<имя файла>’,’w’)

или

<файловая переменная>=fopen(‘<имя файла>’,’a’)

Во втором варианте будет осуществляться дополнение файла.

Для вывода целых чисел следует использовать формат %<число десятичных знаков>d (например, %5d). Для вывода чисел с десятичной точкой следует использовать формат %<общее число знаков>.<число знаков после десятичной точки>f (например, %10.2f).

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

Например,

fff=fopen(‘rezult.txt’,’w’)

……..

G=150.6

F=23

…..

fprintf(fff,‘значение параметра G=%6.1f , \n параметра F=%5d\n’,G,F)

…..

fclose(fff)

2.2.  Вывод графической информации

Вывод результатов расчетов в графической форме осуществляется с помощью обращения к стандартным функциям MATLAB, позволяющим получать 2-х и 3-хмерные изображения. Каждое полученное изображение представляет собой отдельный объект, который можно переносить и использовать, например, в документах WORD или EXCEL.