Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Pro] СЛАУ, Найти решение СЛАУ 
:(
    Опции темы
xxxLORDIxxx
  Дата 1.12.2007, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 1.12.2007

Репутация: нет
Всего: нет



Здравствуйте высокоувожаемые программисты!!!
Помогите решить такую проблему!
дана матрица её надо решить( Найти решение системы линейных алгебраических уравнений Ax=b.)
                       Матрица А                             Вектор B 
n   0   4   0   0   2   0   0   1   0                             3
4   n   0   4   0   0   2   0   0   1                             3
0   4   n   0   4   0   0   2   0   0                             3
0   0   4   n   0   4   0   0   2   0                             3
2   0   0   4   n   0   4   0   0   2                             n 
0   2   0   0   4   n   0   4   0   0                             n 
0   0   2   0   0   4   n   0   4   0                             3
1   0   0   2   0   0   4   n   0   4                             3
0   1   0   0   2   0   0   4   n   0                             3
0   0   1   0   0   2   0   0   4   n                             3

n=13

Скрипт для проги такой!!!
                
                Real*4 A(10,10) ,B(10),X(10)
    Open(1,File='DAT.txt')
    Open(2,File='RES.txt')
    Read(1,1) ((A(i,j), j=1,10) , B(i), i=1,10)
1    Format(/(10F5.1,F6.1))
    Write(2,2) ((A(i,j), j=1,10),B(i), i=1,10)
2    Format(22x,'матрица А',19x,'Вектор B'/(10f5.1,f6.1))
     Call Gauss_G(10,A,B,X,*16)
    Write(2,14) (x(i), i=1,10)
14    Format(/11x,'Метод Гаусса с выб.Гл.Эл.:'
               * 'Вектор решения X'/(5F12.7))
    Go to 20
16    Write(*,18)
    Write(2,18)
18    Format(/'*** Метод Гаусса с выб.гл.эл.:'
               * 'система не имеет решения!!! ***')
20            Close(1)
    Close(2)
    END   

После нажатия GO (start) выдаёт:

LNK2001: unresolved external symbol _GAUSS_G@16

 fatal error LNK1120: 1 unresolved externals
 Error executing link.exe.

Если подключаю бибилиотеку Mat_lab.lib то выдаёт:
inking...
LINK : warning LNK4098: defaultlib "libcd.lib" conflicts with use of other libs; use /NODEFAULTLIB:library
mat_lab.lib(Lab3.obj) : error LNK2001: unresolved external symbol _for_check_mult_overflow
mat_lab.lib(Lab3.obj) : error LNK2001: unresolved external symbol _for_check_mult_overflow
mat_lab.lib(Lab3.obj) : error LNK2001: unresolved external symbol _for_check_mult_overflow
mat_lab.lib(Lab3.obj) : error LNK2001: unresolved external symbol _for_check_mult_overflow
mat_lab.lib(Lab3.obj) : error LNK2001: unresolved external symbol _for_check_mult_overflow
mat_lab.lib(Lab3.obj) : error LNK2001: unresolved external symbol _for_check_mult_overflow
mat_lab.lib(Lab3.obj) : error LNK2001: unresolved external symbol _for_check_mult_overflow
mat_lab.lib(Lab3.obj) : error LNK2001: unresolved external symbol _for_check_mult_overflow
mat_lab.lib(Lab3.obj) : error LNK2001: unresolved external symbol _for_check_mult_overflow
mat_lab.lib(Lab3.obj) : error LNK2001: unresolved external symbol _for_check_mult_overflow
mat_lab.lib(Lab3.obj) : error LNK2001: unresolved external symbol _for_check_mult_overflow
mat_lab.lib(Lab3.obj) : error LNK2001: unresolved external symbol _for_check_mult_overflow
mat_lab.lib(Lab3.obj) : error LNK2001: unresolved external symbol _for_check_mult_overflow
mat_lab.lib(Lab3.obj) : error LNK2001: unresolved external symbol _for_check_mult_overflow
mat_lab.lib(Lab3.obj) : error LNK2001: unresolved external symbol _for_check_mult_overflow
Debug/LR3.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

LR3.exe - 16 error(s), 1 warning(s)

Что делать я не знаю ,помогите пожалуйста дайте совет как поступить!!!
спасибо большое!!!

PM MAIL   Вверх
Wowa
Дата 2.12.2007, 01:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: нет
Всего: 290



Модератор: Название темы должно отражать ее суть!
 Правила форума: http://forum.vingrad.ru/index.php?act=boardrules
PM WWW   Вверх
popovda
Дата 4.12.2007, 09:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 290
Регистрация: 9.6.2006
Где: Москва

Репутация: нет
Всего: 6



Обратите внимание на ошибку

"unresolved external symbol _GAUSS_G@16"

у вас компилятор не знает такой внешней функции. Значит надо подрубить ее. Ну, допустим, вы ее
подрубаете и у вас начинают ползти бяки такого же плана - неизвестная функция, значит надо еще какие-то библиотеки подключать. 

Не мучайтесь. Если работаете под CVF или IFC, то подключите IMSL и затем решите ваше злосчастное уравнение вот так, например:

X = matmul(inverse(A),B);
Или напишите свой метод Гаусса, или проще и надежнее - методом релаксации:

Код

! Примерно так
!Точность
real(8), parameter :: eps = 0.00005;
! Параметр релаксации подбирается в диапазоне 0----2
real(8), parameter :: w = 0.5;
! Невязка
real(8),dimension(size(X)) :: R;

...........................................

do 
       R = matmul(A,X) - B; 
       X_new = X - w*R;
       if(max(abs(R))<eps .and. max(abs(X-X_new))<eps) then
                 exit;
       else
                 X = X_new;
       end if;
end do;



--------------------
С уважением, Попов Д.А.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Fortran | Следующая тема »


 




[ Время генерации скрипта: 0.0649 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.