Функции и выражения


Мы использовали термины выражения и функции, но не рассматривали подробно отличия между ними.

Говоря точнее, если мы задаем f (х) = х^3 - 1, тогда f (записанная без каких-либо входных параметров) является функцией, пока f (х) и х^3-1 являются выражениями, включающими переменную х. В разговоре мы часто опускаем это различие, называя f (х) или х^3-1 функцией, но в программе MATLAB различие между функциями и выражениями является важным.

В программе MATLAB выражение может принадлежать либо к классу «строка», либо к классу «символьный». Рассмотрим следующий пример.

Функции и выражения картинка

Этот результат может поставить в тупик, если вы ожидаете, что f будет работать как функция. Так как f является строкой, то f (7) указывает на седьмой символ в f, который равен 1 (пробелы считаются). Подобно символьному выводу, вывод строки не имеет абзацного отступа от левого края. Это ключ к тому, что ответ выше является строкой (состоящей из одного символа), а не числом с плавающей точкой. Если ввести f (5), то сообщения об ошибке не будет, а если ввести f (-10), то оно появится.

Вы познакомились с тремя способами задания ваших собственных функций, используя символ @ для создания анонимной функции, команду inline (см. главу 2) или М-файл (см. главу 3). Анонимные или «inline» функции по большей части полезны для задания простых функций, которые можно выразить в одной строке, а также для превращения символьного параметра вывода команды в функцию. М-файлы-функции полезны для задания функций, которые требуют несколько промежуточных команд для вычисления результата. Большая часть команд программы MATLAB представляет собой М-файлы, и вы можете извлечь из них некоторые идеи для собственных М-файлов, например, чтобы увидеть М-файл для команды mean, вы можете ввести

Функции и выражения картинка

Некоторые команды, например, команда ode45 (команда вычисления обыкновенных числовых дифференциальных уравнений (ODE), который мы будем использовать позже, в главе 10) требуют, чтобы их первый аргумент был функцией, а если точнее, либо встроенной функцией (например, ode45(f, [0 2], 1)), либо дескриптором функции, который представляет собой название встроенной функции или М-файл-функцию, предваряемую специальным символом @ (например, ode45(@func, [0 2], 1)). Синтаксис с использованием символа @ был введен в программу MATLAB версии 6; в более ранних версиях программы заменой служило заключение имени функции в одинарные кавычки, чтобы представить ее в виде строки. Но с кавычками или без них введение символьного выражения при первом вводе команды ode45 приведет к отображению сообщения об ошибке. С другой стороны, большинство символьных команд требует в качестве первого аргумента либо строку, либо символьное выражение, но не функцию.

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

то интеграл невозможно будет вычислить, потому что строка h будет выглядеть, как неизвестная функция. Но если вы введете

Функции и выражения картинка

тогда предыдущее определение h заменится на символьное выражение h(t) перед выполнением интегрирования.

Эта статья из раздела-взаимодействие с программой matlab, которая посвящена теме-функции и выражения. Надеюсь вы по достоинству оцените ее!

Поэтому из выше всего сказанного можно сделать вывод, что вам необходимо просмотреть много дополнительной информации и альтернатив!


Добавить комментарий


Защитный код
Обновить

Сайт создан в Seo-Dubna.ru