Функция dlmread считывает числовые данные из текстового файла в матрицу А. Функция dlmwrite записывает матрицу в текстовый файл. Команда dlmwrite('dlm1.txt',A) записывает матрицу А в файл dlm.txt и ставит запятые после элементов матрицы. Команда type('dlm1.txt') показывает содержимое текстового файла dlm.txt в окне Command Window. Команда dlmwrite('dlm2.txt',A,'#') не только записывает матрицу А в файл, но и добавляет между элементами матрицы разделитель. Разделитель можно указать почти любой. | ||||||
function[]=dlmwrite1() for i=1:3 for j=1:3 A(i,j)=input(strcat('A(',int2str(i),',',int2str(j),')=')); end end dlmwrite('dlm1.txt',A) type('dlm1.txt') end function Start_dlmwrite1() dlmwrite1() end | A(1,1)=1 A(1,2)=2 A(1,3)=3 A(2,1)=4 A(2,2)=5 A(2,3)=6 A(3,1)=7 A(3,2)=8 A(3,3)=9 1,2,3 4,5,6 7,8,9 | |||||
Функция dlmwrite2 демонстрирует применение команды dlmwrite('dlm2.txt',A,'#'). В результате между числами (элементами матрицы А) при выводе на экран будет поставлен разделитель решетка #. | ||||||
function[]=dlmwrite2() for i=1:3 for j=1:3 A(i,j)=input(strcat('A(',int2str(i),',',int2str(j),')=')); end end dlmwrite('dlm2.txt',A,'#') type('dlm2.txt') end function Start_dlmwrite2() dlmwrite2() end
| A(1,1)=1 A(1,2)=2 A(1,3)=3 A(2,1)=4 A(2,2)=5 A(2,3)=6 A(3,1)=7 A(3,2)=8 A(3,3)=9 1#2#3 4#5#6 7#8#9 | |||||
Команда dlmwrite('dlm3.txt',A,'#',2,2) записывает не всю матрицу, а начиная с указанной строки и столбца. На месте пропущенных элементов (строк и столбцов) остаются разделители.
Функция dlmwrite3 демонстрирует применение команды dlmwrite('dlm3.txt',A,'#',2,2). В результате матрица А имеет пустые две строки сначала (первую и вторую) и два пустых столбца. Таким образом, матрица фактически имеет пять строк и пять столбцов, но при этом введенные элементы расположены как массив «три на три». | ||||||
function[]=dlmwrite3() for i=1:3 for j=1:3 A(i,j)=input(strcat('A(',int2str(i),',',int2str(j),')=')); end end dlmwrite('dlm3.txt',A,'#',2,2) type('dlm3.txt') end function Start_dlmwrite3() dlmwrite3() end
| A(1,1)=1 A(1,2)=2 A(1,3)=3 A(2,1)=4 A(2,2)=5 A(2,3)=6 A(3,1)=7 A(3,2)=8 A(3,3)=9
#### #### ##1#2#3 ##4#5#6 ##7#8#9 | |||||
A = 5 6 8 9 | Команда A=dlmread('dlm2.txt','#',1,1) считывает матрицу из указанного текстового файла, начина с второй строки и второго столбца (указанные номера строки и столбца 1, 1 на самом деле означают 2 строку и 2 столбец, так как нумерация в этой команде идет с нуля). При этом команда предупреждена о наличии между считываемыми элементами разделителя # и не затрудняется из-за его наличия. | |||||
A = 1 2 3 0 4 5 6 0 7 8 9 0 1 4 9 0 16 25 36 0 49 64 81 0 | Команда A=dlmread('exTextFile_3.txt') считывает матрицу квадратную, и если до квадратной не хватает, то добавляет строки или столбцы из нулей. | |||||
A = 1 2 3 4 5 6 7 8 9 | Команда A=dlmread('dlm1.txt',',') считывает, зная о наличии разделителя между элементами матрицы. | |||||
A = 1 2 4 5 | Команда A=dlmread('dlm1.txt',',',[0 0 1 1]) считывает, зная о разделителе, элементы начиная с 0-й строки и 0-го столбца и до 1-й строки и 1-го столбца при нумерации с нуля. | |||||
Рис.1.24 показывает содержимое текстовых файлов.
|
|