2014 dxdy logo

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

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




 
 Фортран в Матлабе
Сообщение09.09.2013, 17:34 
Аватара пользователя
Добрый вечер )
Помогите, пожалуйста.
Нужно
скомпилированный в Intel Visual Fortran фортрановский файл вызвать как функцию в Матлабе.

 
 
 
 Re: Фортран в Матлабе
Сообщение09.09.2013, 20:53 
А это вообще-то возможно?...

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

 
 
 
 Re: Фортран в Матлабе
Сообщение09.09.2013, 23:37 
_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 
Аватара пользователя
Спасибо большое )

 
 
 
 Re: Фортран в Матлабе
Сообщение10.09.2013, 13:23 
Аватара пользователя
Подскажите, пожалуйста, ещё.

Вот из такого файла 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 
_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 
Аватара пользователя
Спасибо. )

 
 
 [ Сообщений: 7 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group