|
|
|
Вычисление строковых выражений
Строковые выражения обычно не вычисляются, так что, к примеру, вывод строки ' 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