Вопросы по теме 'fortran95'

Сделать внешние функции доступными для других функций/модулей в Fortran
Я новичок в Фортане, и у меня есть вопрос относительно использования функций обратного вызова, доступных для всего кода Фортрана. Я пишу на интерфейсе, который обращается к Fortran DLL из С#. module csWrapper interface subroutine...
1019 просмотров
schedule 25.01.2024

Модули fortran находят, где переменные определены/назначены
Я пытаюсь извлечь часть большого фортрана, чтобы сделать его собственной программой. Конкретная подпрограмма импортирует множество модулей (здесь в качестве примера показаны только два): subroutine myroutine(aa,bb) use xx_module use yy_module...
372 просмотров
schedule 23.04.2022

выделение многомерного динамического массива
Я хочу использовать динамическое распределение для многоблочного кода CFD, где индекс (i, j, k) различается для разных блоков. Я действительно не знаю, как выделить произвольный индекс массива для n блоков и передать его подпрограммам. Я привел...
194 просмотров
schedule 03.09.2022

Чтение строки символов неизвестной длины
Мне поручили написать программу на Фортране 95, которая будет считывать введенные символы из файла, а затем (для начала) просто выдавать их обратно. Сложность заключается в том, что эти строки ввода имеют разную длину (максимальная длина не указана),...
25698 просмотров

Стоимость использования функций на фортране (или любом другом языке)
Скажем, у меня есть очень большой массив verybigvariable И я определил функцию, которая выполняет некоторые операции, подобные этой. function myfunc(var) result(res) real:: var(:,:,:),res ... ... ... end function myfunc Мой вопрос в...
255 просмотров
schedule 04.05.2023

Бесконечный цикл Fortran при вызове функции
Почему я в бесконечном цикле? PROGRAM tayls USE kertoma USE tforexp IMPLICIT NONE INTEGER :: n= 5 INTEGER :: i REAL :: x WRITE(*,*) "f1(x)= (e**x-1)/x" DO i=1,10 x= 0.01*i WRITE(*,*)x, (taylexp(x,n)-1)/x END DO END...
682 просмотров
schedule 26.07.2022

Может ли форма массива в интерфейсе соответствовать нескольким фиксированным размерам массива?
У меня есть несколько подпрограмм с параметром p, который представляет собой массив явного размера, например subroutine foo(p) integer,dimension(2),intent(in) ::p end subroutine foo subroutine bar(p) integer,dimension(3),intent(in) ::p end...
143 просмотров
schedule 24.05.2022

длина дуги кривой в Фортране
Программа должна вычислить длину кривой ƒ=3.1*x^2-5.3/x между x=1/2 и x=3/2 . Длина должна быть рассчитана как сумма n сегментов линии, начинающихся с n=1 и заканчивающихся n=20 . Я действительно не могу понять, почему результат, который...
271 просмотров
schedule 19.06.2022

Как сделать имя подпрограммы, переданное в качестве аргумента, доступным во всем модуле?
Я хотел бы использовать переменное имя подпрограммы, и я хотел бы, чтобы это имя было доступно во всем модуле, а не только в одной подпрограмме. Переменное имя подпрограммы, переданное в качестве аргумента, является типом данных. Где он хранится?...
114 просмотров
schedule 08.11.2022

Следует ли избегать списков имен в Fortran, и если да, то какова рекомендуемая альтернатива?
Я часто использую функцию namelist для гибкого ввода списков параметров в программы FORTRAN, но на днях, когда я ищу, чтобы напомнить себе об их использовании, я наткнулся на это утверждение : Он (расширение языка списка имен для f77) теперь...
467 просмотров
schedule 16.07.2023

Вычисление обратной матрицы Fortran с использованием SGETR (F, I) работает только с одинарной точностью.
Я пытаюсь вычислить обратную квадратную матрицу, но это не работает. Я проверил предыдущие сообщения, но логика такая же, но я до сих пор не нашел, в чем проблема. Я также делюсь результатом Matlab, например, матрицей. program test Implicit...
521 просмотров

Реализация гамма-функции не дает правильных значений
Функция, запрограммированная на Фортране 95 для вычисления значений гамма-функции из математики, не выдает правильных значений. Я пытаюсь реализовать рекурсивную функцию в Fortran 95, которая вычисляет значения гамма-функции, используя приближение...
264 просмотров

Как унифицированно читать действительные и комплексные числа в Фортране?
Предположим, у меня есть файл данных (fort.100), содержащий такие данные, как 2.34, 4.5 (23.1,0.3), 4.5 (3.1,0.3), (3.2,1.0) 2.4, (32.2,12.0) как прочитать эти смешанные реальные и комплексные значения в комплексные...
530 просмотров
schedule 30.10.2022

Умный способ заставить Fortran выполнять цикл по отдельным диапазонам одной и той же переменной
Представьте, что у меня есть цикл выполнения над переменной I. Обычно эта переменная имеет диапазон от 1 до 20, но я хочу создать цикл выполнения в диапазоне от 1 до 5 и 8–12. Я не могу создать простой цикл do, потому что диапазоны не являются...
61 просмотров
schedule 25.02.2023

Необъяснимый неоднозначный интерфейс
Если я перегружаю конструктор данного типа, как в следующем примере, я получаю неоднозначный интерфейс. Поскольку у меня явно разные типы в интерфейсе, я не понимаю, почему он должен быть двусмысленным. Я знаю, что у меня одинаковые имена в...
23 просмотров
schedule 16.06.2022

Повторное выполнение операторов в Fortran 95
Извините за нубский вопрос, но мне нужна помощь в выяснении того, как вернуть выполнение обратно к началу подпрограммы после завершения логического блока, проверяющего ввод пользователя. Program FibSequence Integer(2) :: n_terms print*, "Please...
69 просмотров
schedule 01.07.2022