متمتیکا


+ Mathematica

تو این پست میخوایم دستورات Fit ، Random ، Table  رو بررسی کنیم

دانلود برنامه اول

دانلود برنامه دوم

 


 

 بعد از اینکه فایلها رو دانلود کردید فایل nb1 رو اجرا کنید. برنامه ی کاری ما از این قراره که میخوایم یک سری اعدادی رو که داریم (مثلاً تو آزمایش بدست آوردیم) بصورت نقطه نقطه نمایش بدیم و بعد خطی رسم کنیم که میانگینی از این نقاط باشه .

برای شروع همونطور که گفتم ما یک سری نقاط لازم داریم، برای این کار 2 راه وجود داره ، راه اول اینه که دستی زوج هایی از اعداد رو وارد کنیم ، که این راه رو اصلاً پیشنهاد نمیکنم چون این کار خیلی وقت گیره ، حالا خودتون تو برنامه میبینید که چنتا زوج اعداد داریم . راه دوم نوشتن یک برنامه هست که این زوج اعداد رو تولید کنه.

این دستور رو ببینید:

Table[{x,Random[Integer,{-10,10}]},{x,0,10,.5}]

این دستور برخلاف ظاهر پیچیدش خیلی سادس ، با دستور Table که آشنا هستید ، برای این مورد خاص ، این دستور x رو از 0 تا 10 با استپ 5/0 وارد آرگومان Table میکنه و هر بار نتیجه رو نشون میده . حالا داخل دستور یعنی چی ؛ یعنی دستور Table هر دفعه یک زوج اعداد بصورت {x,y} تولید کنه که x اون همون x اییه که از شرط دستور Table تولید میشه و بدون تغیر چاپ میشه اما y که در اینجا یک عبارت است.

برای تولید کردن اعدادی دلخواه و رندوم ما از دستور Random استفاده میکنیم( شکل دستور رو توی هلپ ببینید ) این عبارت یعنی عددی بین -10 و 10 بصورت رندم بده. دیدید چقدر راحته !   

بعد از اینکه این زوج اعداد تولید شدن ، برای نمایش این  اعداد از ListPlot استفاده میکنیم. این دستور چیز خاصی برای توضیح دادن نداره ، هلپ رو ببینید.

حالا برای بدست آوردن یک خط میانگین از اعداد از دستور Fit استفاده میکنیم:

Fit[points,1,x]

این مورد خاص یعنی از زوج اعداد بر حسب توان صفر از ایکس میانگینی بدست بیار.

 ادامه ی برنامه چیز خاصی نداره فقط چنتا پلات سادس . فایل nb2 رو که اجرا کنید میبینید همین مسئله هست منتها با توان یک از x ، به دستور Random توجه کنید ، میبینید که محدوده ی عدد دلخواه بستگی مستقیم با x دارد برخلاف قبلی که هیچ ربطی به x نداشت و عددی بین -10 و 10 بود . تو اینجا دستور Fit  میانگینی از اعداد برحسب توان یک از x تولید میکنه ؛ دقت کنید شما از هر عبارتی برحسب x میتونید در این دستور استفاده کنید ،مثالهای زیر رو ببینید:

Fit[points,x+1,x]

Fit[points,x^12,x]

Fit[points, Log[x],x]

Fit[points, Sin[x],x]

در اینجا چون اعداد تولید شده ی ما برحسب توان یک است برای اینکه میانگین قابل قبولی بدست بیاریم از توان یک x در دستور Fit  استفاده کردیم.

به تغیراتی که توی این دوتا فایل دادم دقت کنید و به سلیقه ی خودتون اونارو تغیر بدین تا نتایج دیگه ای بدست بیارید.

نویسنده : کامران اینانلو ; ساعت ۱۱:۳۸ ‎ب.ظ ; دوشنبه ۳٠ اردیبهشت ۱۳۸٧
    پيام هاي ديگران()   لینک