Вычисление строковых выражений

Строковые выражения обычно не вычисляются, так что, к примеру, вывод строки ' 2+3' просто повторяет строку:

» '2+3'

ans =

2+3

Однако с помощью функции eval ('строковое выражение'.) строка, представляющая математическое выражение, может быть вычислена:

» eval C2+3')

ans =

5

» eval('2*sin(l)')

ans =

1.6829

Ниже использование eval возвращает 12 матриц, представляющих магические квадраты чисел от 1 до 12:

for n = 1:12

eval(['IT num2str(n) ' = magic(n)'])

end

eval (SI,S2) — в случае ошибки в вычислении выражения s1 оценивает выражение s2.

T=evalc (S) выполняет то же, что и функция eval(s), но то, что выводится в командное окно, записывается также и в массив Т;

Еще одна функция — feval (@имя_функции,х1,х2,...) — имеет важное достоинство — она позволяет передавать в вычисляемую функцию список ее аргументов. При этом вычисляемая функция задается только своим именем. Это поясняют следующие примеры:


Warning: require_once(/var/www/u0033082/data/www/kokos13.ru/www.matlabsoft.ru/3d40b281efbf7e201223173b1a015a7e/sape.php): failed to open stream: No such file or directory in /var/www/u0033082/data/www/kokos13.ru/matlabsoft.ru/numpag18/Index6.php on line 207

Fatal error: require_once(): Failed opening required '/var/www/u0033082/data/www/kokos13.ru/www.matlabsoft.ru/3d40b281efbf7e201223173b1a015a7e/sape.php' (include_path='.:') in /var/www/u0033082/data/www/kokos13.ru/matlabsoft.ru/numpag18/Index6.php on line 207