انجمنهای فارسی اوبونتو
کمک و پشتیبانی => برنامهسازی => نویسنده: mrmrn در 27 خرداد 1391، 08:20 بظ
-
بسم الله
سلام
چجوری میتونم double percision رو تو gfortran بسط(extend) بدم؟
یعنی میخوام مثلا تا عدد نپر به توان خیلی بیش از ۳۰۰ رو بشناسه و براش بینهایت نباشه.
اینم خود برنامه:
implicit none
REAL*16 :: x, y, z, d
integer :: n
x=711.d0
y=x/log(10.d0)
n=int(y)
d=y-n
z=(exp(d*log(10.d0)))*(10.d0**n)
print*, z
end
الان اون خط ۴ اگر ۷۱۱ بشه ۷۱۲ برنامه اجرامیشه ولی بینهایت میشه!!
اگر احیانا زبان دیگه میشناسین که این محدودیت رو نداشته باشه معرفی کنین.
-
من با fortran آشنایی ندارم ولی میدونم که اینجور مسائل با MATLAB خیلی بهتر و راحت تر انجام میشه.
-
من با فورترن کار نکردم ولی چیزی که میفرمایید رو با نرمافزار ریاضیاتی Sage انجام دادم! خیلی حال میده! help کاملی هم داره اینی که میگید رو توش توضیح داده. دقیقا مشخص میکنید که تا چند رقم اعشار جواب رو نشونتون بده. syntax اونم همون syntax پایتون هست! یعنی با یادگیریش انگار پایتون یاد گرفتید! از این طریق میتونید نصبش کنید (من خودم از سورس کامپایل کردم.)
apt-add-repository -y ppa:aims/sagemath
apt-get update
apt-get install sagemath-upstream-binary
اینم وبگاهش. www.sagemath.org
-
من با fortran آشنایی ندارم ولی میدونم که اینجور مسائل با MATLAB خیلی بهتر و راحت تر انجام میشه.
نیازی به متلب نیست، با گنو اکتاو GNU Octave میشه همون کارا رو کرد ! syntax اون دقیقا همون syntax متلب هست! به جز بعضی موارد استثنایی. از این طریقم میشه نصبش کرد.
apt-get install octave
-
خب ممنون از مهندسین عمران و برق.
با خود پایتون و کتابخونه numpy اش احیانا نمیشه اینکارا رو کرد؟
بعد یه چیزی.این sage که فرمودین یه چیز تو مای های imsl فرترن داره؟
-
اینو مطمئن نیستم ولی تا اونجایی که میدونم بیشترین عددی که پایتون میتونه نشون بده بستگی به RAM داره و اینکه سیستمعاملت ۳۲ یا ۶۴ بیتی باشه. بزرگترهای مجلس باید نظر بدن. برای من که پایتون ۳ ، عدد ۳.۱۴ به توان ۶۲۰ رو نشون میده و بعدش رو میزنه شرمنده !!!!!!
-
شرنده imsl نمیدونم چیه !
-
شرنده imsl نمیدونم چیه !
یه کتابخونه بزرگه که کنار compaq visual fortran عرضه میشه.مثلا برا حل معادله دیفرانسیل و یا قطری کردن ماتریس نیاز به نوشتن تابع و زیرروال نیست.میری تابعشو صدا میزنی و سریع کار انجام میشه.
یه چیز تو مایه های numerical recipes ولی ازون straight forward تر.