reza_yki
5 سال پیش توسط reza_yki مطرح شد
8 پاسخ

بدست آوردن جذر عدد به کمک رابطه نيوتن رافسون

سلام
دوستان ممنون میشم کمکم کنید و این مسئله رو راهنماییم کنید

برنامه اي بنويسيد كه عدد مثبت A را خوانده و جذر آنرا از رابطه "نيوتن رافسون" تا زمانيكه قدر مطلق تفاضل دو ريشه متوالي آن عدد، كوچكتر از 0/0001 شود، محاسبه و نتيجه نهائي را چاپ كند.
و باید از رابطه زیر استفاده کنم:
http://s3.picofile.com/file/8363775818/1.png
من کدی پیدا کردم ولی متوجهش نشدم :(

public static float Compute(float Number)
{
    // define variable sqrRoot to hold the approximate square root
float sqrRoot = 0;
// define temporary variable temp to hold prior value of iteration
float temp = 0;
// divide variable num by 2 to start the iterative process
    // and assign the quotient to temp
temp = Number/2;

// open a while() loop that continues as long as num >= 0.0
while (Number >= 0.0)    // <<<< you might reconsider this condition: iteration count?
{
        // construct the main iterative statement
sqrRoot = temp - (temp * temp - Number) / (2 * temp);

// open an if block to check if the absolute value of the difference of
        // variables temp and sqrRoot is below a small sentinel value such as 0.0001
        // if this condition is true then break the loop
float value;
value = Math.abs(temp - sqrRoot);

        if (value < .0001)
            // return sqrRoot as the answer
return sqrRoot;  // <<<<< this is the line you needed to change
            // if this condition is not true then assign sqrRoot to temp
else temp = sqrRoot;
} // close the while() loop

return Number;  // <<<<< you will never reach this line
}

ثبت پرسش جدید
میلاد-م
تخصص : توسعه‌دهنده رابط کاربری - Fron...
@milad 5 سال پیش مطرح شد
1

با سلام
اینطور که پیداس بیشتر سوال تون فهم ریاضی میخوادش تا دانش برنامه نویسی. چیز خاصی نداره.

چی رو می خواید متوجه بشید که متوجه نمیشید؟
یک فرمول دارید، اون رو ایجاد کردید. حالا تنها کافیه در آخر چندتا عدد بزارید و امتحانش کنید.
Number هم که معادل با همون عدد A هستش.


reza_yki
تخصص : طراح و برنامه نویس سمت کلاینت...
@rezayki 5 سال پیش آپدیت شد
0

سلام @milad
بله بیشترش مفاهیم ریاضیه تا برنامه نویسی و مشکل منم همینه /:

  • اولا میخوام بدونم در کل درسته این کده؟ که با ورود عدد 8 نتیجه 2.828427 چاپ میشه
  • این خط کد رو اگه متوجه شدید توضیح بدید برام (sqrRoot = temp - (temp * temp - Number) / (2 * temp))
  • سوال دوم هم این که همین سوال با ریشه سوم محاسبه بشه
    حدودا 80 تا سواله که باید حلش کنم که 20-30 تاش این شکلیه و بیشتر مفاهیم ریاضیه که من مشکل دارم توش

میلاد-م
تخصص : توسعه‌دهنده رابط کاربری - Fron...
@milad 5 سال پیش مطرح شد
0

اولا میخوام بدونم در کل درسته این کده؟ که با ورود عدد ۸ نتیجه ۲.۸۲۸۴۲۷ چاپ میشه

این مثال که کاملا درسته، کافیه با یک ماشین حساب هم کنارش بررسی کنید.
جذر 8 با ماشین حساب دقیقا همین عدد میشه.


میلاد-م
تخصص : توسعه‌دهنده رابط کاربری - Fron...
@milad 5 سال پیش مطرح شد
1
sqrRoot = temp - (temp * temp - Number) / (2 * temp);

این بخش، دقیقا همون بخش ریاضیاتی برای این مسئله هستش.
در اینجا داره جذر عدد مورد نظر رو محاسبه میکنه، اما اینکه این فرمول از کجا اومده، با توجه به داده هایی که شما در ابتدای مسئله بیان کردید، من در نیافتم. مشخصا ً یک سری محاسبات از قبل صورت گرفته که این فرمول رو ایجاد کرده ولی برای من ناپیداست.
اما از کلیتش مشخصه که در اینجا داره یک ساختار تکرارشونده ایجاد میشه. که با حرکت حلقه مقدارش عوض میشه.

محاسبه جذر یک عدد روی کاغذ همینجوری ممکن نیستش، باید درک ریاضی داشته باشیم و فرمول های ریاضی رو بشناسیم.


reza_yki
تخصص : طراح و برنامه نویس سمت کلاینت...
@rezayki 5 سال پیش مطرح شد
1

@milad
ممنون
برای ریشه سوم هم اگه اطلاع دارید که چی کار کنم ممنون میشم


میلاد-م
تخصص : توسعه‌دهنده رابط کاربری - Fron...
@milad 5 سال پیش مطرح شد
0

برای فهم ریاضی مطلب فکر کنم بهتره برید سراغ این نشانی:
http://www.cs.utsa.edu/~wagner/CS3343/newton/sqrt.html


میلاد-م
تخصص : توسعه‌دهنده رابط کاربری - Fron...
@milad 5 سال پیش مطرح شد
حسن حکمتی
تخصص : برنامه نویس وب و بلاکچین
@hekmati 5 سال پیش مطرح شد
1

فرمولی که توی لینک زیر دادی گمراه کننده است .
http://s3.picofile.com/file/8363775818/1.png
اگر کسی ریاضی ندونه عدد 1 رو جمع جبری (Xi) (ایکس اندیس i) میخونه در صورتی که این متغیر بیانگر مقدار ایکس و اندیس (n+1) هست .


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام