![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Основные символьные операции
Объявить символьную переменную в Matlab можно двумя способами:
Способ 1. С помощью команды syms. Таким способом можно объявить сразу несколько символьных переменных. Синтаксис команды syms:
syms name1 [name2 …] [options],
где name1, [name2 …] – имена создаваемых переменных. С помощью опции options можно указать, как интерпретировать переменные: real – для вещественных переменных, unreal – для комплексных.
Имена должны начинаться с буквы и содержать только буквы и цифры.
Используя обычные арифметические операции и функции, можно создавать новые символьные выражения и функции.
Пример 3-13. Требуется создать символьную функцию
Инструкции | Результат |
>> syms x y >>% создание символьной функции f >> f = (x^2 + 2*y)/(2*sin(x)-cos(2*y)) | f = (x^2 + 2*y)/(2*sin(x)-cos(2*y)) |
Способ 2. Объявить символьную переменную в Matlab можно с помощью функции sym. Синтаксис команды sym:
[name] = sym(name [, options]),
Последовательность функций u=sym(¢u¢); v=sym(¢v¢); эквивалентна команде syms u v. Опция options принимает те же значения, что и в команде syms. Но в отличие от команды syms, функцию sym можно использовать для создания символьных функций или выражений.
Пример 3-13. Требуется создать символьную функцию
F(x, y) = x2 – 2y
Инструкции | Результат |
>> % объявление символьных переменных x и y >> х=sym('x'); y=sym('y'); >> f = x^2-2*y Возможно создание символьной функции без предварительного объявления символьных переменных: >> f = sym('x^2-2*y') | f = x^2-2*y f = x^2-2*y |
Вычисляет значение символьного выражения или переменной функция Name=vpa(expr[,n])),
где expr – символьное выражение или переменная, n задает точность вычислений (по умолчанию n =32)
Пример 3-14. Требуется вычислить значение символьной функции при х = p, и у = p.
Инструкции | Результат |
>> syms x y >> x=pi; >> y=pi; >>vpa((x^2+2*y)/(2*sin(x)-cos(2*y)),3) | ans = -16.153 |
Решение уравнений и систем в символьном виде
Для решения уравнений и систем в символьном виде в Matlab существует функция solve(ex1, ex2, …,exN, var1, var2, …, varN). Она возвращает значения переменных (ex1, ex2, …,exN), при которых соблюдаются равенства, заданные выражениями ex1, ex2, …,exN.
Пример 3-15. Требуется найти корни полинома х3 - 6 х2 +11 x - 6 = 0
Инструкции | Результат |
>> syms x >> y = solve(x^3-6*x^2+11*x-6, x) | y = |
Пример 3-16. Требуется решить систему нелинейных уравнений:
Инструкции | Результат |
>> syms x y >> f1=sym('x^2+y^2-16'); >> f2=sym('x^2/25+y^2/4-1'); >> %Аналитическое решение системы: >> [x,y]=solve(f1,f2,x,y) >>%Численное решение системы >> vpa([x,y],4) | x = 10/7*7^(1/2) -10/7*7^(1/2) 10/7*7^(1/2) -10/7*7^(1/2) y = 2/7*21^(1/2) 2/7*21^(1/2) -2/7*21^(1/2) -2/7*21^(1/2) ans = [ 3.781, 1.309] [ -3.781, 1.309] [ 3.781, -1.309] [ -3.781, -1.309] |
Вычисление пределов
Для вычисления пределов в Matlab предусмотрена функция limit. В общем случаесинтаксис этой функции: limit (F[, x, b, options ]), где F – имя символьной функции или ее символьная запись, x – аргумент функции, b – значение, к которому стремится x. Если х стремится к бесконечности (к минус бесконечности), параметр b принимает значение inf (-inf). С помощью опции options можно указать, предел функции в точке b слева (left) или справа (right) требуется вычислить.
Пример 3-17. Требуется вычислить предел функции
Инструкции | Результат |
>> syms x >> f=sym('log(5-2*x)/((10-3*x)^(1/2)-2)'); >> limit(f,'x',2) | ans = 8/3 |
Пример 3-18. Требуется вычислить пределы функции
и
Инструкции | Результат |
>> syms x >> f=sym('(x^2-57*x+572)/(abs(x-44)*(x^2-(53/4)*x+13/4))'); >>% вычисляем предел функции в точке х®44 слева: >> limit(f,x,44,'left') >>% вычисляем предел функции в точке х®44 справа: >> limit(f,x,44,'right') | ans = -4/175 ans = 4/175 |
Задание 3-6. Вычислите пределы функций:
1.
2.
3.
4.
5.
Дата публикования: 2015-01-14; Прочитано: 11054 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!