Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Тело файла с любыми выражениями

Читайте также:
  1. Cтворення командного файла
  2. PCX. Формат появился как формат хранения растровых данных программы PC PaintBrush фирмы Z-Soft и является одним из наиболее распространенных (расширение имени файла .PCX).
  3. Вектор в растр: преобразование CDR - файла в ВМР.
  4. Використання файла-образу
  5. Вот серия встреч с парнем из Арройо по имени Кага, которую я обнаружил в файлах внутри master.dat.
  6. Диалоговые окна открытия и сохранения файла
  7. Записать 5-6 способов копирования файла, указав для каждого последовательность действий.

 

Важны следующие свойства файлов-сценариев:

– они не имеют входных и выходных аргументов;

– работают с данными из рабочей области;

– в процессе выполнения не компилируются;

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

Основным комментарием является первая строка текстовых комментариев, а дополнительным – последующие строки. Основной комментарий выводится при выполнении команд lookfor и help имя_каталога. Полный комментарий выводится при выполнении команды help Имя_файла.

Использование m -файла-сценария состоит в вызове его в заданное место файла для выполнения определяемых им действий.

М -файл-функция является типичным объектом языка программирования системы MATHLAB. Одновременно он является полноценным модулем с точки зрения структурного программирования, поскольку содержит входные и выходные параметры и использует аппарат локальных переменных. Структура такого модуля с одним выходным параметром выглядит следующим образом:

 

function vаг = f_name(Список_параметров)

%Основной комментарий

%Дополнительный комментарий

Тело файла с любыми выражениями

vаг=выражение

 

М -файл функции имеет следующие свойства:

– он начинается с объявления function, после которого указывается имя переменной var – выходного параметра, имя самой функции и список ее входных параметров;

– функция выдает значение и может использоваться в виде

 

Name(список_параметров)

в математических выражениях;

– все переменные, имеющиеся в теле файла-функции, являются локальными, то есть действуют только в пределах тела функции;

– файл-функция является самостоятельным программным модулем, который общается с другими модулями через свои входные и выходные параметры;

– правила вывода комментариев те же, что у файлов-сценариев;

– файл-функция служит средством расширения системы MATHLAB;

– при обнаружении файла-функции он компилируется и затем исполняется, а созданные машинные коды хранятся в рабочей области системы MATHLAB.

Последняя конструкция vаг = выражение вводится, если требуется, чтобы функция выдавала результат вычислений.

Пример 5. Файл-функция

 

function r =randint(m,n)

%RANDINT случайная матрица с целыми элементами.

%randint(m,n) возвращает матрицу mxn с целыми

%элемента м и между 0 и 9.

a =floor(10*rand(m,n));

 

Пример 6. Более общий вид файл-функции

function r =randint(m,n,a,b)

%RANDINT случайная матрица с целыми элементами.

%randint(m,n)возвращает матрицу mxn с целыми

%элементами между 0 и 9.

%rand(m,n,a,b) возвращает матрицу с целыми

%элементами в диапазоне между целыми a и b.

if nargin <3,a =0;b =9;end

r =floor((b-a+1)*rand(m,n))+a;

 

Этот текст должен быть записан на диск в виде файла с именем randint.m (в соответствие с именем функции – это обязательное условие для функции).

Первая строка функции - объявление имени функции, входные аргументы, выходные аргументы. Без такой строки весь следующий файл является программой, или сценарием, а не функцией. Так, например, оператор

 

z =randint(4,5)

 

приведет к передаче чисел 4 и 5 переменным m и n,а выходной результат будет

передан переменной z. Поскольку переменные в файле-функции локальные, их имена никак не влияют на имена и значения переменных в текущей рабочей области MATHLAB.

Приведенная форма файла-функции характерна для функции с одним выходным параметром. Если выходных параметров больше, то они указываются в квадратных скобках после слова function. При этом структура модуля имеет следующий вид:

 

function [vаг1,vаг2,...] = f_namе(список_параметров)

%Основной комментарий

%Дополнительный комментарий

Тело файла с любыми выражениями

Var1-выражение

 

Такая функция во многом напоминает процедуру. Ее нельзя слепо использовать непосредственно в математических выражениях, поскольку она выдает не единственный результат, а множество результатов – по числу выходных параметров. Если функция, имеющая несколько выходных параметров, входит в состав математического выражения, для вычислений в выражении будет использован первый из выходных параметров. Это зачастую ведет к ошибкам в вычислениях. Поэтому, как отмечалось, данная функция используется как отдельный элемент программ в виде

 

[varl,var2, …] = namе(Список_параметров)

 

После такого вызова выходные переменные varl, var2, … становятся определенными и их можно использовать в последующих математических выражениях и иных сегментах программы. Если функция используется в виде

f_namе(список_параметров),

 

то выдается значение только для первого выходного параметра – переменной varl. Приведенная далее функция, которая вычисляет наибольший общий делитель двух целых чисел с помощью алгоритма Евклида, иллюстрирует также использование функции вывода сообщений об ошибках.

Пример 7. Файл-функция с двумя параметрами

 

function a=gcd(a,b)

%GCD Наибольший общий делитель.

%gcd(a,b) является наибольшим общим делителем

%целых чисел a и b,оба не равны нулю.

a =round(abs(a));b =round(abs(b));

if a ==0 &b ==0

error(’gcd не определено, если оба числа равны нулю ’)

Else

while b ~=0

r =rem(a,b);

a=b;b=r;

End

End

 

Инструментальная панель командного окна системы MATHLAB позволяет обеспечить простой доступ к операциям над m -файлами. Эти операции включают:

– создание нового m -файла (New File);

– открытие существующего m -файла (Open File);

– удаление фрагмента (Cut);

– копирование фрагмента (Copy);

– вставка фрагмента (Paste);

– отмена только выполненной операции (Undo);

– просмотр рабочей области (Workspace Browser);

– просмотр путей доступа (Path Browser);

– текущая помощь (Help).

Рабочая область. Рабочая область системы MATHLAB Workspace – это область памяти, в которой размещены переменные системы. Содержимое этой области можно просмотреть из командной строки с помощью команд who и whos. Различие между этими командами состоит в следующем:

– who – выводит только имена переменных;

–whos – выводит информацию о размерах массивов и типе переменной.

Сохранение переменных рабочей области. Команда Save Workspace As… меню File либо команда save fname, набранная в командном окне позволяет сохранить содержимое рабочей области в двоичном m -файле, который можно в дальнейшем вызвать командой Open из меню главного окна, либо командой load из командного окна.

Загрузка рабочей области. Команда Open меню File или команда load, набранная в командном окне позволяет загрузить m -файл, который был ранее сохранен с помощью команды save. При загрузке m -файла новые значения одноименных переменных будут записаны взамен старых. Если m -файл имеет расширение, отличающееся от. mat, то необходимо использовать флаг – mat; в противном случае MATHLAB будет считать форматом файла ASCII -формат.

Загрузка файлов данных в ASCII-формате. Команда load позволяет выполнять импорт файлов данных в ASCII -формате; она преобразует содержимое файла в переменную с именем файла только без расширения.

Например, применение команды load tides.dat создает в рабочей области системы MATHLAB переменную с именем tides. Если исходный файл в ASCII -формате имеет m строк с n значениями в каждой строке, то результатом будет массив чисел размера m × n.

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

Например, следующая конструкция позволяет сохранить квадраты чисел от 1 до 10 в файлах с именами data1, …, data10:

 

file = 'data';

for i = 1:10

j = i.^2;

save([file int2(i)],'j');

End

Использование группового символа. Команды load и save допускают использование группового символа (*) в качестве замены ряда символов в шаблоне имени переменной.

Например, команда save rundate x* сохраняет все переменные, имена которых начинаются с символа x в файле с именем rundata.mat.

Точно также команда load testdata ex1*95 загружает все переменные, имена которых начинаются с символов 'ex1' и заканчиваются символами '95', независимо от того, какие символы размещены между ними.

Пример 8. Использование рабочего пространства MATLAB.

 

Комментарии к вычислениям:

Команда вывода имен всех переменных рабочего пространства.

Команда удаления переменной из рабочего пространства.

Команда сохранения рабочего пространства в дисковом файле под заданным именем.

Команда очистки рабочего пространства.

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

Команда очистки командного окна (рабочее пространство не изменяется).

В результате сохранения рабочего пространства на диске создается файл с заданным именем (может быть произвольным) и расширением mat. Сохранение рабочего пространства можно выполнить через меню командного окна File пункт Save workspace as

В командном окне есть возможность вернуть в командную строку ранее введенные команды, они запоминаются в специальной области памяти, называемой стеком команд. Для этого используются клавиши «стрелка вверх» и «стрелка вниз». Клавиша «стрелка вверх» позволяет вывести предыдущие команды в порядке обратном их вводу. Клавиша «стрелка вниз» осуществляет прокрутку команд в противоположном направлении.

Создание графиков. Функция plot имеет различные формы, связанные с входными параметрами, например plot(у) создает кусочно-линейный график зависимости элементов у от их индексов. Если вы задаете два вектора в качестве аргументов, plot(x,y) создаст график зависимости у от х.

Например, для построения графика значений функции sin от нуля до 2p сделаем следующее

t = 0:pi/100:2*pi; у = sin(t); plot(t,y).

 

Вызов функции plot с многочисленными парами х-у создаст многочисленные графики. MATLAB автоматически присваивает каждому графику свой цвет (исключая случаи, когда это делает пользователь), что позволяет различать заданные наборы данных. Например, следующие три строки отображают график близких функций, и каждой кривой соответствует свой цвет:

 

у2 = sin(t-.25);

уЗ = sin(t-.5);


Дата добавления: 2015-10-28; просмотров: 155 | Нарушение авторских прав


Читайте в этой же книге: Прокрутка в отдельной прямоугольной области | Полосы прокрутки | Кнопки-инструменты | Картинки на кнопках | Подсказки к кнопкам | Управление видимостью панели инструментов | Методические материалы по теме | Методические материалы выполнения задания | Работа с ядром пакета прикладных программ MATHLAB | Элементарные функции в MATHLAB |
<== предыдущая страница | следующая страница ==>
Missing operator, comma or semicolon| Plot( t, y, t, y2, t, уЗ).

mybiblioteka.su - 2015-2024 год. (0.014 сек.)