Описание тега fortran

Fortran - это универсальный процедурный императивный язык программирования, который особенно подходит для числовых вычислений и научных вычислений. С 2003 года стандартный Fortran также поддерживает объектно-ориентированное программирование. Этот тег следует применять ко всем вопросам о языке Fortran; другие специфические теги могут быть добавлены для компиляторов, языковых версий и конкретных аспектов использования.
1 ответ

fortran: как передать нулевой указатель на подпрограмму, в которой он будет определен и возвращен

Я хочу иметь небольшую подпрограмму для создания дублированной копии указателя, который уже выделен / определен. У меня есть следующий тестовый код: implicit none real ,pointer :: x(:),y(:) real,target:: px px=2.02 allocate(x(10)) x=20.0 call copy_1…
26 июн '15 в 14:50
0 ответов

Как использовать, где построить подматрицу

Мне нужно сделать массив A из ненулевых элементов существующего массива B. В Matlab я бы "нашел" индексы ненулевых значений B: A=B(find(B~=0)) Кто-нибудь может предложить способ сделать это в F90? Во всех моих попытках я всегда получаю ту же длину, …
10 апр '17 в 17:05
2 ответа

fortran: введите "исполняемый @script" в терминале, чтобы запустить программу, используя скрипт

У меня есть программа на фортране, в которой я обычно использую сценарии команд, например, в терминале, который я пишу: $ программа затем я вхожу в программу (терминал показывает "$program>") и принимает либо команды, либо скрипт, который я вызываю,…
21 окт '14 в 16:56
0 ответов

Фортран Фиксированная линия продолжения линии

Я всегда использую свободную форму.f90 для написания кода на Фортране, но теперь мне нужно использовать какой-то фиксированный код.f. Насколько я знаю, продолжение строки в фиксированном формате может быть достигнуто путем помещения произвольного не…
29 апр '17 в 00:43
1 ответ

Проблема при компоновке библиотек lapack и fftw3

У меня есть программа Fortran 90, которая использует подпрограммы lapack и успешно работает в моей системе Ubuntu. Теперь я хочу запустить его на Mac (OS X Версия 10.11.4). Я использую компилятор gfortran как часть gcc, установленного из репозиторие…
29 мар '16 в 18:36
2 ответа

Общий тип, производный от Фортрана: инициализация?

У меня проблемы с этим общим: COMMON /REDCOM/ DPREC,NITMA,INDIC,NBERR,NCAR,KMOTLU, & REDVAR,MOCDER(2) COMMON /REDCO1/ CTEXT C type(double_st) :: DPREC INTEGER :: NITMA,INDIC,NBERR,NCAR,KMOTLU,REDVAR,MOCDER CHARACTER(72) :: CTEXT CHARACTER(4) :: …
15 июн '15 в 15:15
1 ответ

Правильное построение библиотек Фортрана и использование их для создания приложений

Я нашел несколько предыдущих вопросов по этому поводу, но не смог найти что-то конкретное для совета по правильному сопоставлению библиотек и файлов модулей. *.mod в Makefile. У меня есть каталог проекта с именем project где все исходные файлы для б…
09 фев '15 в 16:42
2 ответа

Проблема приращения цикла DO в Фортране

У меня проблема при использовании цикла do в фортране, REAL W,V,X DO 50 W = 0.5,5.0,0.5 DO 50 V = 10.0,1000.0,10.0 DO 50 X = 1.0,10,1.0 C=(W*V*X)/1000.0 WRITE(*,*) W,V,X,C 50 CONTINUE STOP END Если я дал это, то это показывает, что в цикле do нужно …
13 июн '13 в 16:20
1 ответ

Как читать файл (содержащий матрицу mxn) строка за строкой и в каждой строке элемент за элементом?

У меня есть файл с именем "test.dat", который содержит матрицу 10x6 следующим образом: Содержимое файла test.dat: 2 5 9 0 0 0 1 3 7 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 4 6 0 0 0 0 3 0 0 0 0 0 2 1 0 0 0 0 0 0 0 0 0 0 Я хочу преврати…
03 фев '15 в 01:32
1 ответ

Фортран рассчитывает расстояние от многих точек до фиксированной точки

Есть ли более элегантный и лаконичный способ вычисления расстояний между набором точек и фиксированной точкой, чем это? real, dimension(3, numPoints) :: points real, dimension(3) :: source real, dimension(numPoints) :: r r = sqrt((points(1,:) - sour…
25 июн '15 в 13:50
0 ответов

Fortran FFT параллельно с использованием openmp

Я хотел бы ускорить вычисления Якобиана в подпрограмме Advection, используя инструкции omp. Моя неудачная попытка показана ниже. Четыре вычисления, обозначенные как разделы с 1 по 4, не зависят друг от друга. Обратите внимание, что я не пытаюсь испо…
29 июн '17 в 18:32
3 ответа

Целочисленное форматирование вывода с оператором печати

Я заметил, что если я использую integer(16) переменные, когда я использую print, вывод содержит точное число ожидаемых пробелов. Таким образом, когда я использую (некоторые могут распознать проблему проекта Эйлера здесь) implicit none integer(16)::s…
05 авг '12 в 01:43
2 ответа

Использование Fortran DLL в VB

Я пытаюсь научить себя вызывать фортран-подпрограмму из VB. И я пытаюсь работать с очень простыми примерами, но почему-то это не работает. Я использую Visual Studio 2010 с Intel Visual Fortran. Вот код, который я пытаюсь: SUBROUTINE ARRAYTEST(arr) !…
17 дек '12 в 15:17
1 ответ

Навигация по каталогу в предложении OPEN

Как я могу читать из родительского каталога, используя OPEN статья? Скажем OPEN (11,file='../inf/input.dat',form='formatted',status='old') , который не работает. Я получил: forrtl: severe (29): file not found, unit 11, file /home/cg/compile/comp/../…
16 июл '17 в 16:17
0 ответов

Перехват неинициализированных распределенных массивов в FORTRAN 90

Я компилирую с gfortran 5.4.1 и ifort 17.0.1 В следующем коде: program check implicit none real, dimension(:), allocatable :: hello real :: g,h,i allocate(hello(5)) g = hello(1) h = g + 10.0 i = hello(2)*5 print *, hello,g,h end program check Мы выд…
17 окт '17 в 17:37
3 ответа

Написать в существующий файл без перезаписи в Фортран

У меня есть существующий файл, написанный программой на Фортране (отформатированный), и я хотел бы добавить несколько строк в начале файла. Идея состоит в том, чтобы сделать это без создания копии исходного файла. Я мог бы добавить строку в конец фа…
25 окт '13 в 07:48
1 ответ

Можно ли индексировать содержимое массива с помощью функции транспонирования?

Можно ли в фортране индексировать элементы массива, подчиненные внутреннему? Я имею в виду, в частности, transpose функция. В следующем коде я создаю и инициализирую массив с именем A и пытаюсь проиндексировать значение внутри транспонированного мас…
07 июл '17 в 06:11
1 ответ

Как вывести матрицу, элементами которой являются функции?

Я использую фортран и пытаюсь взять производную от матрицы, элементами которой являются функции. program derivada_matrix integer, parameter :: matrix_size = 5 integer :: i,j real(8) :: time = 1.0 real(8),dimension (matrix_size, matrix_size) :: W rea…
18 ноя '16 в 01:23
2 ответа

Как расположить элементы вектора в Фортране?

У меня есть два массива p*n, y и ymiss. у содержит действительные числа и NA. ymiss содержит 1 и 0, так что если y(i,j)==NA, ymiss(i,j)==0 и 1 в противном случае. У меня также есть 1*n массив ydim, который сообщает, сколько вещественных чисел в y(1:…
05 янв '10 в 08:22
0 ответов

Максимальное и минимальное значение из входного файла

Во-первых, я написал этот код, и он работал хорошо. program test implicit none integer i,n real dl, lambda real tr, top, bot integer, parameter :: imax = 1e4 real wl(50), f(50) character infile*15, outfile*15 n=25 open(15,file='t1.txt') open(16,file…
21 окт '18 в 07:37