Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы программирования на FORTRAN (ФОРТРАН)

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330

Открыть новую тему     Написать ответ в эту тему

akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Обсуждаются все вопросы, связанные с программированием на ФОРТРАН, как общего так и конкретного характера.
Постарайтесь дать как можно больше информации о возникшей проблеме -- это в конце концов в ваших же интересах чтобы вам помогли...

прежде чем просить помощи в задании
платное решение задач

ресурсы этого топика
ссылка на подборку ресурсов, собранных посетителями этого форума
 
то, чем мы решили поделиться
ссылка на страничку программ etc собственного изготовления, которыми любезно делятся наши форумчане


если вам вдруг не отвечают или ответ вас не устраивает
и вообще полезно прочитать всем спрашивающим
 
просьба к пишущим и отвечающим все большие листинги оформлять тегом more
и отключать графические смайлики при размещении фортран-кода

Всего записей: 24112 | Зарегистр. 06-12-2002 | Отправлено: 18:11 14-01-2007 | Исправлено: akaGM, 09:47 01-03-2020
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
XPEHOMETP

Цитата:
Первым делом, конечно, самолеты, ну а девушки - а девушки потом!

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

Всего записей: 24112 | Зарегистр. 06-12-2002 | Отправлено: 11:39 30-03-2011 | Исправлено: akaGM, 11:42 30-03-2011
KChernov



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM

Цитата:
лучше на самолёте на финско-китайскую...кстати, формально (да и реально тоже) существуют границы между _любыми_ государствами при условии, конечно, что между ними есть дип. отношения...

Вот уж не рассматривал Россию с точки зрения как всего лишь финско-китайской границы
 

Цитата:
какие на фиг каналы вывода?  

-Приборы!
-40!
-А что 40?!?
-А что приборы?!? (с)

Всего записей: 2471 | Зарегистр. 20-04-2004 | Отправлено: 12:05 30-03-2011
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KChernov

Цитата:
Вот уж не рассматривал Россию с точки зрения как всего лишь финско-китайской границы  
все там будем...
хотя, я-то имел в виду не анек, а посольства...

Цитата:
какие на фиг каналы вывода?

во-во...
а то в ответ на один глупый вопрос мы тут сразу тучу умных начинаем задавать...
уж ладно бы было что-то типа:
-(Учитель первому) Do you speak English?
-Чё?
-(Учитель второму) Do you speak English?
-Чё?
-(Учитель третьему) Do you speak English?
-Yes I do.
-(Учитель) Чё?
 
мне всегда такие вопросы напоминают башорг'овское "у меня ворд не работает, что делать?" :)
 
чтобы не было совсем уж оффтопом...
теперь в таких случаях спокойно можно ссылаться на последнюю ссылку шапки

Всего записей: 24112 | Зарегистр. 06-12-2002 | Отправлено: 12:28 30-03-2011 | Исправлено: akaGM, 12:50 30-03-2011
terminat0r



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Кстати для всех школьников и студентов, - искать вдохновение и подсматривать можно (и даже нужно) сдесь http://rosettacode.org/wiki/Category:Fortran

Всего записей: 2084 | Зарегистр. 31-03-2002 | Отправлено: 15:49 30-03-2011
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
я тоже посмотрю :)
 
давай в шапку...
 
---
вкатил в ресурсы...

Всего записей: 24112 | Зарегистр. 06-12-2002 | Отправлено: 16:25 30-03-2011 | Исправлено: akaGM, 18:12 30-03-2011
XPEHOMETP

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вопросик. Делаю на Compaq VF dll-ку, прикручиваю к бейсику. Поменял одну подпрограмму на совсем другую, при компиляции Compaq - ноль эмоций. Ни на что не ругается. При запуске программы - "не найдена точка входа в процедуру". Хотя там все прописано с !DEC$ ATTRIBUTES DLLEXPORT. Другие подпрограммы вызываются, эта - нет. Перекомпилировал на другом компе, с версией 6.6 и дополнением С (а было на 6.1) - результат тот же. Куда копать?

Всего записей: 2485 | Зарегистр. 21-06-2005 | Отправлено: 19:07 05-04-2011
FalkonInSky

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вопрос в чем: Есть готовые програмки. Есть fortran и есть ubunta 10.04. Как запустить процесс трансляции ????

Всего записей: 2 | Зарегистр. 05-04-2011 | Отправлено: 21:18 05-04-2011
terminat0r



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
FalkonInSky
Процесс  чего? Вобщем клади КЦ, получишь гравицаппу. Или транклюкируйся.

Всего записей: 2084 | Зарегистр. 31-03-2002 | Отправлено: 22:31 05-04-2011 | Исправлено: terminat0r, 22:34 05-04-2011
KChernov



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
FalkonInSky
Ответ на этот вопрос легко ищется (например тут).
Но конечно зависит от используемого компилятора (надо смотреть/искать документацию по нему).
Если он ещё не стоит - то его сначала надо поставить - тот же gfortran например.
Так что лучше яснее формулировать вопрос.

Всего записей: 2471 | Зарегистр. 20-04-2004 | Отправлено: 11:19 06-04-2011
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
XPEHOMETP

Цитата:
Поменял одну подпрограмму на совсем другую,

а с этой "одной" (прежней т.е.) всё в порядке было?
давай блок атрибутов !DEC$ для этой старой
и какие в твоём басике соглашения о вызовах?
 
а заочно я думаю, что вероятнее всего ты с регистром имени накосячил...
а может с бин-версией чего не то /MD /MT /ML
пристегни под more опции cvf, а то у меня его нет...

Всего записей: 24112 | Зарегистр. 06-12-2002 | Отправлено: 14:07 06-04-2011 | Исправлено: akaGM, 14:55 06-04-2011
FalkonInSky

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KChernov
А как это узнать? Просто ток начал разбираться с Убунтов вообще!
Если есть возможность то свяжитесь со мной пожалуйста 591298128 буду очень признателен!

Всего записей: 2 | Зарегистр. 05-04-2011 | Отправлено: 18:18 06-04-2011
KChernov



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
FalkonInSky
Местная тема по Убунту.
Русский сайт по Убунту.
Например оттуда Установка и обновление пакетов в Ubuntu/Менеджер пакетов Synaptic.
Вот ещё интересная темка нашлась.

Всего записей: 2471 | Зарегистр. 20-04-2004 | Отправлено: 22:20 06-04-2011 | Исправлено: KChernov, 22:21 06-04-2011
XPEHOMETP

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM
Хе-хе, таки да! Проблема именно с регистром. В DLL процедура прописана как sm_fft (разглядел в гекс-редакторе), в программе написана как  

Код:
   subroutine sm_FFT(npoint, dannye)
!--------------------------------------------------------------------
!DEC$ ATTRIBUTES DLLEXPORT :: sm_FFT
!DEC$ ATTRIBUTES STDCALL :: sm_FFT
       !DEC$ ATTRIBUTES VALUE :: npoint
       !DEC$ ATTRIBUTES REFERENCE :: dannye

Ну, я думал что DLLEXPORT именно так все на экспорт и отправит. А оно вот как получилось... Ну, в бейсике она и была объявлена поэтому мной как

Код:
DECLARE SUB sm_FFT LIB "smoo1k.dll" ALIAS "sm_FFT" (BYVAL n AS LONG, _
                BYREF sd AS somedata)

Просто в нижний регистр прописать, и все. Спасибо! А то я тут со злости на CVF попробовал на g95 сделать эту DLL. Вот уж зверь! У меня там были копипастом вбиты подпрограмки для FFT, взятые из интернета. И не посмотрел, что они все с real, a вызываются-то у меня из процедуры, где все real*8. Плюс к тому граждане разработчики сделали один большой массив для промежуточных данных, и пихали туда все подряд - и real, и integer. CVF ничему этому не удивился, а g95 просто на ругань изошел. Ну, все что нужно я уже сижу и на real*8 переправляю, но хоть вопрос с хранением целых переменных разбираться не надо будет.
 
Добавлено:
ЗЫ: Да, PowerBasic, он не линкует DLL статически, только цепляет в рантайме. Иначе на этот глюк была бы ругань еще при линковке.

Всего записей: 2485 | Зарегистр. 21-06-2005 | Отправлено: 22:29 06-04-2011
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
XPEHOMETP
тогда совет и в фортране всё строго прописывать, используя alias:
 
!DEC$ ATTRIBUTES ALIAS : '_sub_name' :: sub_name
 

Цитата:
он не линкует DLL статически, только цепляет в рантайме

что-то я не поянл, dll она по определению динамическая :)
а вот фортран её может сделать тремя способами:
/ML
/MT
/MD
(наверняка эти или аналогичные опции есть и у компака)
кот. относятся только к типу сборки/работы самой ДЛЛ...

Всего записей: 24112 | Зарегистр. 06-12-2002 | Отправлено: 22:58 06-04-2011 | Исправлено: akaGM, 14:21 07-04-2011
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
XPEHOMETP

Цитата:
У меня там были копипастом вбиты подпрограмки для FFT, взятые из интернета

нужно очень простое dft для любого количества точек (а не только для 2^)
нашёл до чёрта всего (от 80-строчных п/п до fftw), времени вникать/тестировать нет...
можешь присоветовать что-нибудь?
крайне желательно автономное (не в составе какого-либо пакета)...

Всего записей: 24112 | Зарегистр. 06-12-2002 | Отправлено: 02:45 09-04-2011 | Исправлено: akaGM, 10:50 09-04-2011
XPEHOMETP

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM
Я брал отсюда. Мне надо было для вещественных чисел, я брал ezfftf + ezfftb со всеми нужными подпрограммами. Берет любое количество точек. Если количество точек раскладывается на множители 2,3,5, то совсем хорошо - тогда используются оптимизированные подпрограммы. Для всех множителей, которые больше, есть отдельная подпрограмма. Собственно, этот пакетик в разных вариациях гуляет по сети просто толпами, я что-то подобное для Ф-77 скачивал с Нетлиба. Исходно это FFTPACK 1985 года, автор Paul Swarztrauber. Зато тут John Burkardt все хорошо причесал (по сравнению с версией под Ф-77), где смог, написал реальную размерность вызываемых в подпрограммах массивов (вместо единичек), прописал все используемые переменные, кое-что добавил от себя и из других источников. Но - все одинарной точности. Причем указать при компиляции ключиком, что real = real*8, не прокатит: там внутри постоянные прописаны через Е + операторы типа real(2).  
 
Собственно, выбор ezfftf + ezfftb был обусловлен тем, что там абсолютно ясно, что и как выводится; кроме того, ezfft слегка описана в имеющейся у меня книжке Каханера, Моулера и Нэша. Проверил коэффициенты разложения на соответствие с примером, приводимым в старой книжке Уиттекера и Робинсона "Математическая обработка результатов измерений" 1935 г., там разложение Фурье для 24 точек, данные по яркости переменной звезды из созвездия Кассиопея. Программа работает. Кстати, недурно оказалось у них посчитано, без компьютеров-то. Для наименьших частот соответствие весьма хорошее, дальше ошибка на уровне 10%.
 
Есть еще сильно навороченный алгоритм от Daisuke Takahashi FFTE, с возможностью распараллеливания. Но - для комплексных чисел, и только для таких, которые раскладываются на множители 2,3,5. Правда, никто не запрещал свою раскладываемую последовательность дополнить нулями до ближайшей нужной циферки, как это обычно делается. А в комплексный массив два раза уложить свой действительный, что раньше было обычной практикой. Но мне лень этим заморачиваться. У Takahashi написано под Ф-77, есть более модерновый вариант, который сделал Robert Harkness. Не пробовал ни то, ни другое.

Всего записей: 2485 | Зарегистр. 21-06-2005 | Отправлено: 12:24 09-04-2011 | Исправлено: XPEHOMETP, 12:32 09-04-2011
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
XPEHOMETP
да, вроде я это видел, у меня вот что из него исходного:
http://people.sc.fsu.edu/~jburkardt/f77_src/fftpack5/fftpack5.html
тоже вроде перенавороченное, поищу ещё немного...
 
---
пока остановился на А. Miller'ской:

Цитата:
fft.f90
Fast Fourier Transform (FFT) for
any length of series which has no prime factor greater than 23.
Also the inverse and multivariate FFT.

Всего записей: 24112 | Зарегистр. 06-12-2002 | Отправлено: 12:36 09-04-2011 | Исправлено: akaGM, 12:52 09-04-2011
XPEHOMETP

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM

Цитата:
пока остановился на А. Miller'ской

На первый взгляд, там в целом похожий алгоритм: число точек раскладывается на множители, для 2,3, 4 и 5 используются некие оптимизированные варианты (есть неосознанное подозрение, просто по виду кода, что у алгоритмов на основе FFTPACK оптимизация лучше)...  Но, вариант от Миллера не пробовал.

Всего записей: 2485 | Зарегистр. 21-06-2005 | Отправлено: 13:46 09-04-2011
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
XPEHOMETP

Цитата:
у алгоритмов на основе FFTPACK оптимизация лучше

мне не нужна скорость/гибкость и особые изыски,
зато всё в одном флаконе (т.е. в одном 15-kB файле)...

Всего записей: 24112 | Зарегистр. 06-12-2002 | Отправлено: 14:50 09-04-2011
XPEHOMETP

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM

Цитата:
мне не нужна скорость/гибкость и особые изыски

Xe-xe! Тогда, может, попробовать rsftf из комплекта Джона Буркардта?

Цитата:
RSFTF computes a "slow" forward Fourier transform of real data.  

То есть настолько "slow", как только можно. Даже без предварительной инициализации массивов синусов-косинусов, чтобы не считать их каждый раз, когда понадобятся. Одно это замедляет время вычислений многократно. Я, кстати, когда-то так "в лоб" в Фурье и разлагал, только с предварительным счетом тригонометрии. Массив в 4000 точек на Дюроне-600 разлагался в ряд Фурье и собирался обратно после сглаживания минуты за две.

Всего записей: 2485 | Зарегистр. 21-06-2005 | Отправлено: 15:16 09-04-2011 | Исправлено: XPEHOMETP, 15:20 09-04-2011
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы программирования на FORTRAN (ФОРТРАН)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru