Действия с матрицами в М-файлах 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Действия с матрицами в М-файлах



В М-файлах ввод массива следует организовывать поэлементно, используя для этого следующие команды: A(i,j)=input(strcat(‘А(‘,int2str(i),’,’,int2str(j),’)=’)); где А имя массива, i, j целые числа (переменные целочисленного типа) используемые как счетчики циклов.

function[]=exStrcatInt2strNum2str() for i=1:3    for j=1:3 A(i,j)=input(strcat('A(',int2str(i),',',int2str(j),')='));    end end A end

  input команда ввода переменной с предварительным выводом обращения к пользователю. Обращение к пользователю обычно указывается в скобках команды input. В данном случае в скобках находится команда strcat которая предназначена для формирования строки символов (текста).

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

Файлы. Действия с файлами. Ввод чисел (текста) в текстовый файл

function[]=exTextFile() for i=1:3 for j=1:3 A(i,j)=input(strcat('A(',int2str(i),',',int2str(j),')=')); end end f=fopen('exTextFile_1.txt','wt'); fprintf(f,'first matrix \n'); for i=1:3    for j=1:3        fprintf(f,'%f\t',A(i,j));    end    fprintf(f,'\n'); end    for i=1:3    for j=1:3        A(i,j)=A(i,j)^2;    end end fprintf(f,'next matrix \n'); for i=1:3    for j=1:3        fprintf(f,'%f\t',A(i,j));    end    fprintf(f,'\n'); end fclose(f); end Текстовыми файлами называются файлы из символов (текста). Они состоят из строк, оканчивающихся символом «конец строки». Он записывается в тексте программы, вводящей текст в файл, как \ n. Для введения элементов символьной строки в текст файла используется команда fprintf. Для создания промежутков между данными в тексте записываемого файла используется знак табуляции. Он записывается в тексте программы, вводящей текст в файл, как \ t. В конце файла стоит символ «конец файла». Он ставится автоматически командой, закрывающей операции с фалом fclose (f), где в скобках указано имя переменной f, которая связана с файлом.

Файл имеет расширение. txt. Двоичные файлы содержат информацию в виде последовательностей двоичных символов заданной длины. Имеют расширение. dat.

Для открытия текстового файла используется команда f=fopen('exTextFile_1.txt','wt'); где f имя переменной которая будет изображать открытый файл в тексте программы. exTextFile_1.txt это имя файла с расширением. txt который будет открыт. Если он не существовал раньше то он будет создан (без какого-либо содержащегося в нем текста). wt означает что файл вновь создаваемый, текстовый, пустой и открыт только для записи.

Команда fprintf(f,'first matrix \n'); означает что в упомянутый файл f будет помещена (записана) строка указанная в кавычках. Ее завершает символ конца строки \ n.

Команда fprintf(f,'%f\t',A(i,j)); записывает в файл очередной элемент массива A(i,j). Указанное в кавычках % f означает что элемент массива будет записан как число со знаком, с шестью знаками после запятой (а если бы было % d то было бы целое число со знаком; символ; % s строка символов; % g число со знаком и указанием порядка). Указанное там же \ t означает что перед элементом массива будет вставлена табуляция (то есть перед ним будет широкий пробел).

Команда fprintf(f,'\n'); означает что будет вставлен символ конца строки и произойдет переход на следующую строку.

Команда fclose(f); закрывает файл f. Она необходима. Каждый использованный (открытый) файл необходимо закрыть (закончить работу с ним). На рис.1.23 показано содержимое Command Window при вызове функции exTextFile и последующем вводе данных в командной строке. Рядом показано содержимое файла, созданного в результате работы этой функции.

A(1,1)=1 A(1,1)=2 A(1,1)=3 A(1,1)=4 A(1,1)=5 A(1,1)=6 A(1,1)=7 A(1,1)=8 A(1,1)=9

Рис.1.23. Слева) Command Window при вызове функции exTextFile и последующем вводе данных в командной строке. Справа) содержимое текстового файла, созданного в результате работы этой функции и открытого в окне Current Directory щелчком мыши.



Поделиться:


Последнее изменение этой страницы: 2021-03-09; просмотров: 55; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 52.14.224.197 (0.003 с.)