Самоучитель Matlab
С вычислением значения такой своеобразной функции дела обстоят несколько хуже. Чтобы вычислить значение функции в точке, используем функцию subs(). Первым аргументом функции указывается переменная, определенная на основе символьного выражения. Второй аргумент – значение для символьной переменной. Это значение, кстати, тоже может быть символьным. В частности, командой subs(f,pi/2) вычисляется значение для числового аргумента, а командой subs(f,y) вычисляется выражение с заменой символьной переменной x на символьную переменную y.
Если в выражение входит несколько символьных переменных, то функцию subs() используют в немного ином формате. Первым аргументом, как и ранее, указывается переменная символьного выражения, а затем, через запятую, заменяемая в выражении символьная переменная и ее значение. На рис. 9.4 представлено продолжение предыдущего документа.
Команды здесь такие (жирным шрифтом выделен ввод пользователя):
>>z=cos(x*y)+x/y
z =
cos(x*y) + x/y
>>subs(z,x,1) ans =
cos(y) + 1/y
>>subs(z,y,x) ans =
cos(x^2) + 1
>>subs(subs(z,x,pi),y,0.5) ans =
6.2832
Командой z=cos(x*y)+x/y задается символьное выражение, в которое входят две символьные переменные x и y.
На заметку
Переменные x и y в качестве символьных объявлены ранее, в предыдущей части документа – см. рис. 9.3.
Результатом выполнения команды subs(z,x,1) является выражение, получающееся заменой в выражении z переменной x на 1. При этом выражение z не меняется. В результате выполнения команды subs(z,y,x) получаем выражение, которое получается из z заменой переменной y на x. Причем результат автоматически упрощается (насколько это возможно). Наконец, чтобы выполнить замену сразу нескольких символьных переменных, используем конструкцию из вложенных функций subs(), как в команде subs(subs(z,x,pi),y,0.5).