PDA

View Full Version : جزر یک عدد



amin zadehnoori
شنبه 27 اسفند 1384, 14:52 عصر
روش پیدا کردن جزر یک عدد:گیج: :گیج: :تشویق: :تشویق:
متشکرم::

Mega7000
سه شنبه 01 فروردین 1385, 22:54 عصر
سلام
من راه کلی شو دارم،اگه خواستی واسم میل بزن

HO457
چهارشنبه 02 فروردین 1385, 00:57 صبح
مگا جان، عزیزم، اگه میشه لطف کن همین جا بزار که همه استفاده کنن.

Sepidar
چهارشنبه 02 فروردین 1385, 23:47 عصر
والا تا اونجا که بنده میدونم اعداد جزر و مد ندارن.
اما فکر کنم قبلا هم بحثش شده که برای پیدا کردن جذر باید از سری های توانی استفاده کرد...

اَرژنگ
پنج شنبه 03 فروردین 1385, 12:41 عصر
والا تا اونجا که بنده میدونم اعداد جزر و مد ندارن.
اما فکر کنم قبلا هم بحثش شده که برای پیدا کردن جذر باید از سری های توانی استفاده کرد...
نه راه‌هایه دیگه‌ای هم هست

Sepidar
پنج شنبه 03 فروردین 1385, 19:28 عصر
مهندس آرژنگ!
منم میدونم راه حلهای دیگه ای هم هست. اما اولا وقتی قراره به یه پست جواب بدی درست جواب بده. یعنی مثلا اینجا دقیقا ذکر کن که اون روش دیگه ای که تو ذهنته چیه. دوما استفاده از بسطهای توابع عمومی ترین راه برای تقریب توابعه.

اَرژنگ
جمعه 04 فروردین 1385, 15:05 عصر
مهندس آرژنگ!
منم میدونم راه حلهای دیگه ای هم هست. اما اولا وقتی قراره به یه پست جواب بدی درست جواب بده. یعنی مثلا اینجا دقیقا ذکر کن که اون روش دیگه ای که تو ذهنته چیه. دوما استفاده از بسطهای توابع عمومی ترین راه برای تقریب توابعه.

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

Mega7000
جمعه 04 فروردین 1385, 17:09 عصر
توضیح : این جذر را تا یک رقم اعشار می توان بهره برد
------------------------------------------------------------------------
-عدد را از ورودی بگیر
-دو رقم ،دو رقم از سمت راست جدا کنید
-digit=0
-flag=false
- آخرین(سمت چپ ترین) رقم بعدی جدا شده را در جلوی digit اضافه کنید
- بزرگترین عددی را پیدا کنید که اگر در خودش ضرب شودو در q1 بریز :
در اولویت اول با digit برابر شود
اگر نه،حاصل کوچکتر و نزدیکترین عدد ممکن صحیح
به digit باشد
-sqr=q1
-digit=digit-(q1*q1) l
L1:
-p2=sqr*2
-دو رقم بعدی را در جلوی digit اضافه کنید
-عدد c1 را طوری بیابید و جلوی p2 قرار دهید که p2c1*c1<= digit
-digit=digit-(p2c1*c1) 1
-q1=c1
-c1 زا جلوی sqr اضافه کن
if(flag=true) :
-sqr را چاپ کن
-به مرحله پایان برو
elseif(digit/sqr=0):
-دو تا صفر جلوی digit بگذارید
-یک ممیز جلوی sqr بگذارید
-flag=true
-برو به L1
else:

-به L1 برو


پایان:
End
-----------------------------------
اگر مثال نیاز بود،ارسال می کنم

اَرژنگ
دوشنبه 07 فروردین 1385, 19:32 عصر
مهندس آرژنگ!
دوما استفاده از بسطهای توابع عمومی ترین راه برای تقریب توابعه.
دوماً اگر منظورتان از بسطهایه تابع
Taylor , Laurent Exapnsion
هست، بعد از گزراندن یک واحده numerical analysis متوجه میشید که خیلی راه‌هایه بهتری هستند، اسماً:
Iteritive methods, Halleys methd ....
با احترام

Sepidar
دوشنبه 07 فروردین 1385, 23:18 عصر
والا من در حد آب، بابا، آب پاش بیشتر بلد نیستم :خجالت:
شما عفو بفرمایید :لبخندساده

اَرژنگ
سه شنبه 08 فروردین 1385, 08:13 صبح
والا من در حد آب، بابا، آب پاش بیشتر بلد نیستم :خجالت:
شما عفو بفرمایید :لبخندساده
من پوزش عرض میکنم.
مثل اینکه منظورم را اشتباه متوجه شدین. من دو روز فکر کردم سر اینکه بسطهایه تابع جیه، بعدش هم که متوجه شدم که منظورتون چیه، فکر کردم فارغ اتحصیله ریاضیات از دانشگاه هستید، چونکه کمتر کسی در مورد بستهایه تابع میدونه. از اینکه به نظرتون اینکه کی چی میدونه را پیش کشیدم معذرت میخوام.
جواب شما در این موضوع به نظر من پر اهمیت آمد، بخاطر همین سعی کردم جواب بدم. بازهم از اینکه باعث شدم که بجایه اینکه این موضوع به صورت مثبت پیش بره و اینکه شما را وادار کردم که بگید هیچ چی نمیدونید واقعاً شرمندم، اگر بزرگان راهنمایی کنند که کجایه جوابم باعث شدم شما احساس ناراحتی کنید، با خوشحالی عوضش میکنم، اگر لحن جوابم به نظرتون خوب نیامد، لطفاً ببخشید، عادته که تند و سریع جواب بدم، و گرنه از اشتیاق اشتراک شما در این موضوع کم کردن قصدم نبود. با اشتیاق منتظر جواب و یا سوالات شما و دیگران در این بحث بودم
بازهم ببخشید.

Sepidar
سه شنبه 08 فروردین 1385, 11:21 صبح
نه اخوی اختیار داری... :لبخندساده
غرض مشترک شدن تو اطلاعات همدیگست. قرار هم نیست که احیانا اگه کسی کمتر بلد بود، یه جوری رفتار کنیم که بقول معروف طرف بخوره تو پرش :اشتباه:
به هر حال من قضیه رو همینجا تموم شده تلقی میکنم...

==============================





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

amir67
سه شنبه 08 فروردین 1385, 17:35 عصر
:گیج: :گیج: :تشویق: :تشویق:
متشکرم::
سلام
در مورد جواب سریع به سوال می توان گفت بستگی به زبان دارد و لی می توان عدد را به توان نصف(1تقسیم بر دو) رساند.

amir67
سه شنبه 08 فروردین 1385, 17:35 عصر
:گیج: :گیج: :تشویق: :تشویق:
متشکرم::
سلام
در مورد جواب سریع به سوال می توان گفت بستگی به زبان دارد و لی می توان عدد را به توان نصف(1تقسیم بر دو) رساند.

amir67
سه شنبه 08 فروردین 1385, 17:39 عصر
در جواب سریع میتوان می توان به توان نصف عدد یک (یک تقسیم بر دو) رساند

Mega7000
چهارشنبه 09 فروردین 1385, 02:02 صبح
سلام به دوستان عزیز
لطفا بجای این کارها، یکم بهتره نیست به بحث اصلی مون بپردازیم و از حاشیه پردازی دوری کنیم؟!

اَرژنگ
جمعه 11 فروردین 1385, 15:31 عصر
مهندس آرژنگ!
منم میدونم راه حلهای دیگه ای هم هست. اما اولا وقتی قراره به یه پست جواب بدی درست جواب بده. یعنی مثلا اینجا دقیقا ذکر کن که اون روش دیگه ای که تو ذهنته چیه. دوما استفاده از بسطهای توابع عمومی ترین راه برای تقریب توابعه.

با عرضه پوزش دوباره از استاد سپیدار! حرف شما درست بود، اگر راهه دیگه هست باید میگفتم، قبلاً خودم همینجا از بقیه همین اشکال را مطرح کرده بودم، ولی باید بگم که کم خابی بد چیزیه، جوابهای قبلیم رو خوندم خودم شاخ درآوردم که چی نوشته بودم! روزی از ۱۶ ساعت بیشتر نباید به کامپیوتر نگاه کرد! به هرحال جواب این سوال را برایه دلفی نوشتم گذاشتم اینجا،




function SquareRoot( const X : real; const Tolerance : real):real;
var
X_next,X_current: real;
begin
X_current := X;
while ((ABS(X_next - X_current) < Tolerance)) do begin
X_next := 0.5*(X_current + X/X_current);
X_current := X_next;
end;
result := X_current;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Caption := FloatToStr( SquareRoot(9 , 0.001 ) );
end;

amin zadehnoori
سه شنبه 15 فروردین 1385, 15:53 عصر
:گیج: :گیج: :گیج: :گیج: :گیج: :متفکر: :متفکر: :متفکر: :اشتباه: :اشتباه: :::



الگوریتم این روش:
1-start
2-input x
3-i=i+1
4-if i^2<=x<(i+1)^2 true then go to next line if not goback to line3.

5.c=.x-i/(I+1)^2-i^2

6.sqrt(x)=i+c

7.end.


عدد حاصل بسیار به جزر عدد نزدیک است.



محمد امین زاده نوری قربان شما

اَرژنگ
سه شنبه 15 فروردین 1385, 18:02 عصر
:گیج: :گیج: :گیج: :گیج: :گیج: :متفکر: :متفکر: :متفکر: :اشتباه: :اشتباه: :::
الگوریتم این روش:


1-start
2-input x
3-i=i+1
4-if i^2<=x<(i+1)^2 true then go to next line if not goback to line3.
5.c=.x-i/(I+1)^2-i^2
6.sqrt(x)=i+c
7.end.

عدد حاصل بسیار به جزر عدد نزدیک است.

خیر! با این روش بهترین جواب از جواب واقعی از ۳ تا بیشتر فرق داره.
در ضمن بر طبق این الگریتم جزر ۱۰۰ تقریباً مساویه با ۲۰ که از جوابه واقعی ۱۰ تا بشتره.