به نظر میرسه معادلهای که شما مدنظرتون هست (Z=aX[sup]b[/sup]+cY[sup]d[/sup]) دارای پارامترهای زیادی هست و به مجموعهای از رویهها اشاره می کنه. برای نمونه اگر b=d=۱ باشد معادله موردنظر تبدیل به معادله یک صفحه میشود و اگر b=d=۲ باشد معادله یک رویه سهمیگون میشود که در صورت هم علامت بودن ضرایب a و c از نوع بیضیگون (شبیه جام یا فنجان) خواهد شد و در صورتی که که ضرایب a و c هم علامت نباشد از نوع هذلولی (شبیه زین اسب) خواهد شد. اگر قرار باشد توان های دیگری هم برای b و d در نظر بگیریم رویههای دیگری حاصل خواهد شد.
در نتیجه همانطور که در فضای دو بعدی هم در همان ابتدا مشخص می کنند که قرار است یک معادله درجه دوم یا سوم یا هر توان دیگری به دادهها برازش داده شود٬ در اینجا هم در ابتدای برنامه میبایست مشخص کنید که چه نوع رویهای قرار است به دادهها برازش داده شود (توانهای b و d مشخص شوند).
در مرحله دوم فاصله عمودی یکی از نقاط از رویه را با ضرایب فرضی که برای a و c در نظر می گیرید حساب می کنید. سپس این عبارت را داخل یک حلقه قرار میدهید طوری که فاصله دیگر نقاط هم از رویه موردنظر با استفاده از این ضرایب فرضی محاسبه شوند.
وقتی فاصله نقاط از رویه با ضرایب فرضی مشخص شد٬ تک تک فاصله ها را به توان ۲ میرسانید و سپس از مجموع آنها ریشه میگیرید. اسم این پارامتر را R می گذارید که بیانگر ریشه مجموع مربعات فاصله نقاط از رویه موردنظر است.
در مرحله بعد میبایست تا حد امکان این پارامتر R را به حداقل برسانید. برای این کار عبارتهای مرحله قبل را داخل یک حلقه بزرگتر میگذارید و در ابتدای حلقه ضرایب فرضی مربوط به a و c را تغییر میدهید و R جدید را محاسبه میکنید. این کار را میبایست آنقدر و به گونهای تکرار کنید که R حداقل شود و در این صورت ضرایب a و c به دست آمده بیانگر رویه برازش داده مناسب هستند.
به نظرم بهتر است ابتدا این کار را برای یک صفحه انجام دهید (چون معادلههای مربوط به محاسبه فاصله نقطه از رویه صفحه به نسبت آسان هستند). و در مرحله بعد این قسمتهای برنامه را توسعه بدهید به شکلی که اگر معادلات با توانهای بالاتر هم توسط کاربر تعیین شدند بتوانند این فاصله ها را محاسبه و ریشه مجموع مربعات آنها را به حداقل برساند تا معادله رویه برازش یافته نهایی مشخص شود.
پینوشت: گرفتن ریشه در مرحلهای که مجموع مربعات فاصلهها را حساب می کنید اختیاری است. به عبارتی شما میتوانید به جای اینکه R را به حداقل برسانید R[sup]۲[/sup] را به حداقل برسانید. همینطور برای اینکه محاسبات کمتر شود در حالت دو بعدی گاهی به جای اینکه سریعتر به جواب برسند به جای اینکه فاصله عمود بر منحنی را حساب کنند فقط اختلاف بین y های هر نقطه را از منحنی حساب می کنند و سپس مجموع مربعهای آنها را به حداقل می رسانند که در مورد رویهها تا حدی میشود این سادهسازی را به کار گرفت و مثلا اختلاف z هر نقطه با رویه به ازای x و y نقطه موردنظر حساب شود. البته در مورد رویه به نظر می رسد این کار خیلی تقریبی شود ولی به هر حال کار را خیلی راحت خواهد کرد. طبیعی است هر چه تعداد دادهها زیاد باشد نتیجه نهایی این دو روش دقیق و تقریبی به هم نزدیک شود.
در نتیجه همانطور که در فضای دو بعدی هم در همان ابتدا مشخص می کنند که قرار است یک معادله درجه دوم یا سوم یا هر توان دیگری به دادهها برازش داده شود٬ در اینجا هم در ابتدای برنامه میبایست مشخص کنید که چه نوع رویهای قرار است به دادهها برازش داده شود (توانهای b و d مشخص شوند).
در مرحله دوم فاصله عمودی یکی از نقاط از رویه را با ضرایب فرضی که برای a و c در نظر می گیرید حساب می کنید. سپس این عبارت را داخل یک حلقه قرار میدهید طوری که فاصله دیگر نقاط هم از رویه موردنظر با استفاده از این ضرایب فرضی محاسبه شوند.
وقتی فاصله نقاط از رویه با ضرایب فرضی مشخص شد٬ تک تک فاصله ها را به توان ۲ میرسانید و سپس از مجموع آنها ریشه میگیرید. اسم این پارامتر را R می گذارید که بیانگر ریشه مجموع مربعات فاصله نقاط از رویه موردنظر است.
در مرحله بعد میبایست تا حد امکان این پارامتر R را به حداقل برسانید. برای این کار عبارتهای مرحله قبل را داخل یک حلقه بزرگتر میگذارید و در ابتدای حلقه ضرایب فرضی مربوط به a و c را تغییر میدهید و R جدید را محاسبه میکنید. این کار را میبایست آنقدر و به گونهای تکرار کنید که R حداقل شود و در این صورت ضرایب a و c به دست آمده بیانگر رویه برازش داده مناسب هستند.
به نظرم بهتر است ابتدا این کار را برای یک صفحه انجام دهید (چون معادلههای مربوط به محاسبه فاصله نقطه از رویه صفحه به نسبت آسان هستند). و در مرحله بعد این قسمتهای برنامه را توسعه بدهید به شکلی که اگر معادلات با توانهای بالاتر هم توسط کاربر تعیین شدند بتوانند این فاصله ها را محاسبه و ریشه مجموع مربعات آنها را به حداقل برساند تا معادله رویه برازش یافته نهایی مشخص شود.
پینوشت: گرفتن ریشه در مرحلهای که مجموع مربعات فاصلهها را حساب می کنید اختیاری است. به عبارتی شما میتوانید به جای اینکه R را به حداقل برسانید R[sup]۲[/sup] را به حداقل برسانید. همینطور برای اینکه محاسبات کمتر شود در حالت دو بعدی گاهی به جای اینکه سریعتر به جواب برسند به جای اینکه فاصله عمود بر منحنی را حساب کنند فقط اختلاف بین y های هر نقطه را از منحنی حساب می کنند و سپس مجموع مربعهای آنها را به حداقل می رسانند که در مورد رویهها تا حدی میشود این سادهسازی را به کار گرفت و مثلا اختلاف z هر نقطه با رویه به ازای x و y نقطه موردنظر حساب شود. البته در مورد رویه به نظر می رسد این کار خیلی تقریبی شود ولی به هر حال کار را خیلی راحت خواهد کرد. طبیعی است هر چه تعداد دادهها زیاد باشد نتیجه نهایی این دو روش دقیق و تقریبی به هم نزدیک شود.
ای دگرگون کننده ی دل ها و چشم ها / ای گرداننده ی روزها و شب ها / ای تغییر دهنده ی روزگار و انسان ها / حال ما را به بهترین حال دگرگون فرما
.We are all visitors to this time, this place. We are just passing through. Our purpose here is to observe, to learn, to grow, to love... and then we return home
Aboriginal Proverb -