В формуле приглашение представляет текстовую информацию, которая должна отображаться, например, a = input (‘пожалуйста, введите число n’), она будет отображаться в командной строке, введите число вручную (если вы вводите другие форматы, такие как Персонажи будут не правы). Это значит, что программа не будет продолжать работать, но дождитесь ввода номера и затем нажмите Enter, чтобы продолжить. Ввод текста такой же. Увидеть большеФункция ввода в MATLAB。
2. Другие входы
Входные данные также можно импортировать и считывать данные файла, MATLAB поддерживает различные форматы данных, наиболее распространенными являются, в основном, формат txt, формат xml и т. Д. Опять же, представлены только несколько функций, если вы хотите узнать больше, вы можете обратиться кИмпорт и анализ данных MATLABО функции импорта текстовых, табличных, графических и других файлов формата эта статья в основном представляет ввод и вывод формы вызова функции.
2.1 fscanf
Во-первых, формат файла, читаемый с использованием функции fscanf, представляет собой текстовый формат, и применяются три следующие формы:
MatLab. Урок 1. Основы программирования.
A = fscanf( fileID , formatSpec ) Считать данные в открытом текстовом файле в вектор-столбец A Средний и в соответствии с formatSpec Указанный формат интерпретирует значения в файле. fscanf Функция повторно применяет формат ко всему файлу и размещает указатель файла в конце файла. если fscanf Невозможно изменить formatSpec Сопоставляя с данными, он только прочитает соответствующую часть и остановит обработку. fileID (идентификатор файла) можно получить, открыв файл с помощью fileID = fopen (‘x.txt’, ‘a’); formatSpec Частичный формат сегмента данных.
A = fscanf( fileID , formatSpec , sizeA ) Данные файла считываются в измерение sizeA Массив A , И поместите указатель файла после последнего прочитанного значения. fscanf Заполните в столбце порядок A 。 sizeA Должно быть положительным целым числом или использовать [m n] Форма которой m и n Это положительное целое число (это также может быть бесконечная положительная бесконечность, что означает чтение всех соответствующих строк / столбцов / полных блоков данных).
[ A , count ] = fscanf(___) Также вернется fscanf Читать в A Количество полей в. Для числовых данных это количество значений, которые были прочитаны. Вы можете использовать этот синтаксис в сочетании с любыми входными параметрами в предыдущем синтаксисе.
Тем не менее, я обычно не использую это.
2.2 load
Загрузка — самая распространенная функция чтения файлов в MATLAB. Основные формы:
Он может быть загружен напрямую, например data = load (‘D: /test.txt’) или data = load (‘D: /test.txt’, ‘x’), чтобы прочитать переменную x в test.txt, где x также можно заменить массивом ячеек с несколькими переменными, например, заменить x на var , где var = ; в дополнение к текстовым файлам txt это также может быть MATLAB Тип данных файла формата mat (будет напрямую выводиться в рабочую область), формат файла ascii, как показано в третьей формуле, создаст массив двойной точности, содержащий данные файла.
MatLab. Урок 5. Разработка графического интерфейса программы (GUI)
Данные, загружаемые методом загрузки, особенно распространены. Их можно увидеть во многих функциях расширения MATLAB. Формат загрузки также очень богат. Это может быть текстовый файл, файл базы данных или файл таблицы.
2.3 fopen
fopen — открыть файл, и его различные форматы подробно описаны в функции fprintf ниже. После открытия файла через fopen, вы можете использовать текстовый файл или функцию чтения строк testcan, чтобы прочитать файл, формат вызова следующий:
После открытия файла testscan попытается сопоставить данные в файле со спецификатором преобразования в formatSpec. Функция testscan повторно сканирует данные в соответствии с formatSpec во всем файле и останавливается до тех пор, пока formatSpec не сможет найти совпадающие данные.
Кроме того, вы также можете обратиться к следующему методу, чтобы обработать данные в массив ячеек, а затем преобразовать их в массив символов.
fileID = fopen(‘D:/test.txt’,’r’);
rowdata = textcan (fileID, ‘% s’, ‘DElimiter’, ‘ n’);% получает каждую строку данных
fclose(fileID);
whos rowdata
rowdata
% rowdata , будет сообщено об ошибке, rowdata — это массив ячеек
a=rowdata
whos a
b1=a
whos b1
Что касается того, как обращаться с преобразованным массивом символов, это зависит от вас. Это относительно способа чтения сложных типов ввода. Для получения дополнительной информации, пожалуйста, обратитесь кtextscan, Вход по-прежнему основан на нагрузке.
Два выхода
Существует три основных формата вывода:
1. Прямой вывод в командную строку
MATLAB позволяет напрямую вводить имена переменных в сценариях (M-файлах) или командных строках для вывода.Этот метод относительно прост и удобен в применении и подходит для тестирования. Но общий вывод всегда выводится в соответствии с форматом системы по умолчанию. Если вы хотите настроить его, вам нужно изменить формат вывода командной строки через формат перед программой. См. Таблицу ниже для большего количества числовых форматов (их можно найти в документации MATLAB ~Подробный формат)
Эти стили управляют форматом вывода числовых переменных.
Исправлен короткий десятичный формат с 4 цифрами после запятой.
Длинный фиксированный десятичный формат, double Значение содержит 15 цифр после десятичной точки, single Значение содержит 7 цифр после десятичной точки.
Краткая научная запись, с 4 цифрами после десятичной точки.
Длинная научная запись, double Значение содержит 15 цифр после десятичной точки, single Значение содержит 7 цифр после десятичной точки.
Короткий фиксированный десятичный формат или научное обозначение (в зависимости от того, что является более компактным), всего 5 цифр.
Длинный фиксированный десятичный формат или научная запись (в зависимости от того, что является более компактным), для double Значение, всего 15 цифр, для single Значение, всего 7 цифр.
Краткое инженерное обозначение, с 4 цифрами после десятичной точки и показателем, кратным 3.
Длинная техническая запись, включающая 15 значащих цифр, показатель степени, кратный 3.
Положительный / отрицательный формат, показывающий положительные, отрицательные и нулевые элементы отдельно + 、 — И пустые символы.
Формат валюты, включая 2 цифры после запятой.
Шестнадцатеричное представление двоичного числа двойной точности.
Соотношение маленьких целых чисел.
Кроме того, вы также можете установить формат межстрочного интервала при выводе матрицы:
Скрыть слишком много пустых строк, чтобы показать больше вывода на одном экране.
Добавьте пустые строки, чтобы сделать вывод легче для чтения.
2 Вывод функции fprintf
Функция fprintf является одной из наиболее распространенных функций MATLAB (см.функция fprintf), Потому что он может установить выходной формат, более гибкий и всеобъемлющий. Наиболее распространенная форма: fprintf («% s — мальчик», boyname), где boyname представляет имя переменной, в которой хранится строка. Аналогично, эта форма может выводить десятичные числа (% d) и восьмеричные числа (% o) числа с плавающей запятой в записи с фиксированной запятой (% f) и числа с плавающей запятой в экспоненциальной записи (% e), одиночные символы (% c) и символьные строки (% s).
Если вам нужно контролировать длину вывода, вы можете добавить число после знака процента, например,% 8s. Выходная длина равна восьми (если фактическая длина строки превышает восемь, сама строка будет выведена и не будет усечена), оставьте по крайней мере 8 в командной строке Заполнителя недостаточно для заполнения пробелами, и% 4.8f выведет 4-значное целое число плюс десятичную точку плюс 8 десятичных цифр.
Выходной формат вышеупомянутого случая соответствует формату, выровненному по правому краю.Если вы хотите выровнять по левому краю, вы можете добавить знак минус после знака процента или перед форматом, например% -8s. Кроме того, мы также можем использовать некоторые специальные управляющие символы для поддержания красоты выходного формата, такие как t (горизонтальные) табуляции, n разрывы строк, v вертикальные табуляции.
Кроме того, функция fprintf также может выводить данные в файл и сохранять их, а также управлять ими в сценарии MATLAB. Случай формата следующий:
x = 0:.1:1; A = [x; exp(x)]; fileID = fopen(‘exp.txt’,’w’); fprintf(fileID,’%6s %12sn’,’x’,’exp(x)’); fprintf(fileID,’%6.2f %12.8fn’,A); fclose(fileID);
Вам необходимо открыть файл (fopen) перед выводом и закрыть файл (fclose) после вывода, как показано выше. Среди них функция fopen — это имя файла и идентификатор. Существует 8 типов идентификаторов. Если вы хотите создать новый файл, это w. Если вы добавляете его в исходный файл, это a. Как правило, эти два типа используются.
Откройте файл для чтения.
Откройте или создайте новый файл для записи. Отменить существующий контент (если есть).
Откройте или создайте новый файл для записи. Добавить данные в конец файла.
Откройте файл для чтения и записи.
Откройте или создайте новый файл для чтения и записи. Отменить существующий контент (если есть).
Откройте или создайте новый файл для чтения и записи. Добавить данные в конец файла.
Откройте файл, чтобы добавить (но не обновлять автоматически) текущий буфер вывода.
Откройте файл, чтобы записать (но не обновлять автоматически) текущий буфер вывода.
fclose закрывает файл. FileID в скобках является идентификатором файла, то есть представляет открытый файл. Без особых обстоятельств этот оператор также можно заменить на fclose (‘all’), чтобы закрыть все файлы. Формат fprintf аналогичен предыдущему выводу в командной строке, но идентификатор файла fileID ~ добавляется спереди.
3.disp
Функция disp является прямым выводом, печатая значения переменных или печатаемые строки, значения disp (x) и disp (‘x’) различны, первый — вывод значения x, которое может быть строкой, целым числом, матрицей и т. Д. И последнее — напечатать строку x напрямую, и она будет перенесена сразу после печати. В отличие от функции fprintf, вам нужно ввести n для переноса. В то же время следует отметить, что если disp должен печатать строки и значения переменных в строке i, он не может быть записан непосредственно в такой форме: disp (‘a is’, a_value), так что будет слишком много входных параметров (и на языке C #) Подобные операции могут быть выполнены с использованием $), но могут быть записаны как класс для вывода в следующем виде:
name = ‘Alice’; age = 12; X = [name,’ will be ‘,num2str(age),’ this year.’]; disp(X)
Это выведет в одну строку: Алисе будет 12 в этом году.
Общие операции ввода и вывода здесь, и необходимо продолжить больше контента. Вообще говоря, этих входов и выходов достаточно
Интеллектуальная рекомендация
Упражнение по сценарию использования RabbitMQ: проверенный идентификатор пользователя, ограничение длины (12)
[list][*][b]Validated User ID[/b][/list] При отправке сообщения укажите идентификатор пользователя, и только имя пользователя текущего соединения может отправить сообщение (тест обнаружил, что имя пол.
Конфигурация идеи шаблона генерации файлов VUE
Повторное появление оригинального вопроса Diu’an Cup — скачать
Ссылка на тему:ссылка Откройте ссылку заголовка и обнаружите, что есть только одна ссылка для загрузки файла флага на веб-странице, затем нажмите, чтобы загрузить, и попробуйте Разумеется, у вас нет ф.
Восемь основных сортов сортировки (семь)
Восемь основных сортов сортировки (семь) Принцип базовой сортировки: нет необходимости сравнивать ключевые слова, и только ключевые слова должны быть «выделены» и «собрать» для.
Машина обучения базовой концепции
Машина обучения базовой концепции Добыча данных и механические отношения обучения Обучение данных / проверка данных / тестовые данные Контролировать исследование / без надзора в обучении / половине на.
Источник: russianblogs.com
Матлаб
Матлаб — это пакет прикладных программ, предназначенных для выполнения технических вычислений.
Введение
Специалисты в области высшей математики отлично представляют себе, какой огромный вычислительный объём могут содержать в себе отдельные математические формулы или выражения. К примеру, чтобы вычислить значение какого-либо тройного интеграла, имеющего просто гигантские размеры, может потребоваться необычайно много времени, терпения и нервных клеток, которые, как известно, не восстанавливаются.
Для такого неординарного, но часто встречающегося, случая имеется мощнейшее математическое вооружение, а именно, программный пакет MATLAB. Он способен и выполнить решение уравнения, и осуществить аппроксимацию, и сформировать график функции. MATLAB является одним из самых мощных не текущий момент программных пакетов, предназначенных для информационной обработки. Название MATLAB образовано как сокращение от Matrix Laboratory, то есть, в переводе это матричная лаборатория.
Сдай на права пока
учишься в ВУЗе
Вся теория в удобном приложении. Выбери инструктора и начни заниматься!
Программный пакет Матлаб используется огромным количеством специалистов различных научных направлений. Он способен работать практически со всеми современными операционными системами, такими как, Linux, Mac OS и Windows.
Пакет прикладных программ MATLAB
Пакет прикладных программ MATLAB охватывает фактически все математические направления. А именно, при помощи этого программного пакета можно осуществлять следующие процедуры:
- Выполнять набор самых разных операций над матрицами, находить решения линейных уравнений, осуществлять различные векторные операции.
- Определять корни многочленов практически любых степеней, осуществлять разные действия с многочленами, выполнять операции дифференцирования, операции экстраполирования и интерполирования кривых, делать построение графика любой функции.
- Выполнять действия статистического анализа информационных данных с применением цифровых фильтров, а также статистической регрессии.
- Осуществлять решение дифференциальных уравнений, включая уравнения в частных производных, линейные и нелинейные, а также с набором граничных условий.
- Осуществлять арифметические действия с целыми числами.
Готовые курсовые работы и рефераты
Решение учебных вопросов в 2 клика
Помощь в написании учебной работы
Помимо этого, заложенные в Матлаб возможности способны осуществить визуализацию данных, включая формирование трёхмерных графиков и производство анимированных роликов. Кроме того, вместе с предусмотренными производителями возможностями и функциями имеется множество инструментов Матлаба, которые написали обычные энтузиасты или другие фирмы.
Матлаб является ещё и языком программирования, который можно использовать прямо при работе с программой. Программы, сформированные на языке Матлаб, могут быть следующих типов:
- Программы, являющиеся функциями.
- Программы, являющиеся скриптами.
Главным рабочим файлом программы является так называемый М-файл, который представляет из себя бесконечный текстовый файл. Именно в этом файле осуществляется непосредственное программирование вычислительных операций.
М-файлы подразделяются на следующие типы:
- М-сценарии, которые являются самым простым типом М-файла, поскольку у него нет входных и выходных аргументов. Этот тип файла применяется для того, чтобы автоматизировать многократно повторяемые вычислительные процедуры.
- М-функции. М-функциями являются М-файлы, которые допускают присутствие входных и выходных аргументов.
Для наглядной демонстрации возможностей использования программы, ниже приведён пример формирования функции в Матлаб. Эта функция способна определить среднюю величину вектора:
function y = average (x) % AVERAGE Среднее значение элементов вектора. % AVERAGE(X), где X — вектор. Вычисляет среднее значение элементов вектора. % Если входной аргумент не является вектором, генерируется ошибка. [m,n] = size(x); if (~((m == 1) | (n == 1)) | (m == 1 % Собственно вычисление
Строчка, где определяется функция, информирует систему Матлаб, что файл следует считать М-функцией, а, кроме того, назначается перечень входных аргументов. Первая строка, где определяется функция average, расшифровывается следующим образом:
function y = average(x)
- function является ключевым словом, определяющим М-функцию.
- y является выходным аргументом.
- average является именем функции.
- x является входным аргументом.
То есть, для написания функции в Матлабе, следует понимать, что все функции в системе Матлаб содержат строчку, где определяется функция, аналогично примеру выше.
Конечно, этот мощнейший программный пакет предназначен не только для облегчения студенческой жизни. Сегодня Матлаб считается очень популярным приложением в кругу специалистов большинства научных и инженерных сфер. Кроме того, наличие возможности работать с матрицами больших размеров превращает Матлаб в незаменимый инструмент аналитиков финансовой сферы, который позволяет решать существенно больший круг задач, чем, например, тот же достаточно популярный Excel.
Однако, как и у любой, вероятно, программы у Матлаба есть и свои недостатки. Фундаментальный недостаток всего один.Для полного раскрытия возможностей, заложенных в Матлабе, чтобы затем легко разрешать возникающие перед пользователем проблемы, следует вначале досконально изучить все его операции (создание файла, формирование функции и так далее). Следует признать, что Матлаб всё-таки не является простой программой и его освоение потребует от пользователя выделить на этот процесс определённое время. Но всё это в последствии окупится сторицей при его практическом применении.
Кстати, в сфере образования Матлаб часто применяется для преподавания численных методик и основ линейной алгебры. Очень много студентов используют Матлаб для обработки итоговых результатов экспериментов, выполненных при проведении лабораторных работ.
Источник: spravochnick.ru
Программирование на языке MATLAB. Подпрограммы и функции
Вопросы для изучения
4.26 Подпрограммы
4.27 Функции пользователя. Способы создания и вызова внешних
и inline функций.
4.28 Область видимости переменных
4.29 Вложенные функции.
4.29 Способы передачи параметров функциям пользователя
3.
4.26 Подпрограммы
В программировании часто встречаются случаи, когда по ходу выполнения
программы приходится выполнять одни и те же вычисления, но при различных
исходных данных.
Чтобы исключить повторение одинаковых фрагментов программного кода и
сделать тем самым программу проще и понятнее, можно выделить эти повторяющиеся
вычисления в самостоятельную часть программы, которая может быть использована
многократно по мере необходимости.
Подпрограммой называется автономная часть программы, реализующая
определенный алгоритм и допускающая обращение к ней из различных частей общей
программы, неограниченное число раз.
В большинстве языков программирования различают подпрограммы-функции и
подпрограммы-процедуры. Первые обязаны возвращать числовое значение, результат
же действия вторых может быть произвольным.
В MATLAB нет такого деления, здесь слова подпрограмма, функция и процедура
являются синонимами.
4.
Преимущества использования подпрограмм:
– нет дублирования кода, что сокращает трудоемкость создания программы;
– более удобный процесс отладки и внесения изменений;
– повышает надежность программы.
В языке MATLAB все подпрограммы можно разделить на стандартные и
пользовательские.
Встроенные (стандартные) подпрограммы являются частью языка и могут
вызываться по имени без предварительного описания.
Однако в большинстве случаев специфичные для данной программы
действия не находят прямых аналогов, и тогда программисту приходится
разрабатывать свои нестандартные функции.
Пользовательские (нестандартные) подпрограммы пользователя пишутся
самим программистом в соответствии с синтаксисом языка.
В языке MATLAB выделяют два вида функций, создаваемых пользователем, встраиваемые(inline) и внешние.
5.
Передача исходных данных в подпрограмму и возврат результата выполнения
осуществляются с помощью параметров.
Различают формальные и фактические параметры.
Параметры, которые указываются при объявлении (описании) подпрограммы,
называются формальными.
Параметры, которые указываются при вызове подпрограммы, называются
фактическими.
При вызове процедуры количество фактических параметров должно
обязательно соответствовать числу формальных параметров. При этом
соответствующие параметры не обязательно должны быть одинаково обозначены.
6.
7.
В заголовке процедуры, помимо ключевого слова function и имени функции,
перечисляются входные и выходные формальные параметры, которые служат для
обмена значениями между процедурой и вызывающей ее программой.
Список входных формальных параметров заключается в круглые скобки, а список
выходных параметров в квадратные.
Вызов функции в основной программе осуществляется по ее имени с указанием
фактических входных параметров
Имя функции(список входных фактических параметров)
При вызове функции ей при помощи аргументов (формальных параметров) могут
быть переданы некоторые значения (фактические параметры), используемые во время
выполнения функции.
После завершения работы функции фактические значения присваиваются
выходным параметрам.
Допускается также использование подпрограмм, не имеющих аргументов и не
возвращающих никаких значений. Действие таких подпрограмм может заключаться,
например, в выводе на печать некоторых данных и т.п.
8.
В простейшем случае у функции есть один входной и один выходной формальный
параметр:
function [y] = func1(x) %описание функции func1 где y формальный выходной
% параметр, а x формальный входной параметр
y = x.^2;
%результат вычисления присвоен выходному параметру
>> func1(3)
% вызов функции func1 с фактическим значением входного
% параметра =3
Список входных формальных параметров может состоять из нескольких элементов.
function w = func2(x, y, z)
w = x.^2+y.^2+z.^2;
>> func2(1,2,3)
При использовании одного выходного параметра квадратные скобки можно не
использовать
9.
У функции может быть несколько входных и несколько выходных параметров
function [u, v, w] = func3(x, y)
u = x+y;
v = x.*y;
w = x-y;
>> [a,b,c]=func3(2,3)
Список как входных, так и выходных формальных параметров может быть пустым.
В этом случае получение исходных данных для проведения вычислений и вывод
полученных результатов может осуществляться исключительно с помощью операций
ввода-вывода, а функция записывается в следующем виде
function func4
x = input(’Введите x: ’);
y = x.^2+1;
disp(y);
>> func4
10.
11.
Получить формулу функции можно при помощи любой из двух процедур класса
inline — char(имя функции) или formula(имя функции).
Процедуры disp(имя функции) и display(имя функции) осуществляют вывод на
экран дисплея заданного inline-объекта.
Получение имен аргументов inline функции. Это действие осуществляется
процедурой argnames(имя функции), работает с функциями созданными с помощью
процедуры inline
12.
4.28 Область видимости переменных
Область видимости — это та часть программного кода, в которой может быть
использован данная переменная.
Переменная считается видимой если в этом блоке программы или m-файле
известны имя и тип этой переменной.
Переменная может быть видимой в пределах блока, файла или во всех исходных
файлах, образующих программу. Это зависит от того, на каком уровне объявлена
переменная: на внутреннем (локально), то есть внутри некоторого блока, или на
внешнем (глобально), то есть вне всех блоков.
По умолчанию все переменные, встречающиеся в подпрограмме, являются
локальными и действуют только внутри этой подпрограммы. Никакой связи между
ними и объектами, вызывающей программы, имеющими, возможно, те же самые имена,
нет. Они полностью независимы.
При вызове функций можно использовать идентификаторы переменных,
описанные только в вызывающей программе. Такие идентификаторы являются
глобальными.
13.
В общем случае объявленные внутри функций переменные, имеют область
видимости только в пределах функции в которой объявлены — являются локальными, и
за ее пределами уже не доступны (не видны).
Пример
function MyFunc()
x = 10
disp(x)
MyFunc2()
%главная функция MyFunc
function MyFunc2() %подфункция MyFunc2
disp(x)
В результате на экране будет отображено
10
. Undefined function or variable ‘x’.
14.
Для того чтобы переменная была видна за пределами функции, в которой
объявлена – являлась глобальной используют обращение к этой переменной с
помощью ключевого слова global, за которым следует имя глобальной переменной.
Пример:
function MyFunc ()
x = 10
disp(x)
MyFunc2()
%главная функция MyFunc
function MyFunc2() %подфункция MyFunc2
global x
%глобальное описание переменной x
disp(x)
Ключевое слово global говорит о том, что переменная x уже объявлена ранее и
нужно ее использовать внутри текущей функции как глобальную.
15.
4.29 Вложенные функции и подфункции
Matlab допускает два способа описания нескольких функций внутри одного файла:
• основная функция и ее подфункции;
• основная функция и вложенные функции.
Пользоваться обеими этими способами в одном m-файле нельзя.
M-файл с программой-функцией может содержать описание не одной, а нескольких
функций. Имя главной функции должно совпадать с именем файла.
При вызове функции можно будет обратиться только этой функции, имя которой
совпадает с именем m-файла. Все остальные функции называются внутренними
(подфункциями) и могут быть вызваны только из главной функции.
Каждая из них может быть вызвана либо из основной функции, либо из другой
подфункции того же самого m-файла.
16.
Например описание функции и подфункций в одном файле:
function main
%главная функция main
x = input(’Введите x: ’);
if x>0 y = f1(x);
else y = g1(x);
end
disp(y);
function y = f1(x)
y = x+1;
%подфункция f1
function y = g1(x)
y = x-1;
%подфункция g1
Все переменные, используемые внутри подфункций f1 и f2, являются
локальными: их область видимости ограничивается только этими подфункциями.
Все переменные, используемые в основной функции, также являются локальными:
их область видимости распространяется только на саму функцию, но не на ее
подфункции.
В примере выше переменные с одинаковым именем x в основной функции и двух
подфункциях различны.
17.
Например описание функции с вложенными
функциями в одном файле:
function main %главная функция main
x = input(‘Введите x: ‘);
if x>0 y = f1(x)
else y = g1(x);
end
disp(y);
% вложенная функция f1
function y = f1(x)
y = x+1;
end
% вложенная функция g1
function y = g1(x)
y = x-1;
end
end
Тело главной функции
Функции можно вкладывать внутрь
других функций.
Чтобы создать вложенную функцию,
нужно разместить ее описание внутри
тела другой функции.
В этом случае каждая из функций,
описанных в файле должна заканчиваться
ключевым словом end.
Все команды после заголовка
функции (строка function . ) и до
соответствующего ключевого слова end
составляют тело главной функции.
Количество уровней вложенности не
ограничено.
Область
видимости
переменных
главной
функции
распространяется на все вложенные в нее
функции (а также функции, вложенные
во вложенные функции, и т.д.).
Во вложенных функциях f1 и g1,
есть доступ к переменной x из главной
функции main.
18.
function [. . .] = main(. . .)
a = . . .;
b = . . .;
function [. . .] = sub(. . .)
c = . . .;
function [. . .] = subsub(. . .)
end;
end;
function [. . .] = sub2 (. . .)
c = . . .;
end;
end
В примере выше во вложенных функциях sub, subsub и sub2 есть доступ к
переменным a и b из главной функции main.
Во вложенной функции subsub есть доступ к переменной c из sub.
В то же время переменные с одинаковым именем c в функции sub и функции sub2
различны (в основной функции main нигде не встречается переменная c).
Источник: ppt-online.org