Практикум 10. Формула Тейлора для функций

Запись в текстовый файл. Массивы ячеек
Формула Тейлора для функций. Файл-функции с переменным числом аргументов

1. Запись выходных данных в текстовый файл.Работа с текстовыми файлами состоит из трёх этапов: открытие файла, считывание или запись информации, закрытие файла. Команда fopen предназначена для открытия существующего или создания нового файла. Имя файла указывается в апострофах первым входным аргументом, второй аргумент задаёт способ доступа к файлу (символ t указывает на то, что файл текстовый, его можно опускать):

‘rt’ – открываемый текстовый файл предназначен только для чтения;

‘rt+’ – открываемый текстовый файл предназначен только для чтения и записи;

‘wt’ – открываемый текстовый файл предназначен только для записи;

‘wt+’ – открываемый текстовый файл предназначен только для записи и чтения.

Символы текстового файла образуют строки со словами, предложениями или числами.

Вывод информации в текстовый файл осуществляется с помощью функции fprintf.

Добавление строки в текстовый файл осуществляется при помощи fprintf с двумя входными аргументами – идентификатором файла и строкой с текстом. Последующая команда fprintf выводит заданную строку сразу за предыдущей. Для вывода текста с новой строки следует добавить символы перевода строки \r\n в начало строки или в конец предыдущей

Пример 1. Исполнение следующего М-файла

 

[F,mes]=fopen('t.txt','w');

fprintf(F,'Строка добавлена с помощью fprintf.');

fprintf(F,' Ещё строка');

fprintf(F,'\r\n Этот текст с новой строки\r\n');

fprintf(F,'И этот тоже')

fclose(F);

 

запишет в файл t.txt текст:

 

Строка добавлена с помощью fprintf. Ещё строка

Этот текст с новой строки

И этот тоже

Пример 2. Создание заголовка таблицы.

[F,mes]=fopen('t1.txt','w');

%Печать в файл заголовка таблицы

fprintf(F,'ТАБЛИЦА ЗНАЧЕНИЙ ФУНКЦИИ sin x \r\n');

%Печать в файл шапки таблицы

fprintf(F,' _________________ \r\n')

 

fprintf(F,'| x | sin x |\r\n')

fprintf(F,' _________________ \r\n')

fclose(F);

 

Занесениев файл чисел или значений переменных требуют форматного вывода.

Схема использования fprintf при работе с числовыми переменными такова:

Fprintf(идентификатор, ‘формат’, список переменных)

Пример. 3. После исполнения программы

[F,mes]=fopen('t3.txt','w');

x=pi/2;

y=sin(x);

fprintf(F,' x=%7.4f sin(x)=%11.8f',x,y);

fclose(F);

в текстовом файле запишется

x= 1.5708 sin(x)= 1.00000000

Последовательность %7.4f задаёт формат вывода переменной х, которая расположена на первом месте в списке вывода. Знак процента указывает на начало формата, цифра 7 обозначает, что всего на вывод переменной х отводится 7 позиций, цифра 4 после разделителя-точки обеспечивает точность отображения результате – 4 цифры после десятичной точки, спецификатор f указывает на то, что следует вывести число в формате с плавающей точкой.

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

Пример. 4. После исполнения программы

[F,mes]=fopen('t3.txt','w');

x=[0:pi/4:2*pi];

y=sin(x);

M=[x;y]

fprintf(F,' |%7.4f |%11.8f|\r\n',M);

fclose(F);

в текстовом файле запишется таблица

| 0.0000 | 0.00000000|

| 0.7854 | 0.70710678|

| 1.5708 | 1.00000000|

| 2.3562 | 0.70710678|

| 3.1416 | 0.00000000|

| 3.9270 |-0.70710678|

| 4.7124 |-1.00000000|

| 5.4978 |-0.70710678|

| 6.2832 |-0.00000000|

 

Упражнение 1. Вычислить значения первых пяти производных функции в точке 1, результат записать в текстовый файл в виде таблицы: первый столбец – номер производной, второй – значение. Сделать заголовок и шапку таблицы.

 

2. Массивы ячеек.Массив ячеек состоит из ячеек или контейнеров, каждый из которых может содержать данные разных типов. Заполнение массива ячеек производится поэлементно, причём для доступа к отдельным контейнерам применяется индексация, индексы заключаются в фигурные скобки. Просмотр содержимого массива из командной строки приводит к отображению информации в сжатом виде. Функция celldisp(M) с входным аргументом – именем массива ячеек выводит значения всех контейнеров в командное окно. Более наглядным представлением больших массивов ячеек является отображение схемы массива в графическом окне при помощи cellplot(m). Массивы чисел или текстовые строки отображаются макетами таблиц с соответствующим числом строк и столбцов, а записи в них - квадратами.

Пример 5.

m{1,1}='студент Иванов';

m{1,2}=[5 4 3 5];

m{2,1}='студент Петров';

m{2,2}=[5 2 3 5;4 3 2 4];

>> m

m =

'студент Иванов' [1x4 double]

'студент Петров' [2x4 double]

>> celldisp(m)

m{1,1} =

студент Иванов

m{2,1} =

студент Петров

m{1,2} =

5 4 3 5

 

m{2,2} =

5 2 3 5

4 3 2 4

>> cellplot(m)

 

Упражнение 2. Создать массив ячеек: первая ячейка – значение аргумента, вторая – количество производных, третья - вектор значений функции и её производных в точке из упражнения 2.