کاربران تگ شده

+ پاسخ به موضوع
نمایش نتایج: از شماره 1 تا 3 , از مجموع 3

موضوع:
حل معادله غیر خطی (کمک)

  1. #1


    نوشته ها
    1
    پسندیده
    0
    تشکر شده
    هیچ وقت
    Mention شده
    در 0 پست
    تگ شده
    در 0 تاپیک

    012 حل معادله غیر خطی (کمک)

    سلام دوستان
    این معادله ریاضی رو کی میتونه حل کنه؟تو درس بررسی 2 خوردم به این معادله نمیتونم حلش کنم لطفا کمک کنید
    هر کس به جواب رسید راه حلشو توضیح بده
    پیش پیش از همتون ممنونم(هر چی زودتر جواب بدین بهتره)
    2.4638cos (x)+X =2.5843

  2. #2


    محل سکونت
    Walnut skin
    رشته تحصیلی
    Electromagnetic
    نوشته ها
    4,886
    پسندیده
    3,426
    تشکر شده
    5,638 بار در 2,424 پست
    Mention شده
    در 0 پست
    تگ شده
    در 4 تاپیک

    Thumbs up

    نقل قول نوشته اصلی توسط pedram.po نمایش پست ها
    سلام دوستان
    این معادله ریاضی رو کی میتونه حل کنه؟تو درس بررسی 2 خوردم به این معادله نمیتونم حلش کنم لطفا کمک کنید
    هر کس به جواب رسید راه حلشو توضیح بده
    پیش پیش از همتون ممنونم(هر چی زودتر جواب بدین بهتره)
    2.4638cos (x)+X =2.5843
    باید با روش های نیوتون رافسون حل کرد معادله رو به روش محاسبات عددی
    البته میشه به راحتی از مطلب هم استفاده کرد:

    حل دستگاه معادلات غیر خطی به سادگی دستگاه معادلات خطی نمی باشد. همانطور که در محاسبات عددی خوانده ایم روشهای حل این گونه دستگاهها روش های تکراری با یک حدس اولیه برای متغیر ها می باشد که روش نیوتن یکی از مهمترین این روشها می باشد.
    فرض کنید می خواهیم دستگاه معادله زیر را به کمک متلب حل کنیم:
    x^2+sin(y)=10.5
    tan(x)-exp(y)=-0.05
    قدم اول: در قدم اول باید همه معادلات را به یک سمت مساوی برده و برابر صفر قرار دهیم:
    x^2+sin(y)-10.5=0
    tan(x)-exp(y)+0.05=0
    قدم دوم: در قدم دوم باید توجه کنید که باید دستگاه معادلات را به صورت یک function در متلب بنویسیم.
    توجه کنید این دستگاه دو معادله و دو مجهول x و y دارد. اما در متلب تمامی مجهولات باید مولفه هایی از یک متغیر باشند. یعنی باید مجهولات را برابر با بردار مجهول M قرار دهیم که بردار M برابر می باشد با:
    M=[x y]
    در واقع مجهول M(1) همان جواب x و مجهول M(2) همان y می باشد. پس در هنگام نوشتن دستگاه معادلات در function باید به جای x مقدار M(1) و به جای y مقدار M(2) را قرار دهیم.
    نکته: باید دو معادله ای را که برابر با صفر قرار دادید در یک بردار به صورت ستونی در function بازنویسی کنید.
    حال با این توضیحات این function را می نویسیم:
    function out=myfun(M)
    out=[ M(1)^2+sin(M(2))-10.5 ; tan(M(1))-exp(M(2))+0.05];
    حال به کمک ابن تابع می توانیم این دستگاه معادله را حل کنیم و جواب M را بدست بیاوریم.
    دستور حل دستگاه معادلات غیرخطی در متلب دستور fsolve می باشد. ابتدا نحوه نوشتن این دستور را توضیح می دهم:
    fsolve ( function , initial_guess)
    به جای کلمه function شما باید اسم تابع خودتان را به همراه @ بنویسید.
    به جاب initial_guess هم باید بردار حدس اولیه برای متغیرهایتان را وارد کنید. فرض کنید که بردار حدس اولیه برای متغیرهایمان به صورت زیر است:
    [x0 y0]=[2 -3]
    حال می توانیم دستور fsolve را به کار ببریم:
    >> M=fsolve(@myfun , [2 -3])
    Equation solved.
    fsolve completed because the vector of function values is near zero
    as measured by the default value of the function tolerance, and
    the problem appears regular as measured by the gradient.
    <stopping criteria details>
    M =
    3.1074 -4.1460
    همانطور که میبینید متلب یک بردار با دو عضو را به شما خواهد داد که عضو اول همان x و عضو دوم همان y می باشد. مسلما اگر دستگاه 4 معادله و 4 مجهول داشته باشید M دارای 4 مولفه خواهد بود.
    نکات مهم : 1- روشهای تکراری مثل نیوتن بسیار به حدس اولیه حساس می باشند. چنانچه حدس اولیه خیلی پرت زده شود ممکن است الگوریتم نتواند جوابی برای معادلات بدست آورد!
    2- حتما در نوشتن function دقت کنید که خروجی تابع (در اینجا out) باید ستونی باشد.


    صبر كن سهراب!

    قايقت جا دارد؟

    من هم از همهمه ي داغ زمين بيزارم !



  3. 2 کاربر از IMAN به خاطر این پست مفید تشکر کرده اند:

    alireza (01-15-2012), Mehdi.Heydari (01-14-2012)

  4. #3


    محل سکونت
    تهران
    رشته تحصیلی
    مهندسي برق - قدرت
    نوشته ها
    877
    پسندیده
    879
    تشکر شده
    1,640 بار در 621 پست
    Mention شده
    در 0 پست
    تگ شده
    در 0 تاپیک
    نقل قول نوشته اصلی توسط pedram.po نمایش پست ها
    سلام دوستان
    این معادله ریاضی رو کی میتونه حل کنه؟تو درس بررسی 2 خوردم به این معادله نمیتونم حلش کنم لطفا کمک کنید
    هر کس به جواب رسید راه حلشو توضیح بده
    پیش پیش از همتون ممنونم(هر چی زودتر جواب بدین بهتره)
    2.4638cos (x)+X =2.5843
    یه جزوه محاسبات عددی از نت دانلود کن.
    عد برو روش تصنیف ، نابجایی، نیوتن رافسون ِا تکرار نقطه ثابت و بخون
    با هر چهار تاش به راحتی حل میشه
    حلــــــــــــــــــــــا ل کنیــــــــــــــــــــــ ــــــــد

  5. کاربر زیر به خاطر این پست مفید از Mehdi.Heydari تشکر کرده است:

    alireza (01-15-2012)

+ پاسخ به موضوع

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید