
Ввод данных
Ввод с клавиатуры по запросу
<имя переменной> = 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