Метод определения функции Matlab, который принимает строку как определение (MFILE) - PullRequest
0 голосов
/ 01 февраля 2020

есть этот метод, который я использовал на днях, и я забыл детали, в которых мы использовали синтаксис вроде этого:

f=//command//(x,'sin(x)');

что-то вроде этого. Я не уверен, что синтаксис полностью правильный, или какая команда правильная. но после этого мы можем просто запросить значение f (x) следующим образом:

x= 0;
y= f(x);

, и тогда результаты будут y = 0;

Ответы [ 2 ]

1 голос
/ 01 февраля 2020

ну я сам нашел ответ, и это была «встроенная» команда; :)

f=inline('sin(x+y+z)','x','y','z');

Вы можете добавить столько переменных, сколько вам нужно.

1 голос
/ 01 февраля 2020

То, что вы просите, обычно не рекомендуется. Пожалуйста, проверьте, соответствует ли простая анонимная функция вашим требованиям:

f=@(x)(sin(x))

В случае, если вам действительно нужно выполнить оценку по строке:

f=str2func('@(x)sin(x)')

Я бы рекомендовал второй вариант, если не совсем требуется, это может привести к трудным отладочным ошибкам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...