الگوریتمستان

یادداشت‌های یک معلم علاقه‌مند به نوشتن از آنچه آموخته و یاد می‌دهد
 

  

✤  الگوریتم‌های ریشه‌یابی

منظور از ریشه‌ها یک تابع مقادیری برای متغیرهای ورودی آن هستند که به ازای آنها خروجی تابع صفر شود. به عنوان مثال خروجی تابع $f(x)=2x-4$ به ازای $x=2$ صفر یا مقدار $2$ ریشه معادله $2x-4=0$ است. به همین ترتیب در مورد معادلات درجه دوم نیز می‌دانیم چطور می‌توانیم به ریشه یا ریشه‌ها در صورت موجود بودن دست پیدا کنیم. البته لزومی ندارد پاسخ معادله یک عدد صحیح یا گویای متناهی باشد. به عنوان مثل جواب معادله‌های $x^2 - 2 = 0$ و $sin(\frac{x}{2}) = 1$ به ترتیب اعداد گنگ $\sqrt{2}$ و $\pi$ هستند که در عمل امکان ذخیره‌سازی تک تک ارقام اعشاری در کامپیوتر وجود ندارد.

  

الگوریتم‌های ریشه‌یابی

  

مسائل دنیای واقعی اغلب پیچیده بوده و به سادگی با روش‌های تحلیلی حل نمی‌شوند. به ویژه آنکه معمولا وابسته به تنها یک متغیر نیستند. به عنوان یک نمونه ساده معادلات درجه سوم و بالاتر علیرغم تک متغیره بودن راه حل قطعی ندارند. از سوی دیگر قدرت عملیاتی انسان در علوم مختلف در ایده‌آل‌ترین حالت در مقیاس نانو صورت می‌گیرد که دقت عدد در حد ۹ رقم اعشار اهمیت پیدا می‌کند و این یعنی در اختیار داشتن رفتم بیستم اعشار $\sqrt{2}$ عموما چندان کارکرد عملی ندارد و از حل معادله‌ی  $x^2 - 2 = 0$ در نهایت ۹ یا ۱۲ رقم اعشار قابل استفاده است.

منظور از روش‌های عددی (یا روش‌های تقریب) برای حل یک معادله حرکت به سمت ریشه با استفاده از یک الگوریتم تکرارشونده تا زمان رسیدن به خود ریشه یا دقت مطلوبی از آن است. اگر اعداد تولید شده در این تکرارها را به صورت دنباله $\{x_n\}$ نمایش دهیم، حد این دنباله به یک ریشه تابع (در صورت وجود) همگراست. برای آنکه بتوانیم به صورت گام به گام به ریشه نزدیک شویم در وهله اول باید بازه‌ای پیدا کنیم که مطمئن باشیم حتما در آن بازه ریشه وجود دارد. ثابت می‌شود (قضیه مقدار میانی) اگر تابع در یک بازه پیوسته و مقدار آن به ازای دو نقطه شروع و پایان علامت مختلف داشته باشد (یعنی $ f(a)f(b)<0 $)، حتما در آن بازه حداقل یک ریشه وجود دارد. بدیهی است اگر تابع در این بازه اکیدا نزولی یا اکیدا صعودی باشد تنها یک ریشه وجود خواهد داشت (چرا؟).

در شرایطی که رسیدن به عدد دقیق ریشه مد نظر یا ممکن نباشد، با یکی از شرط‌های زیر می‌توان تکرار الگوریتم ریشه‌یابی را متوقف کرد.

  1. کوچکتر کردن بازه مورد جستجو تا زمانی که اختلاف دو سر آن کمتر از حد مطلوبی شود. به عنوان مثال اگر اختلاف دو سر بازه کمتر از $0.001$ باشد سه رقم اول اعشار هر عددی در آن بازه یک مقدار است و می‌توان آن عدد را به عنوان ریشه با دقت سه رقم اعشار در نظر گرفت. در واقع رویکرد کلی این روش‌ها استفاده از تکنیک تقسیم و حل برای نزدیک شدن به ریشه معادله است.
  2. مقدار $ |f(x_i)| $ کمتر از حد مطلوبی شود.
  3. مقدار $ |x_i - x_{i-1}| $ کمتر از حد مطلوبی شود.
  4. تعداد تکرار الگوریتم به کرانه مشخص شده برسد.

در ادامه با چند الگوریتم مشهور ریشه‌یابی آشنا می‌شویم.

  

الگوریتم ریشه‌یابی تنصیف

  [برگرد بالا]

الگوریتم تنصیف (روش دو بخشی) برای تابع دلخواه $f$ در بازه $a$ تا $b$ و میزان خطای قابل قبول $e$ شامل مراحل زیر است.

  1. شروع
  2. مقدار $\frac{a+b}{2}$  را در $m$ قرار بده.
  3. اگر اختلاف $a$ و $b$ کمتر از $e$ یا $f(m)$ برابر صفر است برو به مرحله ۷.
  4. اگر حاصلضرب $f(a)$ و $f(m)$ منفی بود $m$ را در $b$ قرار بده.
  5. اگر حاصلضرب $f(b)$ و $f(m)$ منفی بود $m$ را در $a$ قرار بده.
  6. برو به مرحله ۲.
  7. مقدار $m$ صفر تابع با دقت $e$ است.
  8. پایان

  

روش ریشه یابی دوبخشی

  

این الگوریتم مشابه الگوریتم جستجوی دودویی در فضای گسسته‌ برای آرایه‌های مرتب است و پس از محاسبه وسط بازه در متغیر $m$ یکی از دو بازه $a$ تا $m$ یا $m$ تا $b$ را در تکرار بعدی استفاده می‌کند. بنابراین همانطور که در آن الگوریتم آرایه باید مرتب باشد، شرط عملکرد درست الگوریتم تنصیف نیز یکنوای اکید بودن (صفر نبودن مشتق) در بازه است. اما بر خلاف الگوریتم جستجوی دودویی این روش چندان کارا نیست و سرعت همگرایی کمی دارد. قطعه کد زیر یک نمونه پیاده‌سازی الگوریتم ریشه‌یابی تنصیف با زبان برنامه‌نویسی پایتون است.

def bisection(f: "function", start: float, end: float, e: float, maxIteration : int):

    it = 0

    while True:

        m = (start + end) / 2

        if f(m) == 0 or end - start < e or it == maxIteration:

            break

        if f(start) * f(m) < 0:

            end = m

        else:

            start = m

        it += 1

    return m

    

الگوریتم ریشه‌یابی نیوتون

  [برگرد بالا]

روش ریشه‌یابی نیوتون-رافسون که به آن الگوریتم ریشه‌یابی مماس نیز گفته می‌شود از مشتق تابع برای رسیدن سریعتر به دقت مورد نظر استفاده می‌کند. پیش‌نیاز استفاده از این الگوریتم صفر نبودن مشتق تابع در نقاط بازه و عدم تغییر علامت مشتق دوم در آن بازه است. در چنین شرایطی اگر $x_0$ یک تقریب اولیه از صفر تابع در بازه $a$ تا $b$ باشد، دنباله $x_n$ به صفر تابع همگرا خواهد بود.

$x_n = x_{n–1}- \frac{f(x_{n-1})}{f\prime(x_{n–1})}$

  

الگوریتم ریشه‌یابی نیوتون-رافسون

  

قطعه کد زیر یک نمونه پیاده‌سازی الگوریتم ریشه‌یابی نیوتون-رافسون با زبان برنامه‌نویسی پایتون است.

def newton_1(f: "function", df : "function", x0: float, e: float, maxIteration : int):

    it = 0

    while True:

        x = x0 - f(x0) / df(x0)

        if abs(f(x)) < e or it == maxIteration:

            break

        x0 = x

        it += 1

    return x

  

در این پیاده‌سازی علاوه بر تابع $f$ تابع $df$ نیز به عنوان مشتق تابع دریافت می‌شود. اما در صورت نیاز می‌توان مشتق دقیق تابع در یک نقطه را با شیب خط واصل آن با یک نقطه نزدیکش جایگزین کرد:

def newton_2(f: "function", x0: float, e: float, maxIteration : int):

    it = 0

    df = lambda x: (f(x + 1e-6) - f(x)) / 1e-6

    while True:

        x = x0 - f(x0) / df(x0)

        if abs(f(x)) < e or it == maxIteration:

            break

        x0 = x

        it += 1

    return x

      
الگوریتم ریشه‌یابی نیوتن همگرایی بسیار سریع‌تر در مقایسه با الگوریتم ریشه‌یابی تنصیف دارد، اما وابسته به انتخاب مقدار $x_0$ است. اگر $x_0$ به درستی انتخاب نشود ممکن است دنباله اعداد هرگز به ریشه همگرا نشود.

  

الگوریتم ریشه‌یابی نابجایی

  [برگرد بالا]

الگوریتم ریشه‌یابی نابجایی (روش براکت) را می‌توان نوعی ترکیب الگوریتم‌های نصف کردن و نیوتن دانست. این روش مشابه روش نصف کردن از قطعه‌بندی بازه برای رسیدن به ریشه و مانند روش نیوتن از محل تقاطع خطوط با محور طول‌ها برای انتخاب نقطه جدید استفاده می‌کند. الگوریتم ریشه‌یابی نابجایی برای تابع دلخواه $f$ در بازه $a$ تا $b$ و میزان خطای قابل قبول $e$ شامل مراحل زیر است.

  1. شروع
  2. مقدار $a – f(a) \frac{b-a}{f(b)-f(a)}$ را در $m$ قرار بده.
  3. اگر اختلاف $a$ و $b$ کمتر از $e$ یا $f(m)$ برابر صفر است برو به مرحله ۷.
  4. اگر حاصلضرب $f(a)$ و $f(m)$ منفی بود $c$ را در $b$ قرار بده.
  5. اگر حاصلضرب $f(b)$ و $f(m)$ منفی بود $c$ را در $a$ قرار بده.
  6. برو به مرحله ۲.
  7. مقدار $m$ صفر تابع با دقت $e$ است.
  8. پایان

  

الگوریتم ریشه‌یابی نابجایی

  

تنها اختلاف این الگوریتم با الگوریتم تنصیف در روش محاسبه $m$ در هر تکرار است. این الگوریتم به جای میانگین $a$ و $b$ محل تقاطع خط واصل  $(a,f(a)) $ و $(b,f(b))$ با محور $x$ به عنوان $m$ انتخاب می‌شود. از این بابت نیز رفتاری شبیه الگوریتم ریشه‌یابی نیوتن دارد که در آنجا خط مماس به نمودار به جای خط واصل ابتدا و انتهای بازه استفاده می‌شود. قطعه کد زیر یک نمونه پیاده‌سازی الگوریتم ریشه‌یابی نابجایی است.

def falsePosition(f: "function", start: float, end: float, e: float, maxIteration : int):

    it = 0

    while True:

        m = start - f(start) * ((end - start) / (f(end) - f(start)))

        if end - start < e or f(m) == 0 or it == maxIteration:

            break

        if f(start) * f(m) < 0:

            end = m

        else:

            start = m

        it += 1

    return m

  

الگوریتم ریشه‌یابی وتری

  [برگرد بالا]

  

روش ریشه‌یابی وتری

  

حالت دوم پیاده‌سازی الگوریتم نیوتن-رافسون این حسن را دارد که نیاز به محاسبه فرمولی مشتق و ارسال آن به تابع نداریم و به جای آن از یک تقریب استفاده می‌کنیم. الگوریتم ریشه‌یابی وتری (روش سکانت) نیز به همین ترتیب به جای استفاده از مشتق در خود نقطه، شیب خط واصل بین این نقطه و نقطه قبلی در دنباله را استفاده می‌کند. بنابراین یک نمونه کد پیاده‌سازی الگوریتم وتری با زبان برنامه‌نویسی پایتون به ترتیب زیر است.

def secant(f: "function", x0: float, x1: float, e: float, maxIteration : int):

    it = 0

    while True:

        x2 = x1 - f(x1) * ((x0 - x1) / (f(x0) - f(x1)))

        if abs(f(x2)) < e or it == maxIteration:

            break

        x0, x1= x1, x2

        it += 1

    return x2

نکته مهم این الگوریتم آن است که با این روش نقاط دنباله لزوما داخل بازه اولیه قرار نمی‌گیرند. بنابراین ممکن است ریشه‌ای خارج از بازه یافت شود یا هرگز به ریشه‌ای همگرا نشود. بنابراین انتخاب دو عدد ابتدایی نقش مهمی در عملکرد الگوریتم دارد و نکته جالب‌تر این است که لزومی ندارد تابع در این بازه اولیه ریشه داشته باشد! کافی است تابع secant را به صورت زیر فراخوانی کنید که دو عدد 4 و 10 در شروع الگوریتم ریشه‌یابی وتری استفاده شده و در نهایت عدد $\sqrt{2}$ با دقت مطلوبی محاسبه می‌شود!

secant(lambda x : x ** 2 - 2, 4, 10, 0.000001, 100)

  

الگوریتم ریشه‌یابی تکرار نقطه ثابت

  [برگرد بالا]

الگوریتم ریشه‌یابی تکرار نقطه ثابت (روش تکرار ساده) که بر اساس قضیه نقطه ثابت ارائه شده، پیش‌نیازهای پیچیده‌تری نسبت به روش‌های قبل دارد. جهت استفاده از این الگوریتم برای حل معادله $f(x)=0$ در بازه $a$ تا $b$، باید شکل آن را به $g(x)=x$ تبدیل کرد به نحوی که $g(x)$ هم از این بازه خارج نبوده و قدر مطلق مشتقش در این بازه نیز کمتر از یک باشد.

  

روش ریشه‌یابی نقطه ثابت

  

قطعه کد زیر یک نمونه پیاده‌سازی الگوریتم ریشه‌یابی تکرار نقطه ثابت با زبان برنامه‌نویسی پایتون است.

def fixedPoint(g: "function", x0: float, e: float, maxIteration : int):

    it = 0

    while True:

        x1 = g(x0)

        if abs(x1 - x0) < e or it == maxIteration:

            break

        x0 = x1

        it += 1

    return x1

مسعود اقدسی فام

مسعود اقدسی فام هستم.

دانش‌آموخته علوم کامپیوتر و فعال حوزه‌های برنامه‌نویسی پایتون، علم داده و یادگیری ماشین

algs.ir/spz56h6     اشتراک‌گذاری در LinkedIn     اشتراک‌گذاری در Twitter     ارسال با Telegram
نوشته‌ها از این دست
آخرین نوشته‌ها
نوشته‌های پرمخاطب
  • 1
  • 2
  • 3
  • 4
  • 5

نام: *  

پست الکترونیک (محرمانه):

متن پیام: *  

01 02 06 07 08 09 10 11 12 13 14

• دادمنش
۲۳ آبان ۱۳۸۵، ساعت ۱۲:۴۵

سلام

وبلاگ خیلی خوب و پر باری داری

امیدوارم موفق باشی.

• مینا
۱۳ آذر ۱۳۸۵، ساعت ۱۳:۲۹

سلام

عید تون مبارک

مطالب ار زنده ای بود

• لیلی
۱۴ آذر ۱۳۸۵، ساعت ۲۲:۴۱

سلام

دستتان درد نکنه . جالب بود . استفاده بردم.

• میلاد
۱۵ آذر ۱۳۸۵، ساعت ۱۷:۴۴

سلام [لبخند]

از شما دعوت می شود تا در شنیدن اخبار داغ داغ و جدیدی که در “ریاضیات زیباست” در حال منتشر شدن است، شرکت کنید و حضور به هم برسانید…

به صرف شیرینی و شام! [چشمک]

• عسگری(دوست من ریاضی)
۲۳ آذر ۱۳۸۵، ساعت ۱۴:۲۴

با سلام

مطلب تون خیلی خوب بود و منو به یاد درس آنالیز عددی انداخت که خیلی دوستش داشتم.

موفق باشید

• سمیرا
۲۶ آذر ۱۳۸۵، ساعت ۰۹:۴۱

سلام

سایت جالبی دارین

من هم مثل مهناز جون برنامه های درونیابی لاگرانژ-وتری-تنصیف و نیوتن را میخوام

اگر ممکنه برام میل بزنید

ممنونم

به امید موفقیتهای بیشتر

• سمیرا
۲۶ آذر ۱۳۸۵، ساعت ۱۰:۱۷

راستی لطفا مطلب کاملی هم در مورد چند جملهایهای چپیشف روی صفحه بذارین

• سینا
۳۰ آذر ۱۳۸۵، ساعت ۰۳:۴۱

salam.esbate hamgerayiye raveshe vatari dar bedast avardae rishe ye moadelato mikham.mishe komakam konid?

• سمیرا
۲ دی ۱۳۸۵، ساعت ۱۷:۱۸

دوباره سلام

اگه ممکنه برنامه روش ذوزنقه و نیوتن رافسون رو برام بفرستید

از اینکه به درخواستها توجه داری ممنونم

• فرخنده
۱۱ دی ۱۳۸۵، ساعت ۰۱:۰۵

سلام

من می خواهم یک عدد را بصورت مستقیم از مبنا ٧ به ٣ ببرم منظورم این است که نمی خواهم ابتدا ان را به مبنا ١٠ تبدیل کنم و بعد به ٣

لطفا اگر ممکن است کمکم کنید.

با تشکر فراوان

• مریم شریعت پناهی
۴ بهمن ۱۳۸۵، ساعت ۲۲:۲۹

سلام. من با اینکه همیشه در ریاضی ضعیف بودم اما به خاطر وب سایت جالبتان به شما تبریک می گویم.

• پارسوال-ریاضیات سر شار از زیبایی
۵ بهمن ۱۳۸۵، ساعت ۲۲:۴۶

سلام

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

موفق باشید

• جواد
۶ بهمن ۱۳۸۵، ساعت ۱۷:۰۸

سلام

من البته تو ریاضی ضعیف نبودم. ولی خب وقت مطالعه ریاضی رو هم نداشتم. با اینکه واقعا علاقه دارم. امیدوارم اینجا بتونه کمی بیشتر منو با ریاضی آشنا کنه

موفق باشید

• mina
۱۹ بهمن ۱۳۸۵، ساعت ۲۳:۲۲

salam

man mikhastam bebinam chejoor mishe baraye tavabe’ gosaste rishe peyda kard?agar algorithmi darid lotfan be man mail konid

• behrooz
۲۸ بهمن ۱۳۸۵، ساعت ۱۵:۳۶

salam manam be jeye inke begam too riazi khoobam ya bad fafgat ye soal dashtam:

chera dar newton raphson hamchin rabeteie bargharare?

1-tabe quadratic khatayash taghir miokonad va khataye har marhale kamtar az tavan 2 khataye

merhaleye ghabl ast

2-che moaghe tabe hamgera nemishe az in ravesh rahe hallesh chie?

faghat agar javabo balidid lotfan sari ta farda mikhmesh

• اسماعیلی فر
۸ فروردین ۱۳۸۶، ساعت ۱۲:۰۲

آقای اقدسی فام

مطلب قشنگی بود.

ممنون

مسعود اقدسی فام
۸ فروردین ۱۳۸۶، ساعت ۱۸:۴۱

خواهش می کنم صادق خان

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

• sina
۱۱ فروردین ۱۳۸۶، ساعت ۱۵:۵۰

سلام

ایشالا هرچی دوست داری خدا بهت بده

دل منو که شاد کردی

مرسی 05

• peyman
۲۸ فروردین ۱۳۸۶، ساعت ۱۱:۲۶

سایت جالبی هست ممنون

• محمد
۱ اردیبهشت ۱۳۸۶، ساعت ۱۲:۴۸

سلام

خسته نباشید.واقعا سایت جالب و قابل استفاده ایه. من یه خواهشی داشتم اگه میشه روش نقطه ثابت رو تو زبان سی برام ایمیل بزنید. فقط اگه امروز بشه خیلی خوب میشه. بازم ممنونم.

• محسن
۸ اردیبهشت ۱۳۸۶، ساعت ۰۸:۳۶

سلام

سایت مفید و جذابی هست. یک درخواست داشتم وآن اینکه اگر امکان دارد راجع به بحث نگاشت اعداد مختلط در زمینه توابع مثلثاتی و دیگر توابع به طور مفصل مطالبی را به ایمیلم بفرستید. با تشکر

• amin
۱۶ اردیبهشت ۱۳۸۶، ساعت ۱۷:۴۰

salam

mer30 az toozihatet dar morede in masale

ye chizi mikhastam

man be ye barname ehtiaj daram

barname nevisim khoob nist

ostademoon gofte age bedin 5 nomre dare

mitoonam azatoon komak bekham ke ye joori in barnamaro vasam benevisid

mamnoon misham

ye barname ke ye masale az tansif dashte bashe

bazam mer30

• دوید بکام
۲۳ اردیبهشت ۱۳۸۶، ساعت ۱۴:۰۰

خیلی زپرتی بود. 02

• آرزو
۲۶ اردیبهشت ۱۳۸۶، ساعت ۱۲:۱۳

فقط متاسفانه برای ما که از نسل گذشته هستیم و با اصطلاحات والقاب مصوب جدید آگاهی نداریم فهم مطالب ثقیل یا غیرممکن بوده لطف کرده چنانچه کتاب یا جزوه ای که مترادف القاب مصوب با اصطلاحات لاتین است معرفی کرده – باتشکر

• مهسا
۴ تیر ۱۳۸۶، ساعت ۰۷:۵۹

03 سایت اموزنده ای دارین

• یاسر
۱۶ تیر ۱۳۸۶، ساعت ۲۰:۵۶

سلام

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

ممنون می شوم اگر بتوانید به من کمک کنید .

• maryam
۲۲ تیر ۱۳۸۶، ساعت ۱۰:۲۶

الگوریتم محاسبه حاصل جمع۱تا۱۰

• رامین
۳ مهر ۱۳۸۶، ساعت ۲۳:۰۳

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

• sh-deldari
۱۷ مهر ۱۳۸۶، ساعت ۲۰:۵۶

az website mofidetun mamnoonam.lotfan bakhshe barname nevisi ro gostaresh bedid.

• jopeir
۲۳ اردیبهشت ۱۳۸۷، ساعت ۱۸:۱۸

سلام دوست خوب از اینکه یه همچین سایتی رو میبینم خوشحالم

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

• نویدمحمدی
۲۴ اردیبهشت ۱۳۸۷، ساعت ۱۱:۵۵

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

• مریم
۲۸ اردیبهشت ۱۳۸۷، ساعت ۱۴:۴۰

سلام

موضوع سمینار من این است:

چگونه میتوان ضرایب روش نیوتون – کاتس را با استفاده از جند جمله ای های لاگرانژ بدست

آورد؟

خواهش میکنم در این زمینه به من کمک کنید.

ممنونم “مریم”

• هادی
۲۷ خرداد ۱۳۸۷، ساعت ۰۹:۴۴

سلام.سایت باحالی دارید. ممکنه برنامه کامپوتری درونیابی لاگرانژو برام بفرستید

• حمیدرضا
۲۸ خرداد ۱۳۸۷، ساعت ۰۸:۵۷

سلام برنامه ی کامپوتری درونیابی لاگرانژو میخواستم. میشه به ایدیم بفرستید.

• شهاب
۲۹ خرداد ۱۳۸۷، ساعت ۲۳:۰۱

salaam,

aghaa kheili bahaali,, damet garm,, kaaret doroste,, man dar be dar 2nbaale een barnaame bo0dam,, hame po0li shodan,, !! kheili baa maraami,, rasti,, man omran mikho0nam,, va to0 darse mohasebaat e adadi, bishtar baa mathlab kaar mikonim,, age be o0n zabaan ham file bezaari fek konam kheiliaa haal konan !!!

babye

• afshin
۱۵ دی ۱۳۸۷، ساعت ۲۱:۰۷

سلام:

اگر در روش bisection بازه نداده بود باید چه کار کرد اگر می شود با مثال بیان کنید

• zahra
۱۵ فروردین ۱۳۸۸، ساعت ۲۲:۳۲

خواهش میکنم برنامه ای برای محاسبه الگوریتم لاگرانژ بنویسید خیلی برام ضروری است و وقت کافی ندارم

• رضا
۳۰ فروردین ۱۳۸۸، ساعت ۱۱:۲۷

من استاد درس محاسبات عددی دوره کارشناسی و کارشناسی ارشد رشته مهندسی آب هستم و این درس را سالهاست برای دانشجویان رشته های مهندسی مثل عمران- شیمی و نفت تدریس نموده ام. مطلب جالب این است که تقریبا اکثر دانشجویان با برنامه نویسی که یکی از موارد اصلی این درس است مشکل دارند. خواهش می کنم برای افرادی که التماس می کنند از شما برنامه بگیرند اهمیت ندهید و فقط مطالب و مبانی این درس را ارائه نمایید. ممنون.

• مجید
۱۲ آذر ۱۳۸۸، ساعت ۱۵:۲۷

ممنون!