2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Фортран в Матлабе
Сообщение09.09.2013, 17:34 
Аватара пользователя


27/06/12
61
Москва, МГУ
Добрый вечер )
Помогите, пожалуйста.
Нужно
скомпилированный в Intel Visual Fortran фортрановский файл вызвать как функцию в Матлабе.

 Профиль  
                  
 
 Re: Фортран в Матлабе
Сообщение09.09.2013, 20:53 
Заслуженный участник


11/05/08
32166
А это вообще-то возможно?...

Про Фортран не знаю (я про вообще ни про какой Фортран уже лет тридцать ничего не знаю), но вот с Си в связке с Матлабом чуть-чуть баловался (хотя Си я тоже не знаю). И, насколько помню, абы какую Сю в Матлаб не запихнёшь -- там нужен внутри неё специальный интерфейс, подогнанный именно под Матлаб.

 Профиль  
                  
 
 Re: Фортран в Матлабе
Сообщение09.09.2013, 23:37 
Заслуженный участник


15/05/05
3445
USA
_3op9l в сообщении #761983 писал(а):
Нужно скомпилированный в Intel Visual Fortran фортрановский файл вызвать как функцию в Матлабе.

Что значит "скомпилированный фортрановский файл"?
Если EXE, то смотрите топик запуск exe файла в Matlab
Если DLL, то смотрите, например, здесь: Вызов из MatLab'а кода, написанного на C/C++.. (Принципиальных различий с Фортраном нет.)

ewert совершенно прав - произвольную DLL вызвать нельзя. Иногда приходится писать специальную интерфейсную DLL, вызываемую из Matlab и преобразующую параметры в требуемые переданной Вам DLL.

Я занимался сопряжением Matlab и C++ лет 10 назад. Мне очень помогла вот эта книжка: Мартынов Н.Н., Иванов А.П. MATLAB 5.x Вычисление, визуализация, программирование. // М. Кудиц-Образ. 2000.

 Профиль  
                  
 
 Re: Фортран в Матлабе
Сообщение10.09.2013, 11:38 
Аватара пользователя


27/06/12
61
Москва, МГУ
Спасибо большое )

 Профиль  
                  
 
 Re: Фортран в Матлабе
Сообщение10.09.2013, 13:23 
Аватара пользователя


27/06/12
61
Москва, МГУ
Подскажите, пожалуйста, ещё.

Вот из такого файла f90 в VisualStudio не получается сделать exe файл.
Сама subroutine my2013 компилируется без ошибок.
Цитата:
PROGRAM UGLI()
REAL*8 param
CALL my2013(param,ugli1,ugli2)
subroutine my2013(param,ugli1,ugli2)
...
end subroutine my2013
End PROGRAM

Когда в дебаггере жму "Построить решение" , то

Ошибка 1 В "ConsoleApplication3.Module1" не найден метод Sub Main. ConsoleApplication3

В чём тут может быть дело?

 Профиль  
                  
 
 Re: Фортран в Матлабе
Сообщение10.09.2013, 19:07 
Заслуженный участник


15/05/05
3445
USA
_3op9l в сообщении #762342 писал(а):
Ошибка 1 В "ConsoleApplication3.Module1" не найден метод Sub Main. ConsoleApplication3
В чём тут может быть дело?
Я с Visual Fortran не работаю.
Посмотрите консольные приложения в примерах, установленных с Visual Fortran.

NB: Например, в консольных программах на C всегда должна быть функция main(). В консольных программах на Java в одном из классов должен быть метод main(). В консольных программах на VisualBasic - Sub Main.

 Профиль  
                  
 
 Re: Фортран в Матлабе
Сообщение12.09.2013, 12:06 
Аватара пользователя


27/06/12
61
Москва, МГУ
Спасибо. )

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group