View Full Version : محاسبه سری x
aleas2
چهارشنبه 24 اسفند 1390, 19:59 عصر
سلام خسته نباشید استاد برنامه ای داده
که x را گرفته و سری رامحاسبه و نمایش دهد؟
s(x)=1+1/x^3-2/x^5+3/x^7-4/x^9+... 5
حالا موندم پایان این چی تا کی باید ادامه بده ؟کسی میدونه؟
Veteran
چهارشنبه 24 اسفند 1390, 20:06 عصر
فکر کنم اینو باید استادت بگه !
شما کاری با تا کی ادامه دادانش نداشته باش
برنامه رو بنویسدیگه تا کی با برنامه.شما تا n تا میتونی نمایش بدی
aleas2
چهارشنبه 24 اسفند 1390, 22:20 عصر
مشکل اینه الان دگه کلاس نمیرم تا بعد 13 که اونم چندتا برنامه داده اوین جلسه میخواد
یعنی اگر x مثلا 5 بود تا 5 ادامه بده؟
SlowCode
چهارشنبه 24 اسفند 1390, 22:36 عصر
خوب با فرمول a\1-q می تونید حاصل جمع این دنباله رو بدست بیارید، فقط کافیه به جای a عدد اول و به جای q قدر نسبت اون ها رو بزارید.
SlowCode
چهارشنبه 24 اسفند 1390, 22:43 عصر
اوه ببخشید به فرمول نگاه نکردم، فکر کنم این مخلوطی از چندتا سری هست، پس اول مرتبش کنین بعد با توابع ریاضی حلش کنین. اگه تو کدنویسی مشکل دارید، روش حل ریاضی رو بگید تا کدش رو بنویسیم.
aleas2
چهارشنبه 24 اسفند 1390, 22:49 عصر
والا خودم تو حل ریاضیش موندم خواهشا" اگر کسی فهمید بگه
SlowCode
چهارشنبه 24 اسفند 1390, 22:55 عصر
این دوتا سری هندسی هست 1+ :
S(X) = 1 + (1/x^3 + 3/x^7 + ...) - (2/x^5 + 4/x^9 + ...)
مسئله اینه که صورت اینها ثابت نیست، من سعی میکنم فردا جواب رو بگم.
Veteran
چهارشنبه 24 اسفند 1390, 23:00 عصر
نه وقتی x
5
هست شما باید به جای x که در سری 1+1/x^3-2/x^5+3/x^7-4/x^9+...
اومده مقدار 5 رو قرار بدی
من که به این شکل تونستم بنویسم
برداشتی که من از این سری کردم اینه
ممکنه اشتباه باشه و منظور چیزه دیگه ای باشه
Dim tf As Boolean
Dim k As Double
Dim b As Integer
b = 3
x = Val(InputBox(""))
k = 1 / 1
For a = 2 To 10
If tf = False Then
k = k / (x ^ b - a)
b = b + 2
tf = True
End If
If tf = True Then
k = k / (x ^ b + a)
b = b + 2
tf = False
End If
Next
Print k
SlowCode
چهارشنبه 24 اسفند 1390, 23:05 عصر
این سری بی نهایت جمله داره و حدش به صفر میل میکنه ولی شما محدودش کردین. درست نیست.
Veteran
چهارشنبه 24 اسفند 1390, 23:26 عصر
میتونین حلقه رو زیاد کنین
من ریاضیم خوب نیست :لبخند::اشتباه:
aleas2
چهارشنبه 24 اسفند 1390, 23:43 عصر
نه فکر کنم اینی شما حل کردین از نظر ریاضی اشتباه هسته فکر کنم مسئله باید به یه جوابی برسه که وقتی به اون جواب رسیده دگه ادامه نده که اینو دگه کسی که ریاضی بلده باید بگه
IamOverlord
پنج شنبه 25 اسفند 1390, 10:43 صبح
سلام،
اون سری رو دست هم نباید بهش بزنین! فقط باید تا هر چه قدر که خواستید -بیش تر بهتر- ادامه اش بدید. مثل سری های سینوسی و کسینوسی که از طریق بسط تیلور به دست میان.
ضمنا اون سری پایانی نداره، هیچ وقت هم به جواب دقیق نمی رسه بلکه به جواب میل می کنه. بستگی به شما داره که جواب رو با چه دقتی می خوای.
aleas2
پنج شنبه 25 اسفند 1390, 13:09 عصر
پس مشکل از برنامه ای استاد خواسته هسته؟
برای حل مشکل تو برنامه تعریف کنم از کاربر بپرسه تا چه دقتی سری رو انجام بده بهتر نیست؟
aleas2
جمعه 11 فروردین 1391, 11:42 صبح
دوستان کسی بلخره فهمید پایان این سری چی؟
aleas2
جمعه 18 فروردین 1391, 14:56 عصر
کسی به جواب این سری پی نبرده که پایانش چی؟
اگر باید بگم تا چه درصدی این سری رو انجام بده بصور مثال تا درصد یک دهم درصد میخوام این سری انجام بده چطور باید اینکارو بکنم کسی سورسشو داره؟
just4froum
جمعه 18 فروردین 1391, 20:48 عصر
بفرمایید ببین این خوبه :
تا جایی که برنامه اررور نده به این دنباله ادامه میده و دنباله هم برات چاپ میکنه و در آخر تعداد مراحل انجام شده هم میگه .
یه command و text بگذار روی فرمت و autoredraw رو true کن.
Private Sub Command1_Click()
On Error GoTo cmd_Error
Dim Total As Double
Dim f As Long
Dim s As Long
Dim x As Long, xx As Double
Total = 1
f = 1
s = 3
x = 2
Form1.Print "1 + ";
Do While 1
xx = (f / (CLng(Text1.Text) ^ s))
Form1.Print CStr(f) & "/" & CLng(Text1.Text) & "^" & CStr(s);
If f Mod 2 = 1 Then
Total = Total + xx
Form1.Print " - ";
Else
Total = Total - xx
Form1.Print " + ";
End If
f = f + 1
s = s + 2
If x Mod 10 = 0 Then Form1.Print
x = x + 1
Loop
cmd_Error:
MsgBox "javab mishavad : " & Total & vbCrLf & "Tedad marhale anjam shode : " & CStr(x - 1)
End Sub
aleas2
جمعه 18 فروردین 1391, 21:14 عصر
ممنون میشه بگین برداشتی شما از این سری کردین چی؟ جواب چی تا کی ادامه باید داد؟یعنی تا زمانی که برنامه ارور میده ادامه میده
برداشت خاصی از سری نداشتین؟
just4froum
جمعه 18 فروردین 1391, 22:18 عصر
من دقیقا عمل سری را انجام دادم !!!
فرض کنید
1 + a1/x^b1 - a2/x^b2 + ...
خوب a که اولش برابر 1 هست و در هر مرحله یکی بهش اضافه می کنیم
b هم که اولش 3 هست و در هر مرحله دوتا بهش اضافه میشه
اگر هم a فرد باشه با عبارت جمع میشه و اگر زوج باشه از عبارت کم میشه.
همه ی مراحل رو که چاپ میکنه !!!
Do while 1 برای همیشه ادامه پیدا میکنه مگر برنامه به ارروری برسه یا به exit do که ما در اینجا به اررور میرسیم.
پس وقتی برنامه به اررور میرسه از do خارج شده و به cmd_error میره و نتایج رو نشون میده البته میگه که این عمل رو چند بار انجام داده.
SlowCode
شنبه 19 فروردین 1391, 15:23 عصر
دوست عزیز لازم نیست تا بینهایت حسابش کنی چون حد این معادله وقتی که x به بینهایت میل میکند برابر 1 میشه(چون مخرج بی نهایت میشه و عدد بر بینهایت مساوی صفر، پس فقط عدد 1 باقی میمونه) حالا اگه به جای x هر عددی بزاری باز هم جواب میشه 1 (من یه کد نوشتم هر عددی به x دادم عدد 1 اومد، البته به اعداد بزرگتر از 3 over flow میده :گیج:) به نظر من مشکل از سواله.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.