درون یابی اعداد به ساده ترین روش ممکن

sma519

عضو جدید
درون یابی اعداد به ساده ترین روش ممکن



با سلام به حضور تمامی دوستان ارجمند . :)
در پاره ای مواقع پیش می آید که نمو دو ردیف داده باهم یکسان نیست و عمل درون یابی را با روش تناسب متعارف نمی توان انجام داد که در آن شرایط روش زیر می تواند کارساز باشد :
به عنوان مثال جدول زیر را در نظر بگیرید :







ملاحظه می شود که به ازای هر X واقع در ردیف بالا یک f در ردیف پایین موجود است . اما X هایی در میان X های موجود هم هستند که f مخصوص خود را دارند و برای یافتن آنها باید عمل درون یابی صورت پذیرد .
برای تشریح روش کار ، به عنوام مثال f مربوط به X = 1.2 را می یابیم . یعنی : f (1.2) = ?

شروع کار :
میدانیم که f مورد نظر مابین دو عدد 15.8 و 8 ، همچنین X مورد نظر مابین دو عدد 1.5 و 1.0 واقع شده اند .
با جواب فقط کمتر از نیم خط فاصله داریم :





پس : f (1.2) = 11.12
به همین راحتی تمام شد .

توضیح :
صورت کسر = تفاضل fهای بزرگتر و کوچکتر از f مورد نظر .
مخرج کسر = تفاضل X های بزرگتر و کوچکتر از X مورد نظر .
0.2 = تفاضل X مورد نظر و X کوچکتر .
8 = f کوچکتر .
لازم به ذکر است که تنها در توابع خطی کاربرد دارد .
امیدوارم مفید واقع شود . ;):gol:
 
آخرین ویرایش:

mmbidhendi

مدیر بازنشسته
کاربر ممتاز
خوب ، من هم یک روش ساده تر میگم خدمت دوستان ، برای استفاده ماشین حساب 4500 خود را در حالت Mode 2 LR قرار دهید ...
Shift+Ac را بزنید تا مموری موقت پاک بشه
X1 و Y1 رو با استفاده از علامت " , " کنید و دکمه +M رو فشار بدید ..
بعد از ورود تمام Data ها با همین فرمت ، X مورد نظری که Y متناظر اون رو میخواد وارد کنید ، سپس دکمه 2ndF و " , " رو با هم فشار دهید و Exe . درون یابی یا برون یابی ، انجام شد :)
 

mmbidhendi

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

sma519

عضو جدید
روشی که ماشین حساب عمل میکنه یک روش کلیه که تمامی توابع رو در بر میگیره ( خطی ، غیر خطی و ... ) . فکر میکنم همانند روشهایی چون لاگرانژ ، قاعده نویل و امثال اون باشه . ( اگه اشتباه نکرده باشم ) .
اما اینی که من نوشتم تنها برای توابع خطیه که نیاز به نرم افزار نداره و در محاسبات دستی بهتر از هیچیه .
مثلا" من خودم در محاسبه تغییرات تنش در نشست تحکیمی ازش استفاده کردم . ضمن تشکر متن پست کامل شد . :)
 

mmbidhendi

مدیر بازنشسته
کاربر ممتاز
درسته ، اگر روابط خیلی راحت و بقول معروف توابع روتین باشند ، مثل توابع خطی ، که شیب یکسانی تابع داره میشه از روش شما استفاده کرد ... بالفرض این نقاط :
0و0
1و1
2و2
3و3
4و4
5و5
یا این نقاط
0و1
1و2
2و3
3و4
و به این ترتیب نقاط .. به هر حال شما رابطه Y=Ax+B رو بتونید تشکیل بدید ... در مورد اعداد مثال شما ، این رابطه دیگه خطی درجه 1 نیست ، برای همین جواب های غیر معقولی میده .
احساس کردم این شرط هم در مورد درون یابی ذکر بشه بد نیست :)
 

sma519

عضو جدید
نه آقا مصطفی گل . تو اون جدول فرض بر اینه که خط هر محدوده ، شیب مختص خودش رو داره . به عبارتی تابع y = Ax + B باید برای هر محدوده ، جداگانه تشکیل بشه . :)


برای بیان بهتر کابرد این روش من یه سوال ساده طرح میکنم . ( مکانیک خاک )
با استفاده از جدول زیر به ازای M=1.36 و N=6.8 مقدار I مورد نظر رو بدست بیارید .


;):gol:
 

mmbidhendi

مدیر بازنشسته
کاربر ممتاز
این طور درون یابی ها باید دو گانه صورت بگیره ، یعنی شما یکبار میای بین N=5 و N=10 و M=1.3 یک درون یابی میکنی تا برای M=1.3 و N=6.8 یک مقدار I پیدا کنید ..
همین عمل رو برای N=5 و N=10 و M=1.4 دوباره انجام میدید و برای N=6.8 یک I دیگه پیدا میکنید ..
حالا باید برای I های M=1.3 و M=1.4 و N=6.8 درونیابی کنیم تا M=1.36 مقدار متناظرش بدست بیاد ..
من به جواب 0.2247 رسیدم ....
 

sma519

عضو جدید
من هم با روشی که گفتم به همین جواب رسیدم . شما از چه راهی استفاده کردید ؟

 

mmbidhendi

مدیر بازنشسته
کاربر ممتاز
در کلیات من هم از راه شما رفتم ، در این فرضیه شکی نیست ... چون ما داده های خطی داریم ... ما 2 نقطه از یک خط رو داریم و یک مقداری بین اون دو نقطه رو بدست میاریم ، توی این قضیه بین من و شما مشکلی نیست ، من صحبتم سر این بود که اگر داده ها بیشتر از 2 نقطه باشه دیگه این روش ، روش مطمئنی نیست :) البته گویا بد توضیح دادم ...
 

meytim

متخصص محاسبات عددی و MATLAB
کاربر ممتاز
توضيح

توضيح

درون یابی اعداد به ساده ترین روش ممکن



با سلام به حضور تمامی دوستان ارجمند . :)
در پاره ای مواقع پیش می آید که نمو دو ردیف داده باهم یکسان نیست و عمل درون یابی را با روش تناسب متعارف نمی توان انجام داد که در آن شرایط روش زیر می تواند کارساز باشد :
به عنوان مثال جدول زیر را در نظر بگیرید :







ملاحظه می شود که به ازای هر X واقع در ردیف بالا یک f در ردیف پایین موجود است . اما X هایی در میان X های موجود هم هستند که f مخصوص خود را دارند و برای یافتن آنها باید عمل درون یابی صورت پذیرد .
برای تشریح روش کار ، به عنوام مثال f مربوط به X = 1.2 را می یابیم . یعنی : f (1.2) = ?

شروع کار :
میدانیم که f مورد نظر مابین دو عدد 15.8 و 8 ، همچنین X مورد نظر مابین دو عدد 1.5 و 1.0 واقع شده اند .
با جواب فقط کمتر از نیم خط فاصله داریم :





پس : f (1.2) = 11.12
به همین راحتی تمام شد .

توضیح :
صورت کسر = تفاضل fهای بزرگتر و کوچکتر از f مورد نظر .
مخرج کسر = تفاضل X های بزرگتر و کوچکتر از X مورد نظر .
0.2 = تفاضل X مورد نظر و X کوچکتر .
8 = f کوچکتر .
لازم به ذکر است که تنها در توابع خطی کاربرد دارد .
امیدوارم مفید واقع شود . ;):gol:

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

روشی که ماشین حساب عمل میکنه یک روش کلیه که تمامی توابع رو در بر میگیره ( خطی ، غیر خطی و ... ) . فکر میکنم همانند روشهایی چون لاگرانژ ، قاعده نویل و امثال اون باشه . ( اگه اشتباه نکرده باشم ) .
اما اینی که من نوشتم تنها برای توابع خطیه که نیاز به نرم افزار نداره و در محاسبات دستی بهتر از هیچیه .
مثلا" من خودم در محاسبه تغییرات تنش در نشست تحکیمی ازش استفاده کردم . ضمن تشکر متن پست کامل شد . :)

آقاي sma519 از برازش با چندجمله[FONT=&quot]‏ايهاي تكه[FONT=&quot]‏[/FONT]اي خطي استفاده كرده است و mmbidhendi از برازش داده[FONT=&quot]‏[/FONT]ها با خط راست. تفاوت آنها را در شكل ببينيد.[/FONT]​
برنامه‏اي را كه اين خروجي را در متلب مي‏دهد هم پيوست كرده‏ام.
روشهاي ديگري هم وجود داره كه اگه علاقه داشتيد مي‏تونيد در بخش 7 از كتاب شگردهاي عددي مطالعه كنيد. البته بعضي از روشهاي بيان‏شده در كتاب خارج از برنامة درسي دانشگاههاي ايرانه.

يه دستور بسته براي محاسبة چندجمله‏ايهاي درونياب وجود داره كه به نام چندجمله‏ايهاي لاگرانژ مي‏شناسن، كه براي محاسبات كامپيوتري بهترين روش اين محاسبات، براي پيشگيري از خطاهاي كامپيوتري و داشتن سرعت مناسب، از يه الگوريتمي استفاده مي‏شه كه بهش الگوريتم نويل مي‏گن.​
 

پیوست ها

  • SampInterp.zip
    408 بایت · بازدیدها: 0
  • image002.jpg
    image002.jpg
    13.3 کیلوبایت · بازدیدها: 0
آخرین ویرایش:

meytim

متخصص محاسبات عددی و MATLAB
کاربر ممتاز
توضيح

توضيح

روشی که ماشین حساب عمل میکنه یک روش کلیه که تمامی توابع رو در بر میگیره ( خطی ، غیر خطی و ... ) . فکر میکنم همانند روشهایی چون لاگرانژ ، قاعده نویل و امثال اون باشه . ( اگه اشتباه نکرده باشم ) .
اما اینی که من نوشتم تنها برای توابع خطیه که نیاز به نرم افزار نداره و در محاسبات دستی بهتر از هیچیه .
مثلا" من خودم در محاسبه تغییرات تنش در نشست تحکیمی ازش استفاده کردم . ضمن تشکر متن پست کامل شد . :)

این طور درون یابی ها باید دو گانه صورت بگیره ، یعنی شما یکبار میای بین N=5 و N=10 و M=1.3 یک درون یابی میکنی تا برای M=1.3 و N=6.8 یک مقدار I پیدا کنید ..
همین عمل رو برای N=5 و N=10 و M=1.4 دوباره انجام میدید و برای N=6.8 یک I دیگه پیدا میکنید ..
حالا باید برای I های M=1.3 و M=1.4 و N=6.8 درونیابی کنیم تا M=1.36 مقدار متناظرش بدست بیاد ..
من به جواب 0.2247 رسیدم ....

من هم با روشی که گفتم به همین جواب رسیدم . شما از چه راهی استفاده کردید ؟




در اينجا هم هردوي شما از برازش با چندجمله‏ايهاي تكه‏اي خطي استفاده كرده‏ايد، اما لازم نيست. من داده‏ها رو توي يه فايل Excel ريختم و روية حاصل از داده‏ها رو توي متلب كشيدم.​
در اينجا هم مثل حالت يك‏بعدي روشهاي زيادي براي درونيابي وجود داره. روش شما (استفاده از برازش با چندجمله‏ايهاي تكه‏اي خطي) و روش اسپلاين درجه سه (از برازش با چندجمله‏ايهاي تكه‏اي درجه سه) در خروجي متلب به صورت زير در مياد.​

I1 = 0.224760000000000



Is = 0.223883574834359​
برنامه‏اي كه شكل رويه رو مي‏كشه و اين خروجي رو در متلب مي‏ده هم پيوست كردم.​
 

پیوست ها

  • image004.jpg
    image004.jpg
    14.6 کیلوبایت · بازدیدها: 0
  • SoilMech.zip
    3.8 کیلوبایت · بازدیدها: 0

mmbidhendi

مدیر بازنشسته
کاربر ممتاز
بسیار عالی دوست عزیز ، البته درون یابی های خطی ، با دو نقطه و یک خط ، روشی بسیار متعارف و بقول معروف کار راه بنداز برای رشته ما تلقی میشه ، البته غیر از چند مورد ویژه که توی سطوح بالای ریاضیات گرایش های ارشد استفاده داره ، دلیل اصلی تدریس نشدن درس ریاضیات مهندسی هم به همین دلیله که رشته عمران محاسبات پیچیده ریاضیاتی در مقطع کارشناسی نداره :)
 

rica

عضو جدید
سلام دوستان

کسی میتونه تو محاسبات عددی کمی کمک کنه

سوال

درون یابی چند جمله ای تابع در نقاط (نقاط فرقی نمیکنه ) بعد از جدول تفاظلات تقسیم شده درونیاب نیوتن این مسائل چطور میشه سینوس رو میخوایییم چیکار بکنیم

درون یابی سینوس پی دوم ایکس

درون یابی ای به توان ایکس منهای 1
 

rica

عضو جدید
سلام دوستان

کسی میتونه تو محاسبات عددی کمی کمک کنه

سوال

درون یابی چند جمله ای تابع در نقاط (نقاط فرقی نمیکنه ) بعد از جدول تفاظلات تقسیم شده درونیاب نیوتن این مسائل چطور میشه سینوس رو میخوایییم چیکار بکنیم

درون یابی سینوس پی دوم ایکس

درون یابی ای به توان ایکس منهای 1




و جدول هم به اینصورت :



در واقع سوالم اینه :

بعد از اینکه از جدول اعدد به دست اومد و بعد از اون px رو نوشتیم...مرحله بعدی چیکار می کنیم؟؟؟

px به دست آمده رو در تابع قرار میدیم بهجای x یا کار دیگه ای میکنیم؟؟؟

تو این مسئله تابع سینوس پی دوم ایکس رو میخواییم چیکار بکنیم کجای مسئله استفاده بکنیم؟؟؟

تو این انجمن یه نفرم نیس به ما کمک کنه؟؟؟؟
 
آخرین ویرایش:

nice_Alice

مدیر بازنشسته
کاربر ممتاز
سلام
دوست عزیز فکرکنم شما مفهوم درونیابی رو متوجه نشدی! اینکه چرا از درونیابی استفاده میکنیم!

ببینید هرگاه بدست آوردن مقدار تابع در نقطه ای دلخواه بااستفاده از ضابطه خود تابع سخت باشه ویا هرگاه ضابطه تابع به ما داده نشده باشه و فقط چندمقدار از تابع رو داشته باشیم میتونیم بااستفاده از روش های عددی وبدست آوردن چندجمله ای درونیاب تابع مقدار تابع را در نقطه دلخواه داده شده بطور تقریبی بدست بیاریم!

من یه قضیه ونتیجه رو اینجا میگذارم که کاملا با مفهوم درونیابی آشنا بشی وبعدهم درحالت کلی درونیابی نیوتن که بااستفاده از تفاضلات تقسیم شده هست رو توضیح میدم:






 

nice_Alice

مدیر بازنشسته
کاربر ممتاز
در واقع سوالم اینه :

بعد از اینکه از جدول اعدد به دست اومد و بعد از اون px رو نوشتیم...مرحله بعدی چیکار می کنیم؟؟؟

px به دست آمده رو در تابع قرار میدیم بهجای x یا کار دیگه ای میکنیم؟؟؟

تو این مسئله تابع سینوس پی دوم ایکس رو میخواییم چیکار بکنیم کجای مسئله استفاده بکنیم؟؟؟

تو این انجمن یه نفرم نیس به ما کمک کنه؟؟؟؟

ببینP(X) میشه چندجمله ای درونیاب تایع F(X)

باید مقدارXداده شده را حالا به جای متغییرXبگذاری تو ضابطهP(X) تا مقدار تقریبی تا بعF(X) رو در نقطه دلخواه داده شده بدست بیاری!

تابع سینوس دراینجا جزءاطلاعات اضافه داده شده! باتوجه به اینکه مقادیر تابع رو هم داده اگه تابع سینوس داده نمیشدهم مشکلی پیش نمیومد! اضافس!
 
  • Like
واکنش ها: rica

nice_Alice

مدیر بازنشسته
کاربر ممتاز
سوال درزمینه ریاضیات رو بیا اینجا بپرس زودتر بچه ها میبینن وبه جواب میرسی:http://www.www.www.iran-eng.ir/show...به-سوالات-و-درخواست-های-مربوط-به-ریاضی/page11
 
  • Like
واکنش ها: rica

xx12xx12

عضو جدید
با سلام میشه کاملتر توضیح بدین؟؟؟؟؟؟

با سلام میشه کاملتر توضیح بدین؟؟؟؟؟؟

خوب ، من هم یک روش ساده تر میگم خدمت دوستان ، برای استفاده ماشین حساب 4500 خود را در حالت Mode 2 LR قرار دهید ...
Shift+Ac را بزنید تا مموری موقت پاک بشه
X1 و Y1 رو با استفاده از علامت " , " کنید و دکمه +M رو فشار بدید ..
بعد از ورود تمام Data ها با همین فرمت ، X مورد نظری که Y متناظر اون رو میخواد وارد کنید ، سپس دکمه 2ndF و " , " رو با هم فشار دهید و Exe . درون یابی یا برون یابی ، انجام شد :)
با سلام میشه کاملتر توضیح بدین؟؟؟؟؟؟
 
بالا