|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Решение уравнений и неравенствРешение одиночных нелинейных уравнений вида f(х)=0 легко обеспечивается функций solve(f(x),x). Это демонстрируют следующие примеры (файл solve): > solve(х^3-2*х+1,х); > solve(х^(3/2)=3,х); 3(2/3) > evalf(%); 2.080083823 > solve(sqrt(ln(х))=2,х); e4 > evalf(%); 54.59815003 Если уравнение записывается без правой части, то это означает, что она равна нулю. Часто бывает удобно представлять уравнение и его решение в виде отдельных объектов, отождествленных с определенной переменной (файл solve): > eq:=(2*х^2+х+3=0); eq:= 2x²+x+3 = 0 > s: = [solve(eq,x)]; В частности, это позволяет легко проверить решение (даже если оно не одно, как в приведенном примере) подстановкой (subs): > subs(x=s[1],eq); > subs(x=s[2],eq); > evalf(%); 0. + 0.I = 0. Сводящиеся к одному уравнению равенства вида f1(х)=f2(x) также решаются функцией solve(f1(x)=f2(x),x): > solve(х^4=-х-1,х); RootOf(_ Z4 + _Z + 1, index = 1), RootOf (_Z4 + _Z + 1, index = 2), RootOf(_Z4 + _Z + 1, index = 3), RootOf(_ Z4 +_Z + 1, index = 4) > evalf(%); .7271360845 +.9340992895 I, -.72711360845 +.4300142883 I, -.7271360845 -.4300142883 I,.7271360845 -.9340992895 I > solve({exp(x)=sin(x)},x); {x = RootOf(_ Z-ln(sin(_Z)))} > evalf(%); {x =.3627020561 - 1.133745919I} > solve(x^4=2*x,x); > evalf(%); 0., 1.259921050, -.6299605250 + 1.091123636 I, -.6299605250 - 1.091123636 I Обратите внимание в этих примерах на эффективность применения функции evalf, позволяющей получить решения, выраженные через функцию RootOf, в явном виде. Некоторые даже с виду простые уравнения могут дать неожиданные для многих пользователей результаты. Пример такого рода приведен ниже (файл solve): > restart;eq:=ехр(-х)=х;sol:=solve(exp(-х)=х,х); eq:= е(-х) = х sol = LambertW(1) > evalf(sol); 0.5671432904 В данном случае решение получено через значение специальной функции Ламберта. Впрочем, с помощью функции evalf его можно представить в численном виде. Неравенства в математике встречаются почти столь же часто, как и равенства. Они вводятся знаками отношений, например > (больше), < (меньше) и т.д. Решение неравенств существенно расширяет возможности функции solve. При этом неравенства задаются так же, как и равенства. Приведенные на рис. 4.35 примеры поясняют технику решения неравенств. Рис. 4.35. Примеры, иллюстрирующие решение неравенств Из приведенных примеров очевидна форма решений — представлены критические значения аргумента, вплоть до не включаемых значений области действия неравенства (они указываются словом Open). Всегда разумным является построение графика выражения, которое задает неравенство — это позволяет наглядно убедиться в правильности решения. Приведем еще несколько примеров решения неравенств в аналитической форме (файл solveu): > solve(5*х>10,х); RealRange(Open(2), ∞) > solve(5*х>=10,х); RealRange(2, ∞) > solve(ln(х)>2,х); Rea1Range(Open(e²), ∞) > solve(ехр(х)>10, х); RealRange(Open(ln(10)), ∞ > solve(a*x>b,{х}); > eqn:= abs(z)^2/(z+1) < ехр(2)/(ехр(1)-1); > solve(eqn, {z}); > eqn:= ехр(х)*х^2 >= 1/2; > solve(eqn, {x}); > eqns:= abs((z+abs(z+2))^2-1)^2 = 9; eqns:= |(z +|z + 2|)² - 1|² = 9 > solve(eqns, {z}); {z = 0 }, { z ≤ -2} > eqns:= { х^2<1, у^2<=1, х+у<1/2 }; eqns:={х² < 1, y² ≤ 1, х + y < ½} > solve(eqns, {x, у}); {y ≤ 1, -1 ≤ y, x+y < ½, -1 < x, x < 1} В последнем примере показано решение системы неравенств. При этом выдаются области определения нескольких переменных. Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.009 сек.) |