تحلیل داده ها
1- ارقام با معنی:
برای تعیین رقمهای با معنا ، رقمها را از سمت چپ به راست می شماریم.
صفرهایی ک قبل از اولین رقم سمت چپ نوشته می شوندجزء رقمهای با معنا به حساب نمی آیند این صفرها به هنگام تبدیل یکاها ظاهر می شوند و تبدیل یکاها نباید تعداد رقمهای با معنا را تغییر دهد
12/6 : سه رقم بامعنی
0010306/0 :پنج رقم با معنی که اولین رقم با معنی یک است.صفرهای قبل از یک با معنی نیستند
20/1 : سه رقم با معنی در صورتیکه صفر با معنی نباشد عدد باید به صورت2/1 نوشته شود
38500 : سه رقم با معنی، چیزی برای اینکه نشان دهد صفرها با معنی هستند یا نه مشخص نیست می توان این ابهام را با نوشتن بصورتهای زیر برطرف کرد:
: هیچکدام از صفرها با معنی نیستند
: یکی از صفرها با معنی است
:هر دو صفر با معنی است
m 040/0 = Cm0 /4=mm40 که هر سه دارای سه رقم با معنی هستند.
2- گرد کردن اعداد:
اگر بخواهیم ارقام عدد 3563342/2 را به دو رقم کاهش دهیم، این عمل را گرد کردن عدد می نامند.
برای این منظور باید به رقم سوم توجه کنیم بدین صورت که اگر قم سوم بزرگتر یا مساوی5 باشد رقم دوم به طرف بالا گرد می شود و اگر رقم سوم کوچکتر از 5 باشد رقم دوم به حال خود گذاشته می شود
اگر بخواهیم ارقام عدد 3563342/2 را به دو رقم کاهش دهیم، این عمل را گرد کردن عدد می نامند.
برای این منظور باید به رقم سوم توجه کنیم بدین صورت که اگر قم سوم بزرگتر یا مساوی5 باشد رقم دوم به طرف بالا گرد می شود و اگر رقم سوم کوچکتر از 5 باشد رقم دوم به حال خود گذاشته می شود 4/1 3563342/2 62700 62654 108/0 10759/0 3- محاسبات و ارقام با معنی: می خواهیم سطح مقطع یک استوانه به قطر6/7 را بدست آوریم: اشکال کار: اگر دقت کنیم محاسبات تا 10 رقم با معنی است اگر از کامپیوتری تا 100 رقم استفاده می کردیم چه؟
در صورتیکه قطر کره تا دو رقم با معنی است بنابراین در اینگونه موارد به نکات زیر توجه می کنیم: توجه: اگر مجبورید محاسبه ای را که در آن خطای مقادیر مشخص نیست انجام دهید و می بایستی فقط با ارقام با معنی کار کنید به نکات زیر توجه کنید: الف ) زمانی که اعداد را در هم ضرب و یا بر هم تقسیم می کنید: عددی که با کمترین ارقام با معنی در محاسبه است را شناسایی کنید به حاصل محاسبه همین تعداد ارقام با معنی نسبت دهید چون 7/3 با دو رقم با معنی است ب ) زمانی که اعداد را با هم جمع و یا از هم کم می کنید: تعداد ارقام اعشاری عدد حاصل از محاسبه را برابر تعداد کمترین ارقام اعشاری اعداد شرکت داده شده در محاسبه گرد کنید کمترین اعشار مربوط به1/13 است مثال: شعاع یک کره5/13 سانتیمتر برآورد شده است.
حجم ایمن کره را بدست آورید؟
جواب: مثال: چگالی کرهای به جرم44/0 گرم و قطر76/4 میلی متر را بدست آورید؟
4- متغیرهای وابسته و مستقل: به کمیتی که مقدار آن را می توانیم تنظیم نمائیم و یا در طول آزمایش به دلخواه تغییر داده می شود، متغیر مستقل گفته می شود و آنرا به عنوان مختصهx در نمودار می گیریم.
به کمیتی که بر اثر تغییر در متغیر مستقل پیدا می کند، متغیر وابسته گفته می شود و به عنوان مختصهy در نمودار گرفته می شود.
مثلا در آزمایش انبساط طولی میله در اثر حرارت دما متغیر مستقل و طول میله متغیر وابسته می باشد 5- خطا : تمام اندازه گیریها متاثر از خطای آزمایش هستند.منطور این است که اگر مجبور با انجام اندازه گیریهای پیایی یک کمیت بخوصوص باشیم، به احتمال زیاد به تغییراتی در مقادیر مشاهده شده برخورد خواهیم کرد.
گرچه امکان دارد بتوانیم مقدار خطا را با بهبود روش آزمایش و یا بکارگیری روشهای آماری کاهش دهیم ولی هرگز نمی توانیم آن را حذف کنیم.
1-5- خطای دقت وسایل اندازه گیری : هیچ وسیله اندازه گیری وجود ندارد که بتواند کمیتی را با دقت بینهایت اندازه گیری نماید.بنابراین نادیده گرفتن خطای وسایل اندازه گیری در آزمایش اجتناب ناپذیر است.
اگر اندازه کمیتی که اندازه می گیریم با گذر زمان تغییر نکند، مقدار خطا را نصف کوچکترین درجه بندی آن وسیله در نظر می گیریم.
مثال: متر کوچکترین درجه mm1 = مقدار خطا پس اندازه گیریی mm54 را بصورت بیان می کنیم دما سنج کوچکترین درجه ºC2 = مقدار خطا پس اندازه گیریی ºC60 را بصورت بیان می کنیم 2-5- خطای خواندن مقدار اندازه گیری: 3-5- خطای درجه بندی وسایل اندازه گیری: تعریف خطای مطلق: اگر خطا را با همان یکای کمیت اندازه گیری شده بیان نمائیم، به این خطا، خطای مطلق کمیت اندازه گیری گفته می شود تعریف خطای نسبی: اگر خطا بصورت کسری باشد، به این کسر، خطای نسبی مقدار کمیت اندازه گیری شده گفته می شود 4-5- ترکیب خطاها : ممکن است در آزمایشی نیاز به یافت چند کمیت، که باید آنها را بعداُ در معادله ای وارد کنیم، داشته باشیم برای مثال ممکن است جرم و حجم جسمی را اندازه بگیریم و سپس نیاز به محاسبه چگالی داشته باشم، که با رابطه زیر تعریف می شود: سوال اینجاست که چه ترکیبی از خطاهای مقادیر m وV ] اندازه خطای را بدست می دهد.
بدین منظور سه روش زیر ارائه داده می شود: الف) روش اول: این روش را با دومثال زیر توضیح می دهیم: مثال1: قطر سیمی با مقطع دایره ای برابر است با: مطلوب است اندازه سطح سیم و مقدار خطای آن؟
جواب: مثال2: در یک آزمایش الکتریکی، جریان جاری شده در یک مقاومت برابر با و ولتاژ دو سر مقاومت اندازه گیری شد.اندازه مقاومت و مقدار خطای مقاومت را بدست آورید؟
جواب: باید بیشترین مقدار صورت و کمترین مقدار مخرج را در نظر بگیریم باید کمترین مقدار صورت و بیشترین مقدار مخرج را در نظر بگیریم ب ) روش دوم (محاسبه خطا با استفاده از مشتقات جزئی) روش قبل در صورتیکه فرمول مورد استفاده بیشتر از یک کمیت باشد، می تواند مشکل آفرین باشد بنابراین روش دیگری معرفی می شود که مبتنی بر حساب دیفرانسیل است.
تابعZ تابعی از دو متغیرx وy می باشد Z=f(x,y) در نظر می گیریم.
مشتق جزئیZ بر حسبx وy را بصورت نشان می دهیم.در موقع محاسبه ، y را ثابت گرفته و مشتقZ نسبت بهx را بدست می آوریم و همینطور برای محاسبه ،x را ثابت گرفته و مشتقZ نسبت بهy را بدست می آوریم.دیفرانسیل تابعZ برابر است با: روش کار: برای محاسبه خطای تابع Z از طرفین رابطه دیفرانسیل گیری می کنیم سپس با تبدیل رابطه زیر را بدست می آوریم: که مقدار خطای مطلق و را خطای نسبی گویند.
باید همیشه مقدار قدر مطلق قسمتهای فوق با هم جمع شود تا حداکثر خطا بدست آید.
توجه: در بعضی مواقع راحتر است ابتدا از طرفین رابطه لگاریتم گرفته شود و سپس دیفرانسیل آن را بدست آوریم.
مثال1: دمای مقدار آب توسط هیتر برقی که داخل آن قرار دارد تا افزایش داده می شود.
مقدار گرمای انتقال داده شده به آب و خطای آنرا بدست آورید؟
( گرمای ویژه آب برابر است با: ) جواب: مثال2: قطر یک سیم برابر با می باشد مقدار خطای سطح مقطع سیم را بدست آورید؟
جواب: مثال3: خطای نسبی تابع را بدست آورید؟
جواب: ابتدا از طرفین رابطه لگاریتم می گیریم: مثال4: خطای مطلق تابع را بدست آورید؟
جواب: ج ) روش سوم زمانی که خطای اندازه گیریها کمیتهای مستقل از یکدیگر باشند: در روشهای قبل در خیلی از حالات مقدار خطای محاسبه شده، بیشتر از حد متعارف برآورد می شودممکن است در حالی که خطا های دو کمیت مستقل از یکدیگر هستند این خطاها همدیگر را خنثی نمایند.
اگر کمیتZ وابسته به دو متغیرx وy باشد، داریم: مثال: مقدار میانگین جرم و حجم یک فلز و خطای معیار در این کمیتها مطابق جدول زیر است مقدار خطای معیار چگالی را بدست آورید جواب: با توجه به رابطه رالا داریم: چگالی فلز برابر است با: پس: تفاوتهای بین درستی و دقت: درست: مقدار بدست آمده نزدیک به مقدار واقعی است ولی مقدار خطا می تواند هر مقداری باشد.
دقیق: مقدار بدست آمده خطای کوچکی دارد، ولی بدین معنی که مقدار بدست آمده نزدیک به مقدار واقعی باشد نیست.
هم درست و هم دقیق:مقدار بدست آمده نزدیک به مقدار واقعی و با خطای کوچک است.
نتایج بدست آمده از آزمایش خوب است جزء این دسته باشد 6- مقدار میانگین: فرض کنید زمان سقوط یک جسم را برای جندین بار اندازه گیری می نمائیم مقادیر بدست آمده نخواهد بود.بهترین کاری که برای یافتن یک تک مقدار برای این زمان سقوط بدست آوریم، مقدار متوسط این اندازه گیریه می باشد.
1-6) مقدار میانگین درصورتیکه خطاهای اندازه گیریها یکسان باشد: اگر اندازه گیریxi به تعدادn مرتبه انجام گیرد،میانگین آن برابر است با: و مقدار خطای مقدار میانگین برابراست با: مثال: در آزمایشی8 اندازه گیری پیاپی از سرعت انتشار صوت در هوا انجام شده است مطلوب است میانگین و خطای مقدار میانگین اندازه گیریها؟
اعداد اندازه گیری: 7/342 ،3/340، 5/338، 1/341، 5/345، 2/342، 4/342، 5/341 جواب: مقدار میانگین در صورتیکه هر اندازه گیری دارای خطای مخصوص به خود باشد: اگر نتایج حاصل از اندازه گیری کمیتی به صورت: و خطای این اندازه گیریها برابر با: باشد در این صورت مقدار میانگین و خطای مقدار میانگین از روابط زیر بدست می آیند: 7- واریانس و انحراف معیار: اگر مربع انحرافات مقادیر از مقدار میانگین را محاسبه و حاصل جمع این مجذورات را بر تعداد کل داده ها تقسیم کنیم، نتیجه را واریانس گویند: به di که تفاوت بین داده iام و مقدار میانگین را نشان می دهد، انحراف گفته می شود جذر واریانس را انحراف معیار گویند: انحراف معیار مقداری است که مشخصه پهن شدگی داده ها را نشان می دهد و برای مجموعه ای از اندازه گیریهای پیاپی یک کمیت بدون توجه به تعداد اندازه گیریهای انجام شده، تقریبا ثابت است رابطه انحراف از معیار و خطا در مقدار میانگین: اگر انحراف معیار را با و خطا در مقدار میانگین را با نشان دهیم داریم: توچه: اگر خواهان کم کردن خطا در مقدار واقعی یک کمیت هستیم، باید چندین اندازه گیری پیا پی از آن انجام دهیم.
با توجه به رابطه برای کم کردن خطا با مضرب2 باید تعداد اندازه گیریها با مضرب4 افزایش یابد.
مثال: مجموعه اعداد بدست آمده از آزمایشی بصورت زیر است: 9/22 ،6/26 ،0/24 ،8/26 ،0/27 ،7/22 ،3/23 ،+2/25 مطلوبست مقادیر میانگین، انحراف معیار، خطا در مقدار میانگین و بهترین مقدار این کمیت؟
8- ویژگیهای توزیع بهنجار: این نمودار زنگوله ای شکل با نکی واقع در می باشد و نمودار حول مقدار متقارن است، این مشخصه توزیع بهنجار می باشد واقع شدن 70% کل سطح زیر نمودار بین تا حاکی از آن است 70% دادها بین تا قرار دارند بعلاوه 95% دادها بین تا قرار می گیرد برازش دادها مقدمه: در بسیار از مواقع به ازای اعداد مقادیر متناظر را بدست می آوریم.
حال با رسم این نقاط در یک دستگاه مختصات به دنبال نموداری می گردیم که از نقاط فوق عبور نماید و در عین حال شکل تابع y بر حسبx را به ما بدهد تا رابطه فیزیکی بین دو کمیت x وy بدست آید.
بدین منظور از روش حداقل مربعات مانده ها استفاده می کنیم.
1) برازش خطی دادها: اگر بین دادهای x و y رابطه خطی بر قرار باشد، هدف پیدا کردن بهترین خطی است که از داده های فوق عبور نماید اگر این خط را بصورت y=ax+b در نظر بگیریم باید مقادیر a وb را بدست آوریم که برای این منظور از روش حداقل مربعات ماندها استفاده می کنیم.
فرض کنید رسم دادها مطابق شکل مقابل باشد و بهترین خط گذرنده نیز خطی می باشد که رسم شده است اگر به نقطه به مختصات دقت کنیم،این نقطه به اندازه از خط رسم شده خطا دارد به مقدار این خطا مانده می گوییم مقدار مانده برای نقطه i ام برابر است با: و مجموع مربعات مانده ها برابر است با: بهترین خط زمانی بدست می آید که این عبارت مینیمم شود.بدین منظور از عبارت فوق بر حسبa وb مشتق گرفته مساوی با صفر قرار می دهیم: مشتق نسبت بهa : مشتق نسبت بهb : از ترکیب معدلات فوق مقادیر a وb به صورت زیر بدست می آید: خطای مقادیرa وb : برای محاسبه و سه فرض زیر را در نظر می گیریم: به ازاء هر مقدارx مقدارy مربوطه خطایی بخصوص دارد خطا در هر مقدار y باعث ایجاد خطایی در نقادیر a وb می شود اگر مقادیر خطا در مقادیر y مستقل از یکدیگر باشند، داریم: که مقادیر خطا در مقادیر مشاهده ای هستند اگر مقادیر خطا در y مساوی هم باشند با قرار دادن بجای بدست می آید: و با انجام مقداری عملیات ریاضی به روابط زیر می رسیم: که در این روابط مقدار خطا در هر کمیتy دادها می باشد و از رابطه زیر بدست می آید: کمیتی که نشان می دهد نقاط برازش شده با یکدیگر ارتباط خطی دارند، ضریب همبستگی می باشد این ضریب همبستگی بین a وb نشان می دهد که عددی است بین صفر و یک، هر قدر این عدد به یک نزدیکتر باشد دادها برای برازش خطی مناسب می باشند و در عیر این صورت دادها برای برازش خطی مناسب نمی باشند ضریب همبستگی برابر است با: مثال: در آزمایشی برای مطالعه رفتار یک دیود در مقابل کاهش دما، ولتاژ دو سر دیود به ضورت تابعی از دما اندازه گیری شده است و مقادیر زیر بدست آمده است: دما(بر حسب کلوین): 300،290،280،270،260،250،240،230 ولتاژ(برحسب ولت): 748/0 ، 735/0 ،705/0 ،695/0 ،678/0 ،670/0 ،653/0 ،630/0 مطلوب است برازش بهترین خط گذرنده از این دادهها؟
مقادیر a وb و خطای هریک برابر است با: ضریب همبستگی برابر است با: که نشان می دهد نقاط فوق برای برازش خطی بسیار مناسب می باشند 2) برازش خطی برحسب گرانی داده ها: زمانی که مقدار خطا از نقطه ای به نقطه دیگر تغییر می کند، می بایستی هر یک از مقادیر خطا بصورت در محاسبات وارد گردد.
در این شرایط با تعریف بصورت : خواهیم داشت: 3) روش خطی کردن با تغییر متغیر: در بعضی مواقع رابطه ما بصورت خطی نمی باشد اما انجام بعضی اعمال ریاضی قادریم آن را بصورت خطی تبدیل کنیم.
مثلاُ رابطه به شکل را در نظر بگیرید این رابطه بین x وy بصورت نمایی می باشد اما می توان با گرفتن لگاریتم از طرفین، آنرا بصورت خطی در آورد: مثال: دادهای مربوط به ولتاژ دو سر خازن در حال خالی شدن در یک مقاومت مطابق جدول زیر است با توجه به رابطه بین ولتاژ دو سر خازن و زمان که در این رابطه ثابت زمانی خالی شدن خازن می باشد.مطلوب است برازش خط گذرنده از دادها؟
جواب: برای تغییر شکل معادله از طرفین آن لگاریتم می گیریم: بر حسب t یک خط راست با شیب و عرض از مبداء می باشد پس محورyها ، و محورxها، t می باشد و با در نظر گرفتن مقدار خطایV، مقدار خطای را بصورت زیر بدست می اوریم: حال با تشکیل جدول می توانیم برازش را انجام دهیم: مقادیر شیبa و عرضb از مبداء : 4) برازش چند جمله ای : اگر تابع چند جمله ای باشد، باز هم همانند تابع درجه اول محاسبات را انجام می دهیم.در این حال اگر تابع چند جمله ای به شکل: و N تعداد نقاط مجموع مربعات مانده ها برابر است با: که با مشتق گیری نسبت به و مساوی صفر قرار دادن معادلات نرمال بدست می آید و از حل آنها می توان مقادیر را بدست آورد.
این محاسبات را ما برای تابع درجه دوم انجام می دهیم: شرط مینیم مساوی صفر قرار دادن مشتقات می باشد: که با حل این معادلات می توان مقادیر را بدست آورد.
خطای ضرایب: اگر دترمینان ضرایب معادلات نرمال را با و دترمینان با حذف سطر و ستون باشد خطای برابر است با: 5) برازش دادها بوسیله نرم افزار Excel: در بخشهای قبل روش برازش دادها بررسی شد.با توجه به انجام محاسبات زیاد مخصوصاُ اگر تعداد دادها زیاد باشد، برازش بسیار وقت گیر می باشد.در این بخش روش برازش دادها را با نرم افزارExcel بررسی می کنیم.خواهیر دید که با استفاده از این برم افزار می توان در مدت کمتر از یک دقیقه دادهها را بزازش نمود.
برای انجام برازش دادها با نرم افزارExcel مراحل زیر را دنبال می کنیم: از گزینه start وارد programs و سپس روی Microsoft Excel کلیک می کنیم.
دادهای x را در ستون اول و دادهای y را در ستون دوم وارد می کنیم.
به کمک کلیدshift و جهتنما و یا موس دادها را انتخاب می نماییم (بصورت رنگی در می آیند) از گزینهInsert روی منوی Chart کلیک می کنیم.
از پنجره باز شده از قسمتstandard types نوع xy(scatter) را انتخاب و در سمت دیگر پنجره نمایش نقاط را انتخاب می کنیم و سپس Finish را می زنیم.
حال نقاط ما در یک نمودار نمایش داده می شوند.
اکنون روی یکی از نقاط راست کلیک کرده و گزینهAdd Trendline را انتخاب می کنیم در پنجره باز شده از سربرگType نوع Linear (خطی) را انتخاب و از سربرگ options دو گزینه آخر Display equation on chart و Display R-squared value on chart را تیک می زنیم و سپس کلید اینتر می زنیم بدین ترتیب دادها روی یک خط برازش شده و معادله خط بهمراه ضریب همبستگی نمایش داده می شود.
در این برازش باید نکات زیر را مورد توجه قرار داد: الف) در اینجا خطای دادها در نظر گرفته نمی شود ب) اگر نمودار بخواهد از مبداء عبور کند، کافی است در قسمت 7 علاوه بر تیک زدن بر آن دو گزینه، روی گزینه set intercept نیز، تیک زده شود ج) برای برازش چند جمله ای کافی است در قسمت 7 از سربرگ Type نوع polynormial و سپس در جلوی آن درجه چند جمله ای را مشخص نماییم.
د) برای برازشهای لگاریتمی و نمایی نیز از قسمت 7 کافی است که توع آنها را انیخاب نماییم 6) برازش دادها بوسیله نرم افزار Mathematica : با استفاده از نرم افزار Mathematica نیز می توان دادها را برازش نمود.این نرم افزار نیز با استفاده از روش کمترین مربعات که در قسمتهای قبل بحث شد بهترین مقادیر را پیدا می کند در این نرم افزار دستور زیر برای تعیین یک چند جمله ای درجه K ام می توانیم استفاده می نمائیم: بعد از وارد نمودن دستور فوق کلید شیفت و اینتر را با هم می زنیم .
اگر بخواهیم تابع برازش شده مثلا توان 2 را نداشته باشد کافی است در دستورFit ، مقدار را برداریم.
7) برازش دادها بوسیله نرم افزارOrigin : داه ه ها را با استفاده از نرم افزار Origin نیز می توان برازش نمود این نرم افزار قادر به برازش خطی، چند جمله ای و به همراه خطای ضرایب و مقدار ضریب همبستگی و انحراف معیار برازش می باشد.
برای برازش خطی مراحل زیر را انجام می دهیم: 1ز گزینه start وارد programs و سپس روی Microsoft Origin کلیک می کنیم.
به کمک کلیدshift و جهتنما و یا موس دادها را انتخاب می نماییم (بصورت رنگی در می آیند) از گزینهTools روی منوی linerfit کلیک می کنیم.
از پنجره باز شده اگر برازش بخواهد از مبداء عبور نماید گزینه Through zero را انتخاب و سپس رویFit کلیک می نمایم.
اکنون تابع برازش شده به همراه مقادیرa وb به همراه خطا و ضریب همبستگی(R) و انحراف معیار(SD) واحتمالی صفر بودن R (P) نمایش داده می شود.
دقت شود که تابع بصورت: y=a+bx یعنی a ضریب ثابت وb ضریب x می باشد.
برای برازش چند جمله ای فقط کافی است در قسمت 4 از گزینهTools روی منوی polynomial fit کلیک می کنیم.
در این برازش نیز مقادیر و ضریب همبستگی(R) و مربع ضریب همبستگی و انحراف معیار(SD) و واحتمالی صفر بودن R (P) بدست می آید.
8) برازش دادها بوسیله برنامه نویسی فرترن: با استفاده از برنامه نویسی نیز می توان دادها را برازش نمود.این زوش مزیتهایی بر استفاده از نرم افزارها دارد زیرا مقادیر خطاها را نیز به ما می دهد و بعلاوه به راحتی می توانیم از سابرتین ها استفاده نمائیم.
مثلا در استفاده از نرم افزار Mathematica اگر تعداد دادها زیاد باشد زمان نسبتا طولانی را برای وارد کردن دادها می طلبد.
برازش با استفاده از سابرتینFit : ورودیهای برنامه مقادیر a وb و خطا می باشد می باشد یک نمونه از این برنامه بصورت زیر می باشد، که باید سابرتینFit را به آخر آن اضافه کرد، NPT مساوی با تعداد دادها است : PROGRAM xfit PARAMETER(NPT=4) INTEGER i,mwt REAL a,b,chi2,q,siga,sigb,sig(NPT),x(NPT),y(NPT) OPEN (3, FILE = 'DATA3.TXT') do 10 i=1,NPT read(3,*) x(i),y(i),sig(i) x(i),y(i),sig(i) write(*,*) 10 continue do 12 mwt=0,1 call fit(x,y,NPT,sig,mwt,a,b,siga,sigb,chi2,q) if (mwt.eq.0) then write(*,'(//1x,a)') 'Ignoring standard deviation' else write(*,'(//1x,a)') 'Including standard deviation' endif write(*,'(1x,t5,a,f9.6,t24,a,f9.6)') 'A = ',a,'Uncertainty: ', * siga write(*,'(1x,t5,a,f9.6,t24,a,f9.6)') 'B = ',b,'Uncertainty: ', * sigb write(*,'(1x,t5,a,4x,f10.6)') 'Chi-squared: ',chi2 write(*,'(1x,t5,a,f10.6)') 'Goodness-of-fit: ',q 12 continue END فصل سوم روش مونت کارلو 3-1) اعداد تصادفی : در روش مونت کارلو از اعداد تصادفی استفاده می کنیم .اعداد تصادفی تولید شده در بازه [0, 1] می باشند این اعداد را می توان در زبان برنامه نویسی فرترن با نوشتن rand( ) تولید کرد در داخل پرانتز هسته اعداد می باشد(iseed) که هسته را در ابتدای برنامه بوسیله دستور زیر معرفی می کنیم : parameter(iseed=123456789) هسته اعداد رندم باید عددی بین صفر و2147483646 باشد.
سپس نوع برنامه ای که اعداد رندم را تولید می کند فراخان می کنیم: Call srand(iseed) اگر بخواهیم بازه اعداد رندم تولید شده را به بازهa وb منتقل نماییم از فرمول زیر استفاده می نماییم: Y=a+ (b-a)* rand مثلا می خواهیم بازه [1,-1] را بازه [1,71] منتقل نماییم: ixx=1+(70*rand()) با این عمل عدد رندم تولید شده بین [1,71] می باشد.
خصوصیات اعداد تصادفی: پریود اعداد تصادفی باید از تعداد اعداد تصادفی تولید شده در محاسبه بیشتر باشد.
2- اعداد تصادفی تولید شده باید دارای توزیع یکنواخت باشند بدین معنی که اگر اعداد تصادفی تولید شده را برحسب فراوانی رسم کنیم توزیع آنها یکنواخت باشد.
3-2) روش مونت کارلو روش مونت کارلو در واقع یک روش حل عددی مسائل مختلف به کمک نمونهبرداری تصادفی است.
اگرچه روش مونت کارلو از نظر اصولی یک روش کارآمد به حساب میآید ولی در عمل، محاسبات وقتگیر آن مانع از کار در این زمینه میشد.
تا اینکه در دهه اخیر با روی کار آمدن کامپیوترهای پرقدرت این مشکل نیز حل شد.
و امروزه روش مونت کارلو یکی از عمومیترین روشهای حل مسائل میباشد.
بطور کلی از روش مونت کارلو در حل دو نوع مسئله میتوان استفاده کرد: 1ـ مسائلی که اصولاً در آنها یک واقعه تصادفی رخ نمیدهد ولی آنها را میتوان به صورت یک حالت تصادفی مطرح کرده و مورد برررسی قرار دهیم.
که به دو قسمت تقسیم می شود: الف ـ روش نمونه گیری Monte Carlo Sampling method ب ـ روش مقدار میانگین Monte Carlo Mean-value method 2ـ مسائلی که به نوعی با تصادف سر و کار دارند.
الف ـ روش نمونه گیری اگر بخواهیم انتگرال محاسبه نماییم مراحل زیر را انجام می دهیم: مقدارماکزیمم تابع را بدست می آوریم یک عداد تصادفی در بازه a وb تولید کرده و مقدار تابع را برای آن حساب می نمایم(f) یک عدد تصادفی دیگر در بازه صفر و تولید می نماییم اگر این عدد کمتر ازf (که در قسمت2 بدست آمده بود) باشد این نقطه زیر منحنی(n) و در غیر اینصورت خارج منحنی می باشد این روند را 100000 بار تکرار می کنیم مقدار انتگرال برابر است با: با استفاده از همین روش میتوان حجم یا مساحت اشکال مختلف را محاسبه کرد.
مثال :مطلوب است محاسبه عدد : برای این کار میدانیم که مساحت دایرهای به شعاع واحد برابر است با: بنابراین مقدار عدد با بدست آوردن مساحت این دایره بدست میآید بنابراین مرکز دایره را مبداء گرفته و مربع محیط بر آن را رسم میکنیم مطابق شکل زیر: برنامه محابسه عدد پی: parameter(iseed=123456789) call srand(iseed) write(*,*) "ndata" read(*,*) ndata do i=1,ndata x=rand() y=sqrt(1-x**2) r=rand() m=m+1 if(r.le.y) l=l+1 enddo p=(4*l)/m write(*,*) 'P=',P end مثال: مرکز جرم مخروط ناقص به ارتفاع h و شعاعهای قاعدهR1 وR2 را بدستآورید: می دانیم مرکز جرم با توجه به تقارون در راستای Z از رابطه زیر بدست می آید: که r خود تابعی از z می باشد بصورت زیر: بنابراین یک عدد تصادفی بین صفر وh تولید کرده و در تابع قرار می دهیم و مقدار تابع را به ازای آن حساب می کنیم.
سپس عدد تصادفی دیگری بین صفر و fmax تولید کرده و با مقدار تابع در مرحله قبل مقایسه می کنیم اگر کوچکتر بود زیر تابع و اگر بزرگتر بود خارج تابع می باشد و از فرمول قبل مقدار انتگرال را بدست می آوریم.
مثال: محاسبه حجم کره به شعاع R روش اول یک هشتم از کره را در نظر می گیریم وعدد رندم را بین صفر و R تولید می کنیم write(*,*) "R=","ndata=" read(*,*) R,ndata n=0 b=0 do i=1,ndata n=n+1 x=R*rand() y=R*rand() z=R*rand() if((x**2+y**2+z**2).LE.R**2) b=b+1 enddo V=8*(b/n)*R**3 write(*,*) "V",V end روش دوم: کل کره را در نظر می گیریم و عدد رندم را بین[-r,r] تولید می کنیم write(*,*) "R=","ndata=" read(*,*) R,ndata n=0 b=0 do i=1,ndata n=n+1 x=-R+(2*R*rand()) y=-R+(2*R*rand()) z=-R+(2*R*rand()) if((x**2+y**2+z**2).LE.R**2) b=b+1 enddo V=(b/n)*8*R**3 write(*,*) "V",V end روش سوم:بصورت انتگرال دوگانه حل کنیم یعنی: parameter(iseed=123456789) call srand(iseed) write(*,*) "R=","ndata=" read(*,*) R,ndata n=0 b=0 do i=1,ndata n=n+1 x=R*rand() y=sqrt(ABS(R**2-x**2))*rand() Z=sqrt(ABS(R**2-x**2-y**2)) F=F+Z enddo V=8*(F/n)*R**2 write(*,*) "V",V end مثال: مطلوب است محاسبه انتگرال دوگانه در بازه parameter(iseed=123456789) call srand(iseed) write(*,*) "ndata" read (*,*) ndata s=0 M=0 do i=1,ndata x=0.5+0.5*rand() y=(2*x-1)*rand() f=x**2+y**2 s=s+f m=m+1 enddo S=s/m write(*,*) 'S=',S end مثال: مطلوب است حجم و مرکز جرم ناحیه محصور بین استوانه سهموی و صفحاتx=0,y=0,y=6,z=0 parameter(iseed=123456789) call srand(iseed) write(*,*)'ndata' read(*,*) ndata s=0 n=0 do i=1,ndata x=2*rand() a=4-x**2 s=s+a n=n+1 enddo s=(s/n)*12 write(*,*) "S=",S end مثال: طلوب است محاسبه حجم چنبره به معادله زیر حل: ب ـ روش مقدار میانگین: اگر بخواهیم انتگرال تابع را بدست آوریم با توجه به شکل می توانیم بازه انتگرال گیری را به بازه های کوچک تقسیم کنیم: بنابر این می توانیم بنویسیم: وخطای آماری برابر است با: برای حالت دو بعدی نیز می توان نوشت: برنامه کامپیوتری برای محاسبه انتگرال به روش مقدار میانگین: implicit real*8(a-h,o-z) parameter(a=0.d0, b=1.d0) parameter(Ncycle=10000, Nprint=Ncycle/10) parameter(iseed=1234567) c **** set counters fav = 0.0d0 f2av = 0.0d0 call srand(iseed) c *** Start MC cycle (assuming rand() returns random real*1 from 0 to 1) do icycle = 1, Ncycle fx = f( a+rand()*(b-a) ) fav = fav + fx f2av= f2av + fx*fx c **** print out the running average if(mod(icycle,Nprint).eq.1) then frunav = fav / icycle f2runav = f2av / icycle f2runav = sqrt((f2runav-frunav*frunav)/icycle) write(6,2) icycle, frunav*(b-a), f2runav*(b-a) 2 format(1x,i8, "cycles Integral = ",e12.5," +/- ", e12.5) endif enddo c *** Get the average and the standard deviation fav = fav / Ncycle f2av = f2av / Ncycle f2av = sqrt((f2av-fav*fav)/Ncycle) c *** Write out the result write(6,1) Ncycle, fav*(b-a), f2av*(b-a) 1 format(1x,i8, "cycles Integral = ",e12.5," +/- ", e12.5) end c **** Function we integrating real*8 function f(x) real*8 x f=x*x return end 3-3) روش مونت کارلو در مکانیک آماری فرض کنید بخواهیم تابع پارش برای سیستمی را بدست آورریم تابع پارش (افراز) کلاسیکی برای یک گاز A اتمی که در یک دما بوسیله پتانسیل وابسته به اختلاف فاصله دو ذره بر همکنش میکنند بصورت زیر میباشد.
که مقدار برابر1ـ(kT) بوده که k ثابت بولتزمن وT دما و V پتانسیل بین ذره i و j میباشد.
برای محاسبه تابع پارش برای یک شبکه 32*32 تعداد کل پیکربندیها برابر است با: در صورتی که کامپیوتر دارای سرعت3 گیگابات در ثانیه باشد مدت زمانی که این عملیات طول می کشد برابر است با: پس تقریبا نیاز به 283 10 سال زمان داریم .
روش مونت کارلو یکی از کارآمدترین تکنیکها برای محاسبه این نوع مسائل میباشد مسیر یک سیستم عبارت از توالی پیکربندیهای مختلف آن سیستم میباشد.
در چنین سیستمهایی اگر شرایط مرزی و برهمکنشهای بین ذرهای در آن به شکل درستی به کار گرفته شود میتوان مسیر حرکت سیستم را پیگیری کرد.
و بررسی آماری این مسیر پیشگوییهای درستی از این مجموعه را میدهد و از این مسیر برای شبیهسازی مجموعه واقعی از ذرات استفاده میشود 3-3-1) شرایط تعادل سیستم: اگر احتمال بودن در پیکربندی A در زمانt و احتمال انتقال رفتن سیستم از A بهB تعریف کنیم در حالت تعادل داریم: اگر تابع توزیع تابع بولتزمن باشد داریم: 3-3-2) الگوریتم متروپولیس: با توجه به جزئیات تعادل داریم: بنابراین داریم: پس اگر پیکربندی سیستم طوری تغییر نمایید که انرژی پیکربندی جدید کمتر باشد این حرکت حتما انجام می شود و اگر انرژی پیکربندی جدید بالاتر باشد رفتن سیستم به این پیکربندی با احتمال نمایی می باشد بنابراین در این الگوریتم بدین صورت عمل می نماییم 3-4) مدل آیزینگ اگر سیستمی که شامل N اسپین است را بر روی یک شبکه همانند شکل زیر در نظر بگیریم و سپس یک میدان مغناطیسی، H، به آن اعمال کنیم آنگاه انرژی این سیستم را در حالت خاص میتوان از رابطه زیر بدست آورد.
(انرژی ناشی از برهمکنش بین اسپینها) که در این رابطه و گشتاور مغناطیسی میباشد.
برای انرژی برهمکنش مدل ساده زیر را میتوان در نظر گرفت: که در این رابطه J ثابت جفتشدگی میباشد و مجموعه پریمدار بر روی زوجهای نزدیکترین همسایه اسپینها گسترش پیدا میکند.
سیستم اسپین که با یک چنین انرژی برهمکنش بیان شود را مدل آیزینگ گویند.
درمدل آیزینگ در شرایطی که J>0 باشد اسپینها میل به همخط شدن دارند.
بنابراین در دماهای کاملاً پایین، این هم خط شدن به یک پدیده همیاری، به نام مغناطش خود به خودی منجر میشود.
یعنی از طریق برهمکنشهای بین نزدیکترین همسایهها، یک گشتاور مغناطیسی معین میتواند همخطی اسپینهایی را که از اسپین معلومی با یک فاصله ماکروسکوپیکی جدا شدهاند، تحت تأثیر قرار دهد.
این همبستگیهای بلندبرد بین اسپینها با یک نظم بلندبرد همراهند که در آن، شبکه، حتی در غیاب میدان مغناطیسی، دارای مغناطش خالص است.
مغناطش، ، در غیاب میدان مغناطیس خارجی را مغناطش خودبخودی میگویند.
تا زمانی که دما به اندازه کافی پایین (یا J به اندازه کافی بزرگ باشد) هیچ مغناطش خالصی وجود نخواهد داشت.
بالاترین دمایی که به ازای آن مغناطش غیرصفر میتواند وجود داشته باشد را با TC (دمای کوری یا دمای بحرانی) نشان میدهیم.
بنابراین منحنی نظیر شکل زیر خواهیم داشت.
شکل: مغناطش خودبخودی 3-4-1) شبکه گازی شبکه در نظر گرفته شده برای مدل آیزینگ را به یاختههایی تقسیم میکنیم.
و عدد اشغال برای i امین یاخته را با ni نشان میدهیم هر یاخته میتواند توسط یک ذره اشغال شده و یا اشغال نشده باشد.
یاخته اشغال نشده ni=0 یاخته اشتغال شده ni=1 اگر اسپین بالا و پایین در مدل آیزینک را به ترتیب متناظر با یاخته اشغال شده و یاخته اشغال نشده در نظر بگریم خواهیم داشت: Si=2ni-1 مدل آیزینگ با این تغییر را شبکه گازی گویند.مقدار انرژی آزاد را می توان از رابطه زیر بدست آورد: که در این رابطه K ثابت بولتزمن و T دمای کلوین وZ تابع پارش می باشد.
مقدار خطای اندازه گیری هر کمیت را می توانیم از رابطه زیر بدست آوریم: 3-4-2) روش مونت کارلو برای مدل آیزینگ: برای نوشتن برنامه کامپیوتری برای مدل آیزینگ مراحا زیر را انجام می دهیم: