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

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

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Изменю вопрос. Есть ли где образ VMWare с соляркой и с предустановленным фортраном?
 
PS
Если ошибся форумом, прошу указать направление...

Всего записей: 463 | Зарегистр. 14-11-2005 | Отправлено: 16:34 02-06-2009
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BagaBaga
да ответ будет тот же самый:
вряд ли
 
aser12

Цитата:
да вы знаете если бы обучали а то дают задание и терзай((((((((

вот ты и терзаешь... форум

Всего записей: 24112 | Зарегистр. 06-12-2002 | Отправлено: 19:51 02-06-2009 | Исправлено: akaGM, 19:52 02-06-2009
AZA_N

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BagaBaga,  
может в этой или этой темах подскажут, как модернизировать LiveCD для своих целей.
 
Что касается образа VMWare, так можно же создать самому (поспрашивать тут, если что)
 
 
aser12
Помогают, imho, тем, кто что-то пытается сам делать, и у него что-то конкретное не получается, а если хочется ни во что самому не вникать, то тогда нужно обратиться сюда, например так

Всего записей: 853 | Зарегистр. 10-11-2007 | Отправлено: 11:43 03-06-2009 | Исправлено: AZA_N, 12:08 03-06-2009
Criceto

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго времени суток всем. Не могли бы подсказать, что делает данная строчка
IF(LINE(18:29).NE.LBLANK)Read(LINE, ' (BN, 17X, F12.0)')PMIN
Вопрос наверняка очень глупый, но Фортран вижу вообще первый раз в жизни, да собственно и со всеми остальными языками не знакома, а начальство требует.  Задача сделать математическую модель некого химического процесса, использую программу Athena Visual Studio, фортрановский код она делает сама (поэтому и не соображаю в нем ничего), но при посторонии модели говорит что ошибка в этой строке (traceback: not available, compile with -ftrace=frame or -ftrace=full. Fortran runtime error: bad value during floating point read), а разобраться мне надо где ошибка в алгоритме. Вот как то так) получилось наверное в стиле "летят 2 крокодила...", но еще раз прошу прощения, не понимаю в программировании ничего. Если у кого-нибудь есть время, помогите плиз, хотя бы тыкните носом чего почитать, потому что даже не знаю с какой стороны подлезть к проблеме

Всего записей: 6 | Зарегистр. 03-06-2009 | Отправлено: 13:57 03-06-2009 | Исправлено: Criceto, 13:58 03-06-2009
Vskazka

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Criceto
IF(LINE(18:29).NE.LBLANK)Read(LINE, ' (BN, 17X, F12.0)')PMIN  
означает следующее
смотрится в массиве Line (он должен быть массивом character*1 - то есть массив символов) то, что там записано с 18 по 29 место. И сравнивается   равно это или нет   LBLANK - определенное раньше что-то. По всей это видимости массив из 12 пробелов (впрочем никогда не сравнивал массивы и не знал что так можно). Так вот, если не равно, то из массива line как, из внутреннего файла (по-моему так называется), считывается форматным образом значение, и посылается в pmin. судя по ошибке - там, то есть в line, не записано такое значение, которое можно трактовать как вещественное число, записанное в таком формате.  
Прочитать об этом можно в учебнике по фортрану, посмотрите ввод-вывод. Ну и прочие конструкции. Ссылки на учебники  можете найти в ресурсах топика. Смотрите верхний топик, шапку.
Хотя если вообще не знакомы ни с одним языком программирования, то дело тяжелое.    

Всего записей: 382 | Зарегистр. 24-11-2003 | Отправлено: 14:32 03-06-2009
Criceto

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vskazka
путем долгого разглядывания всяких буковок нашла Character*100 LINE, то что после звездочки 100 а не 1 играет роль? и не могли бы подсказать, как задание массива выглядит, чтобы посмотреть чего он в этот массив пишет. Хотя наверное не поможет, надо знающему человеку ковыряться в коде и модели, а то я даже вопрос не могу нормально сформулировать(

Всего записей: 6 | Зарегистр. 03-06-2009 | Отправлено: 14:55 03-06-2009 | Исправлено: Criceto, 14:57 03-06-2009
Vskazka

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

Цитата:
Character*100 LINE
-  массив из ста символов, оформленный единым куском. В общем то это почти тоже самое, что character*1 line(100).
 В остальном Вы правы, надо показывать все знающему человеку, и модель и код. Да и неплохо чтобы он, понимал еще, как
Цитата:
Athena Visual Studio
дейтсвует, хотя бы в общих чертах.

Всего записей: 382 | Зарегистр. 24-11-2003 | Отправлено: 15:02 03-06-2009
Criceto

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vskazka
действует она не особо наворочено, в ней как я понимаю написаны примеры фортрановского кода для определенных задач (в частности в моем случае моделирование параметров обычных дифференциальных уравнений), от меня она просит задать переменные, уравнения, начальные условия, экспериментальные данные (вот это я называю моделью) и просто вставляет в "рыбу" мои данные. А  вы случайно не знающий человек?

Всего записей: 6 | Зарегистр. 03-06-2009 | Отправлено: 15:09 03-06-2009
Mav80

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
пока только вопрос
чему равно Line числу или строке?
если числу то искать соответствующий OPEN и наличие файли с данными

Всего записей: 20 | Зарегистр. 31-01-2006 | Отправлено: 15:13 03-06-2009 | Исправлено: Mav80, 15:14 03-06-2009
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Criceto
формат '(BN, 17X, F12.0)' означает, что в строке LINE должно быть записано число в виде "___12345.", где "___" -- не менее 17 пробелов
т.к. у тебя run-time ошибка, а это означает что в LINE что-то не то во время выполнения
 
пути решения:
1) для диагностики перед своим IF'ом напиши две строчки
write(*,*) LINE
pause 'press <CR> to continue'
 
и посмотри на то что получится
 
2) попробуй измени формат с
Read(LINE, ' (BN, 17X, F12.0)')PMIN  
на
Read(LINE, ' (BN, F12.0)')PMIN  
 
в качестве справки:
BN -- модификатор, кот. позволяет не учитывать пробелы при вводе, т.е.
999_^__12345___999 прочитается как 12345 при чтении с позиции "^"
 
---
Mav80
дважды написано же: character*100 LINE

Всего записей: 24112 | Зарегистр. 06-12-2002 | Отправлено: 15:14 03-06-2009 | Исправлено: akaGM, 18:06 03-06-2009
Mav80

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
попробуй те такой вариант
IF(LINE(18:29).NE.LBLANK) Read(LINE(18, *)PMIN  

Всего записей: 20 | Зарегистр. 31-01-2006 | Отправлено: 15:17 03-06-2009
Criceto

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mav80 Скорее всего числу равно, я задаю ему данные химического эксперимента (зависимость давления и степени превращения метана от времени или температуры). И в конечном счете хочу увидеть константы уравнения, описывающего данную реакцию
может быть ошибка в том, что у меня числа вида х.х*10^-10 и пишу я их по привычке как х.хЕ-10? так можно писать? или надо 0,000000000хх?
akaGM
я не могу менять код фортрана, я могу в него только потаращиться как баран на новые ворота. Поменять я могу только в своей модели, только вот не могу разобраться что именно не нравится

Всего записей: 6 | Зарегистр. 03-06-2009 | Отправлено: 15:35 03-06-2009
Vskazka

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Criceto
Нет. Athena Visual Studio  я не знаю
Собственно, Вам подсказали уже несколько вариантов, как посмотреть, что происходит.
Другое дело что
Цитата:
IF(LINE(18:29).NE.LBLANK) Read(LINE(18, *)PMIN  
надо по всей видимости записать так
IF(LINE(18:29).NE.LBLANK) Read(LINE, *)PMIN  
Ну и кроме того, конечно, посмотреть что в этом лайне лежит.
Другое дело, что мне совсем не понятно, на кой ляд Athena Visual Studio заставляет делать преобразование типов (то есть в данном случае строку - запись числа, преобразовать в действительное число в представлении машины). Поэтому и говорю, что без этой студии, только по коду разобраться будет сложно. Код-то исправить, переписав, наверное можно. Впрочем как можно и написать просто программу, моделирующую химическую реакцию, если Вам известна схема. Возможно, если не сложная система, то и быстрее выйдет.  Но для этого надо знать языки программирования. И пока Вы не изучите хотя бы один Вам будет трудно понять, что происходит.
 
И Еще, в догонку, возможно, конечно что у Вас проблемы в представлении чисел, когда вы их записываете. Это бы объясняло преобразование типов. Поэксперементируйте. И кстати,  запись символьная числа 12е-10, возможно вызовит ошибку, если ее считывать с тем форматом, который используется в программе      
 

Всего записей: 382 | Зарегистр. 24-11-2003 | Отправлено: 15:46 03-06-2009 | Исправлено: Vskazka, 15:52 03-06-2009
akaGM

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

Цитата:
пишу я их по привычке как х.хЕ-10? так можно писать? или надо 0,000000000хх?  

для F12.0 входная последовательность символов должна быть строго xxxx.yyyy без экспоненты
скорее всего, дело именно в этом...
-----
а впрочем, от этого и не должно зависеть...
мож промежуточные вычисления в LINE уже фигню какую пишут...
типа NAN или *****
по месту надо смотреть, код как минимум + исполнение...

Всего записей: 24112 | Зарегистр. 06-12-2002 | Отправлено: 15:50 03-06-2009 | Исправлено: akaGM, 19:27 03-06-2009
Mav80

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM
сразу не сопоставил что и проверяется и читается с одной переменой
насколько я помню  
по F12.0 вбить число в e-10 неполучится
Criceto
смайлик подпортил мой вариант решения
IF(LINE(18:29).NE.LBLANK) Read(LINE(18:29), *)PMIN    
! перезапись константы в вашем расчете если я правльно догадался  
LINE(18:29) в фортране выкусит часть строки из которой ее надо считать
но меня настораживает тот факт что решатель хочет получить от вас намного намного больше чем e-10 в решателе случайно не сказанно пределы для этой константы?

Всего записей: 20 | Зарегистр. 31-01-2006 | Отправлено: 17:32 03-06-2009 | Исправлено: Mav80, 17:50 03-06-2009
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ребята, читайте внимательно вопрос, вся необходимая информация там есть...

Цитата:
Fortran runtime error: bad value during floating point read

Всего записей: 24112 | Зарегистр. 06-12-2002 | Отправлено: 18:01 03-06-2009
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Criceto
ха, я понЯл, что у тебя за ошибка...
небось русская винда? а она плавующую точку по умолчанию как "," пишет, вот фортран и офигевает
поставь региональные установки Eng и будет тебе счастье...

Всего записей: 24112 | Зарегистр. 06-12-2002 | Отправлено: 20:41 03-06-2009
ArtemyVI

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте !!!
Помогите пжалста! Необходимо написать программу для нахождения обратной матрицы размерностью 3*3. Писал прогу для матрицы 2*2, но преподу надо 3*3.  
 
вот прога, (не знаю нужна ли она):
 
program omat
implicit none  
real M(1:2,1:2),i,n,j,T(1:2,1:2),P(1:2,1:2),O(1:2,1:2),D
write(*,*) ' Enter Dimension Of A Matrix ! only 2 ! ' ! размерность
read(*,*) n
write(*,*)' Enter Elements ! M(2*2) ! ' ! вводим элементы матрицы
read(*,*)((M(i,j) ,i=1,n),j=1,n)
write(*,*)' Yor Matrix [M] ' ! пишем матрицу (исходную)
D=M(1,1)*M(2,2)-M(1,2)*M(2,1) ! находим определитель
do i=1,n
write(*,*)(M(j,i),j=1,n)  
enddo
write(*,*)'Trans Matrix:'
do i=1,n
write(*,*)(M(i,j),j=1,n)
enddo
O=(1/D)*M ! обратная матрица
write(*,*) ' Return Matrix [M]'
write(*,*)O
end program omat
 
 
 
для нахождения обратной матрицы 3*3 необходимо искать алгебраические дополнения. как их засунуть в матричку. так же после эту матричку надо транспонировать. остальное мне понятно...
 
заранее спасибо!
 
P.S. если есть что то похожее на мой вопрос,хоть ссылками поделитесь. буду очень благодарен.

Всего записей: 1 | Зарегистр. 04-06-2009 | Отправлено: 03:06 04-06-2009
Criceto

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM
все гораздо хуже) Винда у меня итальянская, я в Милане живу) Региональные настройки стоят Eng. С форматами чисел все поправила в настройках. Поправила косяк с целыми числами, я все типы задаю как реал, но в начальных условиях у меня иногда они целые встречаются, так что дописала нолик после запятой, чтобы никто не подумал, что оно интежер (не знаю принципиально ли это, но на всякий случай). Может еще быть косяк, что я выбираю "рыбу" для системы обычных дифференциальных уравнений, а модель у меня описывается либо системой из 2х дифференциальных и одного алгебраического или системой из 7 дифференциальных+1 алгебраическое.  Но это уже мне самой с физхимией и программкой ковыряться надо, как поправлю попристаю еще)))
Mav80
пределы по дефолту насколько я знаю от -1E30 до 1E30, но если их не задать, то будет все тормозить (глюк программы). Для всех параметров я задаю начальные условия и наибольшее/наименьшее значения.  
 

Всего записей: 6 | Зарегистр. 03-06-2009 | Отправлено: 12:56 04-06-2009
Mav80

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
считывание по формату F12.0 означает что число должно содержать 12 знаков из них 0 после зяпатой и без степени 10. поетому число фактичиски целое считывание числа ввиде 2.01 может генерить ошибку.
попробуйте задать число с точкой в конце.  

Всего записей: 20 | Зарегистр. 31-01-2006 | Отправлено: 14:11 04-06-2009
Открыть новую тему     Написать ответ в эту тему

Страницы: 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