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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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

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

akaGM

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

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

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


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

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

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
knkd
вообще-то это ключ. слова... скажи спасибо, что я не привожу ещё ссылки на монографии (забыл как это будет по-русски)...

Всего записей: 24052 | Зарегистр. 06-12-2002 | Отправлено: 01:21 31-08-2011 | Исправлено: akaGM, 01:22 31-08-2011
knkd

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

Цитата:
скажи спасибо, что я не привожу ещё ссылки на монографии

Спасибо за то что щадите рассудок троешников по математике! :)
 
Добавлено:
akaGM
А вы кстати, не знаете некой буржуинской реализации интерполяционного сплайна?
Она использует для разных участков то кубическую, то гиперболическую, то экспоненциальную кривую.
Это помогает гасить всплески на кривых данных.
Вроде как его НАСАвцы в 80-х активно развивали...

Всего записей: 196 | Зарегистр. 15-01-2008 | Отправлено: 01:41 31-08-2011 | Исправлено: knkd, 01:50 31-08-2011
akaGM

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

Цитата:
А вы кстати, не знаете некой буржуинской реализации интерполяционного сплайна?
я -- нет...
ты лучше всех спроси -- помогут...
NAG
IMSL
SciLab
Slatec
да в них во всех что-то съедобное есть...

Всего записей: 24052 | Зарегистр. 06-12-2002 | Отправлено: 01:48 31-08-2011 | Исправлено: akaGM, 01:52 31-08-2011
knkd

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

Цитата:
четвёрку всё равно не выклянчишь...  

А зойчем она мне?
У меня и зачётку то давно отобрали
 
Добавлено:
akaGM

Цитата:
NAG
IMSL  

К ним бы приложить знание буржуинских наречий, на уровне

Всего записей: 196 | Зарегистр. 15-01-2008 | Отправлено: 01:50 31-08-2011
KChernov



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

Цитата:
Хотя у вас покрасивше будет...  

Зато у меня 2N делений на каждое значение
 
akaGM

Цитата:
я продолжаю на тебя надеяться...

На что конкретно?

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

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KChernov
на получение функции для одномерного массива в зависимости от N-мерного...

Всего записей: 24052 | Зарегистр. 06-12-2002 | Отправлено: 14:26 31-08-2011
KChernov



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM
Получение N-мерного индекса по одномерному или наоборот?

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

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

Всего записей: 24052 | Зарегистр. 06-12-2002 | Отправлено: 20:47 31-08-2011
KChernov



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM
Эээ.
Ну вообще это упрощение/расширение штатных формул перевода из одной системы счисления в другую.
Вот перевод из N-мерного индекса в одномерный:

Код:
        index = 1
        multi = 1
        do l=1,N
            index = index + multi *(loopsCountI(l)-1)
            multi = multi*loopsCount(l)
        end do
 

 
А обратный вариант присутствует в моём первом примере на эту тему (досрочное обнуление tmp не учитывается, но по-идее ни на что не влияет):

Код:
        tmp = index
        do l=1,N
            loopsCountI(l) = mod(tmp,loopsCount(l))+1
            tmp = tmp/loopsCount(l)
        end do
 

 
Вроде с порядком следования индекса от младшего разряда к старшему не напутал.
Индексы начинаются с 1 (как в субже), а не с нуля, но легко модифицируется и под 0.

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

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KChernov
честно? что-то не понял я ничего...
 


knkd

Цитата:
А вы кстати, не знаете некой буржуинской реализации интерполяционного сплайна?
Это помогает гасить всплески на кривых данных.

мы фильтры используем...
 
в разделе "библиотеки и ресурсы" шапки первые три ссылки (NETLIB и NIST) -- это те места, откуда всегда надо начинать поиск в таких случаях...

Всего записей: 24052 | Зарегистр. 06-12-2002 | Отправлено: 16:50 03-09-2011 | Исправлено: akaGM, 16:52 03-09-2011
KChernov



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

Цитата:
честно? что-то не понял я ничего...  

Если мы храним данные, являющиеся многомерным массивом с числом элементов в каждом  измерении loopsCount, в одномерном массиве, то приведённый код позволяет переходить от одномерного индекса к многомерному и обратно.
index - одномерный индекс.
loopsCountI - N-мерный.
Ну или уточни, что такое
Цитата:
получение функции для одномерного массива в зависимости от N-мерного...
и что подразумевается под N-мерным и одномерным индексами?

Всего записей: 2471 | Зарегистр. 20-04-2004 | Отправлено: 18:12 03-09-2011 | Исправлено: KChernov, 18:14 03-09-2011
gabb1er

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
День добрый!
Подскажите, пожалуйста, есть ли какая нибудь портативная версия среды программирования для фортрана? Надо поработать не за своим компом, где нет возможности поставить visual studio.

Всего записей: 4 | Зарегистр. 03-09-2011 | Отправлено: 21:12 03-09-2011
Andy_74

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

Цитата:
В общем теперь Графор можно присобачить ко всему что умеет рисовать линии.  

Есть острая необходимость приспособить его к IVF - мое новое научное руководство его использует с тем самых бородатых лет. Пересадить чл.-корр. РАН на что-то другое, тем более в таком возрасте, попросту невозможно.
 
Не поможете?  
 
Собрать я попробую сам...

Всего записей: 582 | Зарегистр. 04-02-2002 | Отправлено: 23:23 03-09-2011
knkd

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

Цитата:
Есть острая необходимость приспособить его к IVF

Как только узнаю что это такое - скажу по этому поводу что-нибудь умное :)
 
Если у него есть команды на рисование линий and FORTRAN or Си интерфейс, то проблем нет.
Я к графору уже присобачил драйвер HPGL (самодельный), Cairo, Python Turtle и WinBGI.
Так что всё работает.

Всего записей: 196 | Зарегистр. 15-01-2008 | Отправлено: 23:54 03-09-2011
Andy_74

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
knkd
Это Intel Visual Fortran. У меня 11.1, интегрированный в MS Studio 2008. Win7 x64. Так же будет и у шефа, дабы я мог дорабатывать его исходники . Если вы меня направите, я может и сам соберу, чтобы отныне не привязываться версии и среде.

Всего записей: 582 | Зарегистр. 04-02-2002 | Отправлено: 00:54 04-09-2011
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KChernov
ну как еще спросить?
двумерную N*M матрицу хранить по столбцам или по сторокам как-то так:
a11 a12 a13
a21 a22 a23
 
 
A(N*(i-1) + j) -- вектор, кот. можно адресовать (i,j)
ну и по аналогии:
A(Nk*(i-1) + Nm*(l-1)+ j)
 
я не очень понимаю, зачем у тебя суммирование?
 


Andy_74
а куда тебя направлять? с недавних пор графор в шапке торчит: бери, правь, собирай...
http://vak-opensource.googlecode.com/svn/trunk/utilities/grafor/
 


gabb1er
если только развернуть (купленную или ворованную МС-Студию) под:
http://www.vmware.com/products/thinapp/

Всего записей: 24052 | Зарегистр. 06-12-2002 | Отправлено: 03:31 04-09-2011 | Исправлено: akaGM, 04:34 04-09-2011
knkd

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Andy_74
Посмотрите один из промежуточных вариантов grafor.7z.
В нём сейчас настроена работа через Cairo.
Автоматической выбиралки драйвера пока не сделал.
Подключение производтся комментированием/раскомментированием структуры интерфейса в файле low.c.
Если у вас нет внешних библиотек - выбирайте пока драйвер HPGL, он живёт в одном файле и не имеет зависимостей.
Обратите внимание на grinit() и grinit_c_() в файле low.c и grinit в файле grinit.f.
Этот финт ушами, для гарантированого линкования grinit.o и того чтобы весь необходимый интерфейс таки нахдился в low.c.
Может надо было доделать покрасивше, но у меня сейчас нет времени.
 

Всего записей: 196 | Зарегистр. 15-01-2008 | Отправлено: 12:04 04-09-2011
Andy_74

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM
Прежде всего замечу, что я пишу на C, причем вещи вида +-*/ и вывести в файл. Для реализации научных численных методов мне хватает.
 
Естественно, я пытался собрать сам. Закинул все *.f из ...ftn/ в source files проекта статической библиотеки, получил
1>C:\Grafor\xlgax.f(44): error #6633: The type of the actual argument differs from the type of the dummy argument.   ['*10']
1>C:\Grafor\xlgax.f(44): error #7836: If the actual argument is scalar, the corresponding dummy argument shall be scalar unless the actual argument is an element of an array that is not an assumed-shape or pointer array, or a substring of such an element.   [JBCD]
на call symbol(0.,0.,2.*c,'*10',-3,0.) и call symbol(x-1.3333*bsf,y-c-1.5*bsf,bsf,'10',2,0.) (предшествующий call symbol(b1+.5*b2-.6666*c*n,rdb(8)-6.*c,2.*c,name,n,0.) отработал нормально). Очевидно, что вместо этих закавыченных аргументов должен стоять какой-то конкретный float. Какой?
 
Кстати, посмотрел в symbol.f и обратил внимание, что в нем вызывается symtab, который в ...ftn/ лежит как .old. Это нехорошо, нет?
 
Добавлено:
knkd
Большое спасибо, сейчас посмотрю...

Всего записей: 582 | Зарегистр. 04-02-2002 | Отправлено: 12:17 04-09-2011
knkd

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

Цитата:
Это нехорошо, нет?

Всё в порядке.
 
Почитайте мои Makefile с ними всё собирается.
Разве что вам нужно спросить у akaGM как эти же опции выглядят на IF.
Я IF в глаза не видел.

Всего записей: 196 | Зарегистр. 15-01-2008 | Отправлено: 12:22 04-09-2011
KChernov



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

Цитата:
Подскажите, пожалуйста, есть ли какая нибудь портативная версия среды программирования для фортрана? Надо поработать не за своим компом, где нет возможности поставить visual studio.


Цитата:
если только развернуть (купленную или ворованную МС-Студию) под:
http://www.vmware.com/products/thinapp/

Вариант конечно.
Но можно и проще:
1. Консольная версия CVF/IVF должна работать и просто будучи скопированная;
2. Практически любой редактор (в этой теме недавно обсуждались например) или даже тот же Photran(но вот возможно для его работы нужна будет установленная Java).
 
Добавлено:
akaGM

Цитата:
A(Nk*(i-1) + Nm*(l-1)+ j)
я не очень понимаю, зачем у тебя суммирование?  

А как ты представляешь себе такую конструкцию, если N - произвольное? Вот суммирование и получилось.
Конечно если оно фиксировано (например с запасом) - тогда можно сделать без цикла (но тогда можно и вложенных циклов наклепать).
 
А мой вариант (в случае динамического объявления соотв массивов конечно) позволяет в рантайме брать любую размерность (в пределах помещающегося в переменные соотв размерности конечно).

Всего записей: 2471 | Зарегистр. 20-04-2004 | Отправлено: 14:02 04-09-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

Компьютерный форум 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