> 1 <

Автор Сообщение

kreol

Members


Статус

87 сообщений

Где: Ukraine Днепропетровск
Род занятий: студент
Возраст: 26

#5023   2011-11-10 03:41 GMT+3 часа(ов)      
предистория
Сравнивать их наверное не коректно. но...
я учусь на кафедре теоретической и прикладной механике возникают естественно задачи в которых нужно программировать мат аппарат мат модели и производить разные расчеты. Преподаватели да и учебная программа придержывается форрана оно и ясно все таки FORmula TRANslator, НО! мне он не нравится хотя бы синтаксисом... конечно он похож на паскаль(который мне нравится) и с/с++ но тем не менее... это с одной стороны с другой стороны он показал насколько он хорош в этой области к примеру паскаль совсем не справился с одной из моделью для с++ надо подключать либу и как-то хитро обходится с дробными числами т.к. надо работать с числами от 10^12 до 10^(-12) и т.д. оказалось что может справиться питон...

Может ли лисп соревноваться в быстроте и "правильной" обработкой таких типов задач. и насколько развиты библиотеки для "мат. аппарата"? т.к. у фортарана за время его существования появилось их очень много... в частности интересует racket

все это к тому, что стоит ли пытаться писать курсовые/дипломные на лиспе или смириться и работать на фортране? т.к. если не будет хватать библиотек то как бы писать их я не буду... ну и производительность важна...

и еще вопрос можно ли как-то взаимодействовать из лиспа с кодом фортрана? например экспортировать функции?

megamanx

Members


Статус

307 сообщений

Где: Russia
Род занятий:
Возраст:

#5031   2011-11-11 12:11 GMT+3 часа(ов)      
Цитата
Преподаватели да и учебная программа придержывается форрана оно и ясно все таки FORmula TRANslator

Есть 2 причины:
1) Старые 80-летние пердуны
2) Большое количество библиотек и учебных материалов, которые старые 80-летние пердуны не хотят переписывать
Цитата
Может ли лисп соревноваться в быстроте и "правильной" обработкой таких типов задач

Нет. Если нужно считать быстро, то используются библиотеки на других языках. В том же питоне хорошая скорость достигается использованием библиотек на фортране и си.
Цитата
стоит ли пытаться писать курсовые/дипломные на лиспе

Зависит от курсовой. Для моделирования, скажем, тумана или распространения жидкости в пористой среде точно Лисп использовать не стоит. А при моделировании какой-нибудь залихватской логистической теории вперемешку с нечёткой логикой самое оно.
Тут ведь ещё одно проблема есть - захочешь написать статью в журнал, а рецензент нихера не понимает.
Цитата
или смириться и работать на фортране

Не, смиряться и работать на фортране точно не стоит. Учи что-нибудь нормальное, то, с помощью чего можно потом заработать. Конечно, те алгоритмы, которые будут давать при изучении фортрана, обязательно надо учить. Но мои знакомые делали так - писали курсовые на си++, потом диплом на си++. Параллельно учили что-то скриптовое.
Цитата
можно ли как-то взаимодействовать из лиспа с кодом фортрана? например экспортировать функции?

На фортране можно делать dll и so. Из интерпретатора можно из вызывать.
I wish I'd made you angry earlier

kreol

Members


Статус

87 сообщений

Где: Ukraine Днепропетровск
Род занятий: студент
Возраст: 26

#5032   2011-11-11 17:25 GMT+3 часа(ов)      
ок. спасибо. языки учу... для написания курсвовой пока хватает знаний и в фортрана и паскаля и с++ думаю что и лиспа хотя тут не очень уверен((.
но вот недавно столкнулся с веселой проблемой. а проблема в том, чтобы сложить три числа))
0,1 + 0,1 + 0,1
даже фортран выдает 0.300001 хотя может это из-за того, что я использовал gfortran. возможно более современные будут лучше...
зато gcc выдает все как надо 0,300000 в python же 0,300000000004 правильно посчитал вместе с gcc - perl, clisp и ! php (который в slackware) к сожалению racket и javascript ))) посчитали так же как и python. на других не пробовал. да и незачем...

если моделировать то скорее придется что-то из этого:


    1 соударение двух и больше упругих тел
    2 что-то из механики разрушения
    3 короче связано с механикой сплошной среды


к сожалению нам алгоритмов или каких-то основ построения/выбора модели и какой яп где будет лучше не давали. да наверное и не дадут...

megamanx

Members


Статус

307 сообщений

Где: Russia
Род занятий:
Возраст:

#5033   2011-11-11 17:42 GMT+3 часа(ов)      
МСС... Прошёл мимо неё, не соударившись...
I wish I'd made you angry earlier

megamanx

Members


Статус

307 сообщений

Где: Russia
Род занятий:
Возраст:

#5034   2011-11-11 23:37 GMT+3 часа(ов)      
Ну если у тебя моделирование многочастичных систем - то сам бог веле учить си и писать под куду (хотя, говорят, на фортране тоже можно). Это быстрее, это сложнее, и это модно.
I wish I'd made you angry earlier

misha

Moderators


Статус

1275 сообщений
http://racket-lang.org/
Где: Yemen
Род занятий:
Возраст:

#5038   2011-11-12 16:55 GMT+3 часа(ов)      
Если отсутствует опыт использование лиспа в данной области, то лучше писать на фортране. Тем более что он более подходит для математического моделирования, чем лисп. Не стоит утюгом забивать гвозди
kreol
но вот недавно столкнулся с веселой проблемой. а проблема в том, чтобы сложить три числа))
0,1 + 0,1 + 0,1
даже фортран выдает 0.300001 хотя может это из-за того, что я использовал gfortran. возможно более современные будут лучше...
зато gcc выдает все как надо 0,300000 в python же 0,300000000004 правильно посчитал вместе с gcc - perl, clisp и ! php (который в slackware) к сожалению racket и javascript ))) посчитали так же как и python. на других не пробовал. да и незачем...
Они все посчитали правильно, вот только питон и рэкет вывели более точное значение.

nosilverbullet

Members


Статус

14 сообщений
http://shmat-razum.blogspot.com
Где: Russia
Род занятий: программист
Возраст:

#5045   2011-11-14 14:05 GMT+3 часа(ов)      
kreol
но вот недавно столкнулся с веселой проблемой. а проблема в том, чтобы сложить три числа))
0,1 + 0,1 + 0,1
даже фортран выдает 0.300001

Числа с плавающей запятой ты ни в каком языке не сможешь складывать без погрешности округления,
т.к. в памяти компьютера они представляются в двоичном виде, и десятичные дроби 0.1 и 0.3 чисто
физически приходится округлять, чтобы записать с двоичным показателем экспоненты.

См. например
http://ru.wikipedia.org/wiki/Число_одинарной_точности

С другой стороны, в лиспе есть рациональная арифметика, без потери точности разумеется:
(+ (/ 1 10) (/ 1 10) (/ 1 10)) выдаёт 3/10.

megamanx

Members


Статус

307 сообщений

Где: Russia
Род занятий:
Возраст:

#5046   2011-11-14 14:45 GMT+3 часа(ов)      
Раз уж начали тему. В ряде интерпретируемых языков числа с плавающей точкой по умолчанию идут с двойной точностью. В перле, например, долгое время вообще не было простых чисел, они до сих пор вручную кастуются до integer. Поэтому при сложении они дали точность такую, какую получишь в си при использовании double.
I wish I'd made you angry earlier

misha

Moderators


Статус

1275 сообщений
http://racket-lang.org/
Где: Yemen
Род занятий:
Возраст:

#5047   2011-11-14 15:37 GMT+3 часа(ов)      
nosilverbullet
С другой стороны, в лиспе есть рациональная арифметика, без потери точности разумеется:
(+ (/ 1 10) (/ 1 10) (/ 1 10)) выдаёт 3/10.

Рациональные числа являются встроенным типом данных, поэтому лучше записать так
> (+ 1/10 1/10 1/10)
3/10

Lisp for numerical methods compared to other languages

отредактировал(а) misha: 2011-11-14 20:01 GMT+3 часа(ов)

kreol

Members


Статус

87 сообщений

Где: Ukraine Днепропетровск
Род занятий: студент
Возраст: 26

#5048   2011-11-14 20:45 GMT+3 часа(ов)      
понятно.

Цитата
megamanx :
Раз уж начали тему. В ряде интерпретируемых языков числа с плавающей точкой по умолчанию идут с двойной точностью. В перле, например, долгое время вообще не было простых чисел, они до сих пор вручную кастуются до integer. Поэтому при сложении они дали точность такую, какую получишь в си при использовании double.



да. это тоже понятно. я помогал делать перевод в двоичное исчисление дробных чисел))) так что это для меня понятно))

не понятно это почему фортран считает "хуже" чем тот же javascript? или в фортране надо другой тип какой-то использовать?

или от как хотя бы с примером на лиспе не выписать в виде 3/10 числа которые "не удобно" переводить.

misha, спасибо за ссылку)

megamanx

Members


Статус

307 сообщений

Где: Russia
Род занятий:
Возраст:

#5049   2011-11-14 22:57 GMT+3 часа(ов)      
Цитата
не понятно это почему фортран считает "хуже" чем тот же javascript? или в фортране надо другой тип какой-то использовать?

В яваскрипте числа тоже double все. Какой тип в фортране использовал? REAL*8?
I wish I'd made you angry earlier

kreol

Members


Статус

87 сообщений

Где: Ukraine Днепропетровск
Род занятий: студент
Возраст: 26

#5050   2011-11-14 23:04 GMT+3 часа(ов)      
просто real. без указания "размера"

megamanx

Members


Статус

307 сообщений

Где: Russia
Род занятий:
Возраст:

#5051   2011-11-14 23:13 GMT+3 часа(ов)      
А документации нет? Почти везде REAL - это одинарная точность
To define a Double Precision Real variable in a Fortran program unit, use the following statements:

real*8 aa,bb,cc
double precision gg,hh
implicit real*8 k
implicit double precision j

The "real*8" statement specifies the variable names to be double precision 8-byte real numbers which has 15 digits of accuracy and a magnitude range of 10 from -308 to +308. The "double precision" statement is the same as "real*8" statement in nearly all 32-bit computers.
I wish I'd made you angry earlier

misha

Moderators


Статус

1275 сообщений
http://racket-lang.org/
Где: Yemen
Род занятий:
Возраст:

#5052   2011-11-14 23:54 GMT+3 часа(ов)      
Racket
> (+ 0.1f0 0.1f0 0.1f0)
0.30000001192092896f0
> (+ 0.1d0 0.1d0 0.1d0)
0.30000000000000004
> (+ 0.1 0.1 0.1)
0.30000000000000004



Мой DotForth(.net framework)
  [ 0.1f 0.1f 0.1f + + print( Single ) ]
0,3
[ 0.1f 0.1f 0.1f + + print( Double ) ]
0,300000004470348
[ 0.1 0.1 0.1 + + print( Double ) ]
0,3

kreol

Members


Статус

87 сообщений

Где: Ukraine Днепропетровск
Род занятий: студент
Возраст: 26

#5053   2011-11-15 00:52 GMT+3 часа(ов)      
Цитата
megamanx :
А документации нет? Почти везде REAL - это одинарная точность


не. нету такого зверя) ага. я вспомнил...

Цитата
misha :
Racket


ясно.

Цитата
misha :
DotForth(.net framework)



а это для racket ?

megamanx

Members


Статус

307 сообщений

Где: Russia
Род занятий:
Возраст:

#5054   2011-11-15 12:43 GMT+3 часа(ов)      
Можно нескромный вопрос? А какова область применения форта, написанного на .NET?
I wish I'd made you angry earlier

joba

Members


Статус

157 сообщений

Где: ---
Род занятий:
Возраст:

#5056   2011-11-15 20:32 GMT+3 часа(ов)      
>даже фортран выдает 0.300001 хотя может это из-за того, что я использовал gfortran

Неправда. http://ideone.com/1eKUu

joba

Members


Статус

157 сообщений

Где: ---
Род занятий:
Возраст:

#5057   2011-11-15 20:44 GMT+3 часа(ов)      
>gcc выдает все как надо 0,300000

Вранье. http://ideone.com/3zpID

>python же 0,300000000004

Тоже вранье -- 0.30000000000000004

kreol

Members


Статус

87 сообщений

Где: Ukraine Днепропетровск
Род занятий: студент
Возраст: 26

#5061   2011-11-15 23:56 GMT+3 часа(ов)      
Цитата
joba :
>gcc выдает все как надо 0,300000

Вранье. http://ideone.com/3zpID

>python же 0,300000000004

Тоже вранье -- 0.30000000000000004



ага. я сам придумал эти числа. вон то мне делать нечего...


только что открыл эти две ссылки. вот результат в первой 0.30000001 вот результат во второй 0.3000000000000000444089210

отредактировал(а) kreol: 2011-11-16 00:02 GMT+3 часа(ов)

joba

Members


Статус

157 сообщений

Где: ---
Род занятий:
Возраст:

#5062   2011-11-16 00:01 GMT+3 часа(ов)      
>ага. я сам придумал эти числа. вон то мне делать нечего...

Х.з. может ты просто косоглазый и не умеешь пользоваться printf.

joba

Members


Статус

157 сообщений

Где: ---
Род занятий:
Возраст:

#5063   2011-11-16 00:07 GMT+3 часа(ов)      
>только что открыл эти две ссылки. вот результат в первой 0.30000001 вот результат во второй 0.3000000000000000444089210

Т.е. ты соврал. Q.E.D.

kreol

Members


Статус

87 сообщений

Где: Ukraine Днепропетровск
Род занятий: студент
Возраст: 26

#5064   2011-11-16 00:13 GMT+3 часа(ов)      
Цитата
joba :
>ага. я сам придумал эти числа. вон то мне делать нечего...

Х.з. может ты просто косоглазый и не умеешь пользоваться printf.


пересмотри свою манеру общения на форуме. уже надоело видеть как ты по хамски обращаешься к другим пользователям.

Цитата
joba :
>только что открыл эти две ссылки. вот результат в первой 0.30000001 вот результат во второй 0.3000000000000000444089210

Т.е. ты соврал. Q.E.D.



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

joba

Members


Статус

157 сообщений

Где: ---
Род занятий:
Возраст:

#5065   2011-11-16 00:33 GMT+3 часа(ов)      
>пересмотри свою манеру общения на форуме.

А то что?

>уже надоело видеть как ты по хамски обращаешься к другим пользователям.

Что значит "по хамски"? Где я тебе нахамил, например? Кстати, мне тоже надоело видеть, как ты каждое предложение начинаешь с маленькой буквы, но это твое право и я тебе не смею перечить. Так не перечь и мне.

>это показывает лишь то, что у меня интерпретатор не выводит полностью все цифры.

Какой интерпретатор, что ты несешь вообще? Интерпретатор там только python.

misha

Moderators


Статус

1275 сообщений
http://racket-lang.org/
Где: Yemen
Род занятий:
Возраст:

#5066   2011-11-16 00:56 GMT+3 часа(ов)      
megamanx
Можно нескромный вопрос? А какова область применения форта, написанного на .NET?
Я его использую как интерактивный ассемблер, для этого я его, собственно, и создавал. Может интересует что-то более конкретное?

отредактировал(а) misha: 2011-11-16 01:04 GMT+3 часа(ов)

megamanx

Members


Статус

307 сообщений

Где: Russia
Род занятий:
Возраст:

#5067   2011-11-16 01:14 GMT+3 часа(ов)      
Что такое интерактивный ассемблер? Он компилирует программу в нативный код?
Я тут просто с tcc бодаюсь, ностальгия после разговоров о фортране.
I wish I'd made you angry earlier

misha

Moderators


Статус

1275 сообщений
http://racket-lang.org/
Где: Yemen
Род занятий:
Возраст:

#5068   2011-11-16 01:22 GMT+3 часа(ов)      
megamanx
Что такое интерактивный ассемблер?
Имеет repl.
megamanx
Он компилирует программу в нативный код?
Конечно Можно создавать и сохранять сборки.

Вадим Тукаев

Members


Статус

26 сообщений

Где: Russia Наша Параша
Род занятий: говнокодер-подёнщик
Возраст: 39

#5763   2012-02-27 12:08 GMT+3 часа(ов)      
Цитата
nosilverbullet :Числа с плавающей запятой ты ни в каком языке не сможешь складывать без погрешности округления


А как же SheerPower? - http://www.sp4gl.com/index_perfect.htmlx

misha

Moderators


Статус

1275 сообщений
http://racket-lang.org/
Где: Yemen
Род занятий:
Возраст:

#5775   2012-02-27 20:46 GMT+3 часа(ов)      
Цитата
А как же SheerPower? - http://www.sp4gl.com/index_perfect.htmlx
Цитата
SheerPower
boasts numerical accuracy of 18 digits to the left of decimal and 16 to the right -- 34 significant digits!!
Лисперы обычно используют дроби. А при необходимости распечатывают их как числа с плавающей точкой.
> 1 <


Онлайн :

0 пользователь(ей), 20 гость(ей) :




Реклама на сайте: