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

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

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

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

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

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ "ЛЬВІВСЬКІ ПОЛІТЕХНІКА" Запис і зчитування інформації у файли засобами ТС та 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:03-

Коментарі

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

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

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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