ايران ويج

نسخه‌ی کامل: توابع آرک
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2
ویژوال بیسیک توابعی برای بدست آوردن آرک سینوس و کسینوس و ... نداره؟
یه سوال دیگه (سه روز اینترنت نداشتما!)
چرا این کد عمل نمیکنه؟!
کد:
[align=left]Private Sub Command1_Click()
Dim num As Integer
num = 6
If 2 < num < 4 Then MsgBox num
End Sub
[/align]
سلام

Private Sub Command1_Click()
Dim num As Integer
num = 6
If 2 < num And num < 4 Then MsgBox num
End Sub
spiderman نوشته است:ویژوال بیسیک توابعی برای بدست آوردن آرک سینوس و کسینوس و ... نداره؟

متاسفانه نه ! فقط واسه تانژانت داره که اونم تابع ()Atn هست .
نقل قول: سلام

Private Sub Command1_Click()
Dim num As Integer
num = 6
If 2 < num And num < 4 Then MsgBox num
End Sub
ممنون

نقل قول: متاسفانه نه ! فقط واسه تانژانت داره که اونم تابع ()Atn هست .
خوب چرا فقط این atn رو گزاشتن!!
فکرکنم با یه سری محاسبه دیگه بشه. قبلا یه جا دیدم. شما بلد نیستین؟
دوست عزيز ويژوال بيسيك توابعي رياضي داره بعضي از اونهايي كه توي خاطر م هست اينها هستند .
text1.text = sin(text2.text)
text1.text = tan(text2.text)
text1.text = cos(text2.text)
text1.text = atn(text2.text)
text1.text = abs(text2.text)
bye

esnaashari نوشته است:دوست عزيز ويژوال بيسيك توابعي رياضي داره بعضي از اونهايي كه توي خاطر م هست اينها هستند .
text1.text = sin(text2.text)
text1.text = tan(text2.text)
text1.text = cos(text2.text)
text1.text = atn(text2.text)
text1.text = abs(text2.text)
bye

سوالم واضح نبود ؟!
ببین دوست من مباحث ریاضی با کامپیوتر در خیلی جا ها درگیر میشه ! یکیش همین جا هستش . شما فکر می کنی توابع زبانهای برنامه نویسی مثلا مقدار (Sin(X یا لگاریتم رو چطوری محاسبه می کنن ؟؟
جوابش خیلی ساده هست و اونهم اینه که تعداد زیادی از توابع معروف ریاضی مثل همین مثلثاتی ها یا توابع آرک یا لگاریتمی در یک حالت سری وار بسط داده میشن ( امیدوارم مفهوم دنباله و سری رو بدونی )
کاری ندارم که این سری ها چطور بدست میان چون مربوط به ریاضیات دانشگاهی میشه اما تمام این توابع می تونن به شکل مجموعه ای از سری ها با نام سری های مکلورین ( Maclaurin series ) دربیان . این سری ها خیلی ساده هستن و خیلی راحت به الگوریتم تبدیل میشن و فقط کافیه جای X مقدار دلخواهت رو بزاری و تا مقدار دقتی که لازم داری توی سری جلو بری تا مقدار تقریبی تابع رو توی اون نقطه دلخواه بدست بیاری ! لینک پایین تمام این سری ها رو شامل میشه ( توابع آرک همون هایی هستن که توان 1- دارن ، در واقع این مدل جدید و استاندارد نمایش توابع آرک هست )

http://mathworld.wolfram.com/MaclaurinSeries.html

از شماره 26 به بعد حالت کلی سری های مختلف نوشته شده که خیلی راحت در زبانهای برنامه نویسی با کمک حلقه ها قابل تبدیل شدن به الگوریتم هستن !
این کد رو من نوشتم و استفاده می کنم. حالشو ببر
Private Const Under_Zero_D  As String = "Input Is Less Than Zero"
Private Const More_One_D As String = "Input Is More Than One"

Private Const PI As Double = 3.14159265358979



Function Asin(x) As Double

If Abs(x) > 1 Then VBA.Err.Raise CErr.More_One_N, "Asin", More_One_D

If x > 0 Then Asin = Atn(Sqr(Tan(Atn(x)) ^ 2 / (1 - Tan(Atn(x)) ^ 2)))
If x < 0 Then Asin = -Atn(Sqr(Tan(Atn(x)) ^ 2 / (1 - Tan(Atn(x)) ^ 2)))
If x = 0 Then Asin = 0

End Function

Function Acos(x) As Double

If Abs(x) > 1 Then VBA.Err.Raise CErr.More_One_N, "Acos", More_One_D

If x = 1 Then Acos = 0: Exit Function
If x = -1 Then Acos = PI: Exit Function
If x = 0 Then Acos = PI / 2: Exit Function

If x > 0 Then
Acos = Atn(Sqr((1 - Tan(Atn(x)) ^ 2) / Tan(Atn(x)) ^ 2))
Else
Acos = (PI) - Atn(Sqr((1 - Tan(Atn(x)) ^ 2) / Tan(Atn(x)) ^ 2))
End If

End Function
ممنون از همه دوستان توضيحات ممد2003خيلي كامل و واضح بود.
آقای ممد2003 که کارش حرف نداره!
اگه درست فهمیده باشم یه مثال برا این حرف دنباله فیبوناتچی که اعداد اول رو میده.
از اون لینک هم سر در نیاوردم. (اون علامت شبیه E چی بود!)
حالا یه تابع اگه سراغ دارین بگین. مثل اینی که آقای geoomatic گزاشت. البته این یا خطا می داد. یا اشتباه جواب میداد!
صفحه‌ها: 1 2