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

var1=выражение

var2=выражение

Здесь var1,var2,…– - имена переменных, которые являются выходными параметрами.

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

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

Если такая функция используется в виде f_name(список параметров), то возвращается значение только первого выходного параметра - переменной var1.

Если внутри функции целесообразно использовать глобальные переменные, то их нужно объявить с помощью команды

global var1 var2…

В функции системы Matlab можно включать подфункции. Они имеют такую же структуру, как и основная функция, и записываются в теле основной функции.

Для создания и отладки m-файла-функции необходимо войти в редактор-отладчик Matlab, выбрав в меню командного окна Matlab пункт Файл, затем пункты Создать и М-файл. После раскрытия окна редактора-отладчика необходимо набрать нужные команды программы, отредактировать их и сохранить полученный файл под именем f_name с помощью пунктов меню Файл, Сохранить как… редактора-отладчика.

Редактирование и отладка файлов-сценариев Scilab

Файл-сценарий - это список команд Scilab, сохраненный на диске. Для подготовки, редактирования и отладки файлов-сценариев служит специальный редактор SciPad, который можно вызвать, выполнив команду главного меню Инструменты – Текстовый редактор.

В результате работы этой команды будет создан новый файл-сценарий. По умолчанию он имеет имя Untitled1.sce.

Выполнить операторы файла-сценария можно несколькими способами:

• из меню редактора SciPad вызвать команду Выполнение – Загрузить в Scilab;

• из главного меню Scilab вызвать команду Файл - Выполнить и указать имя файла-сценария.

Структура функций Scilab

Функции играют роль подпрограмм. Удобнее всего набирать функции в текстовом редакторе и хранить их в либо в отдельных файлах (внешние функции), либо в теле основного скрипта, в начале текста (что более предпочтительно).

Синтаксис

function [y1,...,yn] = fun(x1,...,xm)

тело функции ....

Endfunction

Где

fun - имя фунции,

xi - входные аргументы функции (их m штук),

yi - выходные аргументы функции (их n штук).

Управляющие структуры языка программирования Matlab и Scilab

Диалоговый ввод-вывод

disp(x) отображает массив, не печатая имя массива. Если x - строка, то отображается текст.

Пример

x=[1 2 3];

disp(x)

1 2 3

disp('квадрат второго элемента=')

квадрат второго элемента=

disp(x(2)^2)

r = input('введите значение') дает пользователю приглашение в текстовой строке и затем ожидает ввода с клавиатуры. Может быть введено любое Matlab(Scilab)-выражение, которое вычисляется, используя переменные в текущей рабочей области, и результат возвращается в r. Если пользователь нажимает клавишу возврата каретки, ничего не вводя, то вводится пустая матрица.

r = input(' введите значение', 's')дает приглашение в текстовой строке и ожидает ввода символьной строки. Напечатанный текст не вычисляется; символы просто возвращаются как Matlab(Scilab)-строка.

Циклы типа for-end

Циклы типа for-end обычно используются для организации вычислений с заданным числом повторений цикла. Конструкция такого цикла имеет вид:

for var = выражение

<тело цикла>

End

Выражение чаще всего записывается в виде b:s:e, где b - начальное значение переменной цикла var, s - приращение (шаг) этой переменной и e - конечное значение управляющей переменной, при достижении которого цикл завершается. Возможна запись выражения в виде b:e, в этом случае s=1. Список выполняемых в цикле инструкций завершается оператором end.

Для досрочного выполнения цикла можно использовать оператор break. Как только этот оператор встречается в программе, цикл прерывается.

Возможно использование цикла в цикле.

Пример

for i = 1:3

for j = 1:3

a(i,j) = i+j;

end

end

a

a =

2 3 4

3 4 5

4 5 6

Циклы типа while_end

While Условие

<тело цикла>

End

Цикл типа while выполняется до тех пор, пока выполняется Условие. Для прекращения выполнения цикла можно использовать оператор break.

Пример

x=1;i=1;

while x<=3

y(i)=x;

x=x+0.5; i=i+1;

end

y

y =

1.0000

1.5000

2.0000

2.5000

3.0000

Наши рекомендации