Решение систем линейных уравнений
Для решения систем линейных уравнений созданы мощные матричные методы. Однако и функция solve может быть успешно применена. Для решения система уравнений и перечень неизвестных задаются в виде множеств.
Приведены примеры решения двух систем. Импликативная графика пакета расширения plots даёт прекрасную возможность проиллюстрировать решение
> restart; with(plots):
> sys:={3*x+5*y=15,y=x-1};
> solve(sys,{x,y});
> implicitplot(sys,x=-10..10,y=-10..10,color=black);
> restart; with(plots):
> sys:={5*x+3*y=30,10*x+6*y=30};
> solve(sys,{x,y});
> implicitplot(sys,x=-10..10,y=-10..10,color=black);
В первом случае функция solve возвращает решение в виде значений неизвестных x и y, а во втором случае отказывается это делать. Как видно из графика во втором случае решения нет, т.к. уравнения задают параллельно расположенные прямые.
Решение систем из трёх уравнений имеет наглядную геометрическую интерпретацию:
> restart; with(plots):
> sys:={z=4,x+y=10,x-y=5};
> solve(sys,{x,y,z});
> display(implicitplot3d(sys,x=-10..10,y=-10..10,z=-10..10, shading=xyz,style=patchnogrid,orientation=[158,70]),
spacecurve({[t,10-t,4],[t,t-5,4],[15/2,5/2,t]},t=10..10, color=black,thickness=2));
Для наглядности показаны линии пересечения плоскостей с помощью функции импликативной трехмерной графики implicitplot3d. Для объединения графиков плоскостей используется функция display.
Дата добавления: 2020-10-01; просмотров: 314;