![]() |
Есть небольшая либа для решения матричной системы.
Всё работает нормально, пока при попытке инвертировать матрицу порядка 7 на 7, ф-ция аварийно не завершает работу, т.к. получает детерминант=NaN (хотя он чуть превышает 10^6). Само собой разумеется, в остальных случаях всй считается. Код:
Const TMatrixMaxIndex2D=99 Собсна вопрос - можно как-нить уменьшить кол-во рекурсий, не сильно загромождая код? |
лутче скажи что собствено код делает... ну я в математике матриц не очень... всештаки только 9 класс :)
|
проблема отпала
|
Проблему с нехваткой места в 4-байтовых переменных сначала хотел решить эмуляцией длинных чисел на основе массива коээфициентов. Но код получился слишком громоздкий (мне была необходима поддержка положительных/отрицательных дробных чисел.
Поэтому на данный момент пишу систему округлений вычислений, т.к. точность некритична а вот скокрость работы на эмуляции упадёт больше чем на округениях с вынесением степени десятки. |
Инвертированную матрицу можно найти намного быстрее используя дополнительную единичную путем преобразования обеих матриц методом Жордано-Гаусса (точнее методом пямоугольника, а еще точнее смесью)
|
Вложений: 2
И вообще лучше и быстрее всего решать системы лин. уравнений методом Жордано-Гаусса... никаких переполнений переменных не будет...
Код:
'Процедура преобразования матрицы методом Жордана-Гаусса А вот исходник моей проги (релизовать нахождение обратной матрицы методом дополнительной единичной я наверное неуспел... или исходник потерял хз) VB рулез, С++ отстой :lol: :lol: :lol: |
1)"И вообще лучше и быстрее всего решать системы лин. уравнений методом Жордано-Гаусса... никаких переполнений переменных не будет..." - это типа, того , вводная, млин!
2)"Инвертированную матрицу можно найти намного быстрее используя дополнительную единичную путем преобразования обеих матриц методом Жордано-Гаусса (точнее методом пямоугольника, а еще точнее смесью)" - неизящно + потеря точности 3)"VB рулез, С++ отстой" - а на это я и обидеться могу. Тем блее не понял : причём здесь С++? На С++ это всё реализовано очень даже. |
Цитата:
Цитата:
|
Я в будующем не собираюсь писать обычные программы (их и так навалом),а вот для супер-прог - С++ самое оно (это мое мнение... можешь меня забросать булыжниками =/ ), к тому же он круче VB по производительности и возможностям... если я буду использовать VB - то даже не знаю на кой фиг (вариант : готовые компонеты/библиотеки ?) ....
|
Часовой пояс GMT +4, время: 19:59. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot