решение СЛАУ в матричной форме

Форум пользователей пакета Maple

Модератор: Admin

SA11
Сообщения: 23
Зарегистрирован: Вт дек 16, 2008 4:10 pm

решение СЛАУ в матричной форме

Сообщение SA11 » Вт мар 03, 2009 12:42 pm

Есть ли какие-нибудь встроенные функции в MAPLE, позволяющие решить систему уравнений, если матрица порядка 100х100???
Функция linearsolve берет только матрицы, размером 10х10(( :cry:

aar
Сообщения: 100
Зарегистрирован: Чт авг 10, 2006 11:27 am

Сообщение aar » Ср мар 04, 2009 3:17 pm

Пакет LinearAlgebra обещает решать большие системы. Насколько большие, не знаю.

SA11
Сообщения: 23
Зарегистрирован: Вт дек 16, 2008 4:10 pm

Сообщение SA11 » Ср мар 04, 2009 3:40 pm

Этот пакет подключен для решения, но уже для системы из 11 уравнений выдает такой ответ:

Код: Выделить всё

U := Vector(4, {(1) = ` 1 .. 11 `*Vector[column], (2) = `Data Type: `*anything, (3) = `Storage: `*rectangular, (4) = `Order: `*Fortran_order})

Irmantas
Сообщения: 589
Зарегистрирован: Ср апр 27, 2005 8:49 pm
Откуда: Литва, Каунас

Сообщение Irmantas » Ср мар 04, 2009 4:21 pm

SA11 писал(а):Этот пакет подключен для решения, но уже для системы из 11 уравнений выдает такой ответ:

Код: Выделить всё

U := Vector(4, {(1) = ` 1 .. 11 `*Vector[column], (2) = `Data Type: `*anything, (3) = `Storage: `*rectangular, (4) = `Order: `*Fortran_order})

Дайте ваши матрицы. Пасмотрим

SA11
Сообщения: 23
Зарегистрирован: Вт дек 16, 2008 4:10 pm

Сообщение SA11 » Ср мар 04, 2009 5:08 pm

вот этот алгоритм. значения n,m меняются. вот больше 10 не считает

Irmantas
Сообщения: 589
Зарегистрирован: Ср апр 27, 2005 8:49 pm
Откуда: Литва, Каунас

Сообщение Irmantas » Чт мар 05, 2009 12:38 pm

Папробуите работать только с реальными числами а не с вырожениями. Добавил evalf в матрицу b и LinearSolve(TT, FF) работает до n=m=25 (больше непрбувал).
b:=matrix(m,n,(j,k)->evalf(sum(a[t,j]*a[t,k],t=1..m-1)*h[x]*h[s])):

SA11
Сообщения: 23
Зарегистрирован: Вт дек 16, 2008 4:10 pm

Сообщение SA11 » Чт мар 05, 2009 5:16 pm

Irmantas писал(а): Добавил evalf в матрицу b и LinearSolve(TT, FF) работает до n=m=25 .
b:=matrix(m,n,(j,k)->evalf(sum(a[t,j]*a[t,k],t=1..m-1)*h[x]*h[s])):


Сделав тоже самое, все равно не выдает ответ(((

Irmantas
Сообщения: 589
Зарегистрирован: Ср апр 27, 2005 8:49 pm
Откуда: Литва, Каунас

Сообщение Irmantas » Чт мар 05, 2009 6:11 pm

SA11 писал(а):Сделав тоже самое, все равно не выдает ответ(((


hmmmmmm....
У меня всё нормално n=25 m=25.
Y[25] = -241.7866709*w[0](5/7*Pi)*cos(2.243994753*l)^2-53.87416136*sin(4.487989507*l)
Может вы видите ответ

Код: Выделить всё

| 25 Element Column Vector |
| Data Type: anything      |
| Storage: rectangular     |
| Order: Fortran_order     |

но незнайте что сним зделать. Просто выводите елемент вектора Y[1], Y[2], Y[3], ...

Семен
Сообщения: 73
Зарегистрирован: Пн сен 08, 2008 10:24 am

Сообщение Семен » Чт мар 05, 2009 6:55 pm

Для вывода матриц размерности большей, чем 10х10, используйте установку вида

> interface(rtablesize=infinity); M:=Matrix(40,40);

SA11
Сообщения: 23
Зарегистрирован: Вт дек 16, 2008 4:10 pm

Сообщение SA11 » Чт мар 05, 2009 8:22 pm

Да, действительно была проблема с выводом ответа. Спасибо большое, теперь все получается.