صفحه 1 از 2

R به توان R

ارسال شده: سه‌شنبه ۱۳۹۱/۱۱/۲۴ - ۲۱:۰۰
توسط Aryan_M
با سلام.
من یک سوال اساسی دارم.
ما برای هر عمل ریاضی یک الگوریتم و الگوی منطقی برای محاسبه تقریبی یا دقیق داریم.
برای عمل جمع و تفریق و ضرب و تقسیم هم برای انسان و هم برای کامپیوتر یک سری الگوریتم داریم که فقط تقسیم ممکنه عدد دقیقی به ما نده.
برای جذر گیری و ریشه سوم هم الگوریتم داریم. برای توان های طبیعی اعداد هم الگو داریم. فقط کافه عددو به تعداد توان در خودش ضرب کنیم.
برای سینوس و امثالش هم الگو داریم.
ولی برای توان های حقیقی اعداد حقیقی چه الگوی محاسباتی داریم؟
مثلا پی به توان پی رو چه طور حساب کنیم؟
یا نپر به توان نپر.

Re: R به توان R

ارسال شده: سه‌شنبه ۱۳۹۱/۱۱/۲۴ - ۲۲:۲۲
توسط ehsan.helli1
تعریف یک عدد به توان گنگ با لگاریتم طبیعی هستش!

Re: R به توان R

ارسال شده: چهارشنبه ۱۳۹۱/۱۱/۲۵ - ۰۱:۰۶
توسط Aryan_M
یعنی کسی نمی دونه ما چه طور یک عدد حقیقی رو به توان عدد حقیقی برسونیم؟
بعلاوه این که کامپیوتر چطور این کارو انجام می ده؟ با 4 عمل اصلی ممکنه؟ یا بهتره یک مدار مجزا براش ساخت؟

Re: R به توان R

ارسال شده: چهارشنبه ۱۳۹۱/۱۱/۲۵ - ۰۱:۱۵
توسط user8604
برای اینکه بخوای 3.1415 رو به توان 3.1415 برسونی . کافیه ریشه ی 10000 ام 3.1415 رو بگیری روو بعد به توان 31415 برسونی ! روشهای دیگه هم حتما موجوده.

Re: R به توان R

ارسال شده: چهارشنبه ۱۳۹۱/۱۱/۲۵ - ۰۲:۱۷
توسط Aryan_M
یعنی الان من رو کاپیتر بزنم پی به توان پی که خیلی هم دقیق حساب می کنه اول ریشه 1000 رو میگیره بعد به توان 31415 می رسونه؟
ولی اگه یک بار امتحان کنین می بینین که اگه این طوری به کامپیتور دستور بدین کند تر محاسبه می کنه ولی اگه یکراست بزنین پی به توان پی خیلی سریع حساب می کنه.

اصلا ما برای این که ریشه 1000 رو بگیریم باید چیکار کنیم؟ فرض کنید کامپیوتر اختراع نشده الان من چه طور حساب کنم؟

Re: R به توان R

ارسال شده: چهارشنبه ۱۳۹۱/۱۱/۲۵ - ۰۲:۳۰
توسط user8604
Aryan_M نوشته شده:یعنی الان من رو کاپیتر بزنم پی به توان پی که خیلی هم دقیق حساب می کنه اول ریشه 1000 رو میگیره بعد به توان 31415 می رسونه؟
گفتم این یک نمونه الگوریتمه. حتما بازم هست.
Aryan_M نوشته شده:ولی اگه یک بار امتحان کنین می بینین که اگه این طوری به کامپیتور دستور بدین کند تر محاسبه می کنه
اگر توی یک حلقه توان یک عدد رو با ضرب کردن متوالی حساب کنی سریع تر محاسبه میشه تا اینکه مستقیم به صورت توانی بنویسی!
امتحان شده است!
Aryan_M نوشته شده:اصلا ما برای این که ریشه 1000 رو بگیریم باید چیکار کنیم؟
3 بار ریشه دوم میگیری.3 بار ریشه ی 5 ام.

Re: R به توان R

ارسال شده: چهارشنبه ۱۳۹۱/۱۱/۲۵ - ۱۲:۱۱
توسط Aryan_M
خود ریشه دوم گیری کلی طول می کشه چه برسه به ریشه پنجم.
حالا اگر من بخوام ریشه یک عدد صحیح بزرگ رو بگیرم چی کار کنم؟ مثلا ریشه 2432902008176640001 ام یک عدد 2-3 رقمی.
کامپیوتر من با سیپیو 2.4 گیگاهرتز 2 هسته ای کمتر از 10 میلیثانیه محاسبه می کنه.

باید الگوریتم های بهتری باشه.
اگر بخوایم n بار عددی در خودش ضرب کنیم و بعد ریشه k امشو بگیریم پدرمون در میاد.
اصلا چه طور الگوریتم ریشه گیری رو برای درجات بالاتر بسازیم؟
من که فقط ریشه دوم رو بلدم و ریشه سوم هم یادم رفته.

این کامپیوتر و مماشین حساب باعث شده آدم محاسبات پایه رو یاد نگیره یا یادش بره.

Re: R به توان R

ارسال شده: چهارشنبه ۱۳۹۱/۱۱/۲۵ - ۱۲:۲۵
توسط user8604
Aryan_M نوشته شده:اصلا چه طور الگوریتم ریشه گیری رو برای درجات بالاتر بسازیم؟
من که فقط ریشه دوم رو بلدم و ریشه سوم هم یادم رفته.
فرض کن ریشه ی 5 ام عدد y رو میخوای بگیری:
1.ریشه ی 5 ام عدد y رو برابر مجهول x قرار میدی.
2.طرفین رو به توان 5 میرسونی
3.معادله ی درجه 5 رو با روش هایی مثل "نصف کردن" یا نیوتون حل میکنی و x رو به دست میاری.
Aryan_M نوشته شده:اگر بخوایم n بار عددی در خودش ضرب کنیم و بعد ریشه k امشو بگیریم پدرمون در میاد.
فکر کردی کامپیوتر از حفظ مینویسه؟ اونم یک همچین کارایی رو سریع انجام میده.

Re: R به توان R

ارسال شده: چهارشنبه ۱۳۹۱/۱۱/۲۵ - ۱۴:۰۴
توسط ehsan.helli1
ادوارد!؟از تو بعید بود این حرفارو بزنی!
ارین بهتره به فکر این باشی که اول یه الگوریتم یا برنامه برای محاسبه لگاریتم طبیعی یک چیز باشی بعد میتونی توان های گنگ رو هم حساب کنی!

Re: R به توان R

ارسال شده: چهارشنبه ۱۳۹۱/۱۱/۲۵ - ۱۴:۲۱
توسط user8604
ehsan.helli1 نوشته شده:اول یه الگوریتم یا برنامه برای محاسبه لگاریتم طبیعی یک چیز باشی
با انتگرال گیری از
1/t
در بازه e تا x میشه لگاریتم طبیعی x رو پیدا کرد.
ehsan.helli1 نوشته شده:بعد میتونی توان های گنگ رو هم حساب کنی!
خوب حالا حساب کردیم بعد چیکار کنیم!؟

Re: R به توان R

ارسال شده: چهارشنبه ۱۳۹۱/۱۱/۲۵ - ۱۵:۰۳
توسط Aryan_M
edwardfurlong نوشته شده:
Aryan_M نوشته شده:اصلا چه طور الگوریتم ریشه گیری رو برای درجات بالاتر بسازیم؟
من که فقط ریشه دوم رو بلدم و ریشه سوم هم یادم رفته.
فرض کن ریشه ی 5 ام عدد y رو میخوای بگیری:
1.ریشه ی 5 ام عدد y رو برابر مجهول x قرار میدی.
2.طرفین رو به توان 5 میرسونی
3.معادله ی درجه 5 رو با روش هایی مثل "نصف کردن" یا نیوتون حل میکنی و x رو به دست میاری.
Aryan_M نوشته شده:اگر بخوایم n بار عددی در خودش ضرب کنیم و بعد ریشه k امشو بگیریم پدرمون در میاد.
فکر کردی کامپیوتر از حفظ مینویسه؟ اونم یک همچین کارایی رو سریع انجام میده.
الان شما بگو چه طور معادله درجه 5 ای که می گین رو حل کنیم؟
فرض کنید می خواهیم ریشه 5 عدد 10 رو بگیریم.
شما می شه روش کاملتونو توضیح بدین؟

Re: R به توان R

ارسال شده: چهارشنبه ۱۳۹۱/۱۱/۲۵ - ۱۵:۳۲
توسط user8604
Aryan_M نوشته شده:شما می شه روش کاملتونو توضیح بدین؟
این کد به زبان فرترن رو مطالعه کن تا خودت بفهمی. هر ریشه ای رو میشه به این روش گرفت.
program rootnewton
implicit none
real dx,error0,f1,a,f0
dx=.01
a=2
error0=10E-6
f0=1
do while(f0>error0)
f0=abs(a**5-10)
f1=(((a+dx)**5-((a-dx)**5)))/(2*dx)
a=a-(f0/f1)
end do
print *,a
end
جواب:1.58489

Re: R به توان R

ارسال شده: چهارشنبه ۱۳۹۱/۱۱/۲۵ - ۱۶:۵۴
توسط Aryan_M
زبان فورترن من نمی فهمم اگه می شه C خالی بنویسین. با تشکر.
نمی شه الگوریتمشو به زبان فارسی بگین اول الگوریتمو بفهمم؟
خیلی ممنون

Re: R به توان R

ارسال شده: چهارشنبه ۱۳۹۱/۱۱/۲۵ - ۱۸:۱۰
توسط user8604
Aryan_M نوشته شده:زبان فورترن من نمی فهمم اگه می شه C خالی بنویسین.
دستور خاصی نداره که مختص فرترن باشه.هر زبانی بلد باشی اینو میشه فهمید.فقط جایگزاری های ساده است. با یک حلقه.الگوریتمشو گفتم .پیدا کردن ریشه ی 5 ام عدد 10 مثل پیدا کردن ریشه ی معادله ی x^5-10=0 است. تو اون کد هم با استفاده از روش نیوتون که تو حسابان خوندی ریشه پیدا میکنه. مشتق هم از تفاضل محدود مرکزی حساب میکنه.

Re: R به توان R

ارسال شده: چهارشنبه ۱۳۹۱/۱۱/۲۵ - ۱۸:۱۴
توسط Aryan_M
مسئله همینه که روش نیتون رو به ما درس ندادند.
اگه می شه روش نیوتون رو توضیح بدین