Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab3-4_Prg.doc
Скачиваний:
4
Добавлен:
17.08.2019
Размер:
615.94 Кб
Скачать

Структура файлов сценариев

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

% Дополнительный комментарий //последующие строки

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

Свойства файлов сценариев:

- не имеют входных и выходных параметров;

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

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

- представляют собой последовательность операций, аналогичную сессии.

Пример использования файла сценария

Р ассмотрим работу с файлом сценарием на примере, вычислении функции y(x), в интервале -3..5 с шагом 0,2, если параметр b=0,2. Последовательность действий:

  1. Создам M-файл командой: File=>New=>M-file

  2. О ткрывается окно редактора, в которое вводится программа.

Рис.1. Окно редактора M-файла

3. Сохраняется файл в окне Editor командой: File=>Save as=>FuncY.m

4. В окне Command Window необходимо задать конкретные значения (входные параметры) и вызвать файл по имени в командной строке.

Рис.2. Ввод исходных данных, вызов функции Y и ее график в отдельном окне.

Структура файлов функций с одним выходным параметром

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

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

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

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

var=<выражение> % вводится, если требуется, чтобы функция возвращала

результат вычислений

Структура файлов функций с несколькими выходными параметрами:

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

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

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

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

var1=<выражение>

var2=<выражение>

Такая функция напоминает процедуру.

Свойства файла функции:

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

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

name(Список_параметров) в математических выражениях;

- все переменные в теле файла являются локальными;

- является самостоятельным программным модулем;

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

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

- служит средством расширения системы MATLAB.

Статус переменных в функциях

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

Пример использования файла функции

Рассмотрим работу с файлами функциями на примере, вычислении функций y(x), z(x) и t(x)=y(x)-z(x) в интервале -3..3 с шагом 0,2.

Последовательность действий:

  1. Создадим M-файл командой: File=>New=>M-file

  2. В каждое окно редактора поочередно ввести программы для расчета функций F1(x)… F3(x) с последующим сохранением командой: File=>Save as=>F1.m (F2.m, F3.m).

  1. В окне Command Window задаем исходные значения и выводим график F1(X) и F2(X).

>> % Исходные данные

>> xmin=-3; % начальное значение

>> xmax=3; % конечное значение

>> h=0.2; % шаг аргумента

>> X=xmin:h:xmax; % вектор аргумента

>> % График локализации корней

>> plot(X,F1(X),'-b*',X,F2(X),':m.'); grid on;

Рис.3. Вывод заданных функций и корней уравнений

  1. Анализируем график, находим визуально окрестности существования корней (для F1(x) этот интервал равен -2..-1, F2(x) имеет два корня и два интервала: первый -2..-1, второй 1..2, а функция F3(x) – один корень и один интервал, который можно принять 1..2), вызываем файлы-функции по имени относительно найденных окрестностей.

>> x1= fzero('F1(x)',[-2 -1]); % Корень функции F1(x)

>> x1

x1 =

-1.4328

>> x2= fzero('F2(x)',[-2 -1]); % Первый корень функции F2(x)

>> x2

x2 =

-1.5708

>> x3=fzero('F2(x)',[1 2]); % Второй корень функции F2(x)

>> x3

x3 =

1.5708

>> x4=fzero('F3(x)',[1 2]); % Корень системы уравнений F1(x) и F2(x)

>> x4

x4 =

1.4622

>> Result=strcat('Roots: x1=',num2str(x1),' x2=',num2str(x2),' x3=',num2str(x3),' x4=',num2str(x4));

% строка результата

>> title(Result); % заголовок графика

>>

Система MATLAB с помощью функции fzero() находит точные корни уравнений.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]