Запис і зчитування інформації у файли засобами ТС та MatLab

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2013
Тип роботи:
Інструкція до лабораторної роботи
Предмет:
Алгоритмізація і програмування

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ "ЛЬВІВСЬКІ ПОЛІТЕХНІКА" Запис і зчитування інформації у файли засобами ТС та MatLab Інструкція до лабораторної роботи №11 з дисципліни "Алгоритмізація і програмування" для студентів базового напряму 6.0925 "Автоматизація і комп'ютерно-інтегровані технології" Львів 2008 Мета роботи: навчитися складати програми, які забезпечують запис та зчитування інформацію у файли засобами С та MatLab. Основні відомості Потік - це файл даних чи фізичний пристрій (принтер, дисплей тощо), яким програміст маніпулює з допомогою вказівника на об'єкт, який має ім'я FILE. Цей об'єкт описаний у файлі stdio.h. Фактично це є опис структури (тип якої має ім'я FILE). Така структура призначена для зберігання інформації про файл. Для роботи з файлами використовують певні функції. Функція, яка відкриває потік даних, повертає вказівник типу FILE, пов'язаний з іменем. Для кожного потоку формується своя структура типу FILE. Слід зауважити, що користувач в програмі тільки описує деяку змінну як вказівник на об'єкт типу FILE, а потім присвоює йому значення, яке повертається функцією відкриття файлу як потоку. Приклад (фрагмент програми в ТС): FILE * f_vkazivnuk; f_vkazivnuk=fopen("divlab11.c","w"); В результаті відкриття файлу як потоку встановлюється зв'язок між потоком (вказівник fvkazivnuk) і файлом на диску (divlabl1.c). При цьому задається режим доступу до файлу: 1. г читання існуючого файлу  2. w запис у файл  3. а додавання інформації в кінець файлу (якщо файла немає, то він створюється)  4. г+ читання і запис (файл повинен існувати)  5. w+ читання і запис у файл (якщо файл існує, то його вмістиме знищується)  6. а+ читання і додавання до файлу  Таким чином відкрити файл як потік можна з допомогою бібліотечної функції fореn("ім'я_файлу","режим_доступу''); Якщо в процесі виконання функції fopen() виникає помилка, то значення вказівника рівне NULL. Функція fclose(noтiк) закриває потік. Для одночасного закриття всіх потоків застосовується функція fcloseall(). Для запису інформації (даних) в файл застосовують функцію fprintf(). Ця функція розміщує форматовані дані в потік. За формою ця функція подібна функції printf(). Приклад, який демонструє запис у файл з іменем data_L11.c результатів табулювання функції у = х·sin2(x)-е-х на інтервалі [-1; 1]. // div_11.c #include <stdio.h> #include <conio.h> #include <math.h> main() {float x, y, a=-1.0, b=1.0, step=(b-a)/10; int n=ceil((b-a)/step)+1; FILE *div_file=fopen("c:\\data_L11.с","w+"); fprintf(div_file, "%d\n", n); for(x=a; x<=b; x+=step) {y=x*pow(sin(x),2)-exp(-x); fprintf(div_file,"%4.1f %5.2f\n",x,y); } fclose(div_file); return 0; } Результати роботи програми div_11.c знаходяться у текстовому файлі data_L11.c у наступному вигляді: 11 -1.0 -3.43 -0.8 -2.64 -0.6 -2.01 -0.4 -1.55 -0.2 -1.23 -0.0 -1.00 0.2 -0.81 0.4 -0.61 0.6 -0.36 0.8 -0.04 1.0 0.34 Число у першому рядку є кількістю ітерацій обчислення функції (рядків масиву 11(2), перший стовпчик є значеннями аргументу із заданого інтервалу, а у другому стовпчику - обчислені за заданою залежністю значення функції. Подібні засоби для запису|зчитування інформації є і у ППП MatLab. Продемонструємо роботу функцій MatLab для зчитування інформації записаної у файл data_L11.c програмою, складеною на мові програмування С. Аналогічно як і у С спочатку потрібно відкрити потрібний файл (якщо потрібно, крім імені файлу, вказати повний маршрут до файлу) з допомогою функції fopen(). Ця функція повертає числовий ідентифікатор відкритого файлу, який потрібно використовувати як параметр для функцій читання та запису у цей файл. В програмі застосована функція читання з файлу fscanf() форматованих даних. Після завершення роботи з файлом потрібно його закрити, для цього використовується функція fclose(). Режими відкриття файлу в MatLab є подібні до тих, які використовуються в С, а саме: 'r' тільки для читання  'w' тільки для запису (попереднє вмістиме файлу пропадає, а неіснуючий файл створюється)  'r+' читання і запис одночасно  'а' додавання в кінець   Програма в MatLab, яка зчитує дані з файлу c:\data_L11.c і будує графік заданої функції %div_11mat f_matlab=fopen('c:\data_L11.c','r+t'); N=fscanf(f_matlab,'%d',[1 1]); z=fscanf(f_matlab,'%f',[2 N]); fclose(f_matlab); plot(z(1,:),z(2,:),'r');grid xlabel('x');ylabel('y(x)');  Рис. Графік функції у=х·sin2(x)-е-х х([-1; 1], побудований засобами MatLab
Антиботан аватар за замовчуванням

07.03.2013 16:35

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!