Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
5 семестр / MATLAB / Задание / METOD / Ввод данных.doc
Скачиваний:
41
Добавлен:
24.02.2016
Размер:
76.29 Кб
Скачать

Ввод данных

  1. Ввод с клавиатуры по запросу

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

otv = input('Zapros dannogo=')

Zapros dannogo=[11 22 33;44 55 66]

otv =

11 22 33

44 55 66

2. Загрузка из файла

2.1. Ввод числовых данных

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

Файл ввода – либо *.txt(ASCII) либо *.mat(бинарный). Разделители чисел – пробелы.

Если указано только

>>load<имя файла>

то результат ввода – в переменной, имя которой совпадает с именем файла. Например,

>> load YYY.txt

введет данные в переменную YYY.

Указывать имена переменных после имени файла можно только для mat-файлов. В таких файлах хранятся не только значения переменных, но и их имена.

Если, например, файл QQQ1.matсодержит значенияNпеременных, в том числеa,b,c, то ввод из него значений этих переменных:

>> load QQQ1.mat a b c

>> a

a =

11

>> b

b =

22 33 44

>> c

c=

555

Вместо команды можно использовать функцию

YYY1=load('YYY.txt')

Если ввод – из mat-файла и

sss=load(‘XXX.mat’)

то вводятся все значения из этого файла в свои переменные, а в переменную sss– вводится «структура», содержащая сведения о переменных в файле. Например,

yy=load('XY1.mat')

yy =

Y1: [60x3 double]

XX: [60x3 double]

Ввод чисел с разделителями

DLMREAD Читает из текстового файла с разделителями.

RESULT=DLMREAD(FILENAME) читает числовые данные из текстового файла с именемFILENAME. Используемый разделитель данных определяется из форматирования файла.

RESULT=DLMREAD(FILENAME,DELIMITER) читает числовые данные из текстового файла с именемFILENAMEс использованием разделителяDELIMITER. Прочитанные данные помещаются в переменнуюRESULT. Следует задать '\t' при использовании табулятора..

Если разделитель определяется из форматирования файла, то последовательность пробелов обрабатывается как один разделитель. В отличие от этого, если разделитель задан через параметр DELIMITER, то любой символ разделителя интерпретируется как отдельный разделитель (если разделитель – ‘,’,то ‘,,,,,’ – совокупность значений!)..

RESULT=DLMREAD(FILENAME,DELIMITER,R,C) читает данные из файлаFILENAMEс разделителямиDELIMITER, аRиCзадают строкуRи столбецC– координаты верхнего левого угла, начиная с которого данные лежат в файле.RиCотсчитываются с нуля, так чтоR=0 иC=0 указывают первое значение в файле.

RESULT=DLMREAD(FILENAME,DELIMITER,RANGE) читают диапазон, заданный какRANGE= [R1C1R2C2] где (R1,C1) – это верхний левый угол в данных, а (R2,C2) – нижний правый угол.RANGEможет быть также задан с использованием нотаций электронных таблиц, например,RANGE= 'A1..B7'.

DLMREADзаполняет пустые разделенные поля нулями.

Примеры.

>>RESULT = DLMREAD(FILENAME[,DELIMITER[,RANGE]])

Разделитель должен быть одним символом, например, пробел, запятая, #.

Например,

>> fff=dlmread('YYY.txt')

или

>> fff=dlmread('YYY.txt',' ')

Например, файл prov2.txtсодержит

111#222#333

444#555#666

>> hh=dlmread('prov2.txt','#')

hh =

111 222 333

444 555 666

Диапазон указывается либо в форме R,Cлибо в форме [R1,C1,R2,C2], гдеRиC– номера строки и столбца, ограничивающих область вводимой информации.

>> fff=dlmread('YYY.txt',' ',[5,2,8,4])

fff =

1085 0 1360

1050 0 1360

1064 0 1360

1064 0 1711

Соседние файлы в папке METOD