PDA

مشاهده نسخه کامل : ریاضی و ویژوال بیسیک دات نت



ravegoat
25-04-08, 21:48
در این مقاله نحوه ی به کار بردن معروف ترین اعمال ریاضی را در ویژوال بیسیک دات نت شرح می دهیم.

معروف ترین اعمال ریاضی در VB.Net در کلاس Math قرار دارند:


(عدد)Math.Abs
حاصل، قدر مطلق عدد
Math.Abs(-1)=1

(عددی بین یک و منفی یک)Math.ACos
حاصل، آرک کسینوس عدد که زاویه ای بر حسب رادیان است
*آرک کوسینوس برابر با معکوس تابع کوسینوس است
ACos(0.5)=Math.PI / 3

(عددی بین یک و منفی یک)Math.ASin
حاصل، آرک سینوس عدد که زاویه ای بر حسب رادیان است
Math.ASin(0.5)=Math.PI / 6

(عدد)Math.ATan
حاصل، آرک تانژانت عدد که زاویه ای بر حسب رادیان است
Math.ATan(1)=Math.PI / 4

(عدد)Math.Ceiling
حاصل، سقف عدد
*سقف عدد برابر است با جز صحیح یک عدد بعلاوه ی یک
Math.Ceiling(3.14)=4
Math.Ceiling(-1.5)=-1

(زاویه بر حسب رادیان)Math.Cos
حاصل، کسینوس زاویه
Math.Cos(Math.PI / 3)=0.5

Math.E
عدد ایی برابر 2.71

(عدد)Math.Floor
حاصل، جز صحیح (کفی یا براکت) عدد
Math.Floor(3.14)=3 [3.14]=3
Math.Floor(-1.5)=-2 [-1.5]=-2

(مبنای لگاریتم, عدد)Math.Log
حاصل، لگارتیم عدد در مبنای داده شده
Math.Log(8, 2)=3

(عدد, عدد)Math.Max
حاصل، عدد بزرگ تر
Math.Max(10, 11)=11

(عدد, عدد)Math.Min
حاصل، عدد کوچک تر
Math.Min(10, 11)=10

Math.PI
عدد پی برابر 3.14

(عدد)Math.Round
حاصل، عدد گرد شده
Math.Round(4.777)=5
Math.Round(7.444)=7

(عدد)Math.Sign
حاصل 0، 1 ویا -1
*تابع تعیین علامت
Math.Sign(-7)=-1

(زاویه بر حسب رادیان)Math.Sin
حاصل، سینوس زاویه
Math.Sin(Math.PI / 6)=0.5

(عدد نا منفی)Math.Sqrt
حاصل، جزر عدد
Math.Sqrt(4)=2

(زاویه بر حسب رادیان)Math.Tan
حاصل، تانژانت زاویه
Math.Tan(Math.PI / 4)=1

(عدد)Math.Truncate
حاصل، مقدار بخش صحیح عدد
Math.Truncate(3.14)=3
Math.Truncate(-1.5)=-1


برخی دیگر از اعمال ریاضی:

ریشه گیری:

(فرجه/1, عدد)Math.Pow
Math.Pow(81, 1/4)=3 ریشه ی چهارم 81


معکوس عدد:

عدد/1
یا عدد را به توان -1 برسانیم


فاکتوریل عدد:

مقدار عدد را برابر یک قرار می دهیم

Try
عدد For Fact as Long = 1 to
عدد*=Fact
Next
Catch
("فاکتوریل عدد برابر بی نهایت است")Msgbox
End Try


مقدار عدد فی:


Dim Fi as Long
Fi = (1 + Math.Sqrt(5)) / 2


به دست آوردن کوتانژانت:

چون تانژانت معکوس کوتانژانت است پس:


Dim Cot as Long
(مقدار زاویه بر حسب رادیان)Cot = 1 / Math.Tan


به دست آوردن آرک کوتانژانت:


Dim ACot as Long
(عدد/ACot = Math.ATan(1


تبدیل رادیان به درجه و بلعکس:

رادیان به درجه:

رادیان * 57.295779513082320876798154814105


درجه به رادیان:

درجه تقسیم بر 57.295779513082320876798154814105


لگاریتم در مبنای 10:


(عدد)Math.Log10
Math.Log10(100)=2


مقدار هگزادسیمال:


(عدد)Hex
Hex(1)=1


نکته:
توابع کلاس Math قدرت تسخیص خطا را دارند:

Math.Log10(-2)=NaN
لگارتیم برای اعداد مثبت تعریف شده است

Math.Tan(Math.PI / 2)=Infinity
تانژانت 90 درجه برابر بی نهایت است

مقدار فاکتوریل برای اعداد 0 تا 20 قابل قبول است. فاکتوریل عدد 21 بسیار بزرگ بوده، به گونه ای که در متغیری از نوع Long هم جای نمی گیرد.

برنامه ی زیر مثال خوبی برای توضیحات بالا است:

دانلود ماشین حساب (فارسی) (Only the registered members can see the link)08 (Only the registered members can see the link)

Only the registered members can see the link

اندازه: 43.7 کیلوبایت
نوع برنامه: فایل اجرایی ویندوز - برنامه ی کاربردی پورتابل
توضیحات: همراه با سورس ویژوال بیسیک دات نت و فونت برنامه
* برای اجرای این برنامه نیاز به نصب dotNetFramework 2.0 بر روی ویندوز دارید.

K A S R A
25-04-08, 22:05
سلام آرمین جان ... :1. (40):
من نمیدونم چرا این دکمه تشکر که می زنم Error میده




Your submission could not be processed because a security token was missing or mismatched.

If this occurred unexpectedly,
please inform the administrator (Only the registered members can see the link) and describe the action you performed
before you received this error.


Only the registered members can see the link
عزیز جون دست درد نکنه ... :merci:

ravegoat
26-04-08, 06:22
با سلام!

قابلی نداشت کسری جان!:wink:

با سپاس
آرمین:give_rose:

MoBiN.R
26-04-08, 19:37
دست شما درد نکنه آرمین جان .. فقط عزیز سعی کن فایل های آپلودی خودت رو توی همین سایت آپلود کن

ravegoat
27-02-09, 08:44
با الگوي زير مي توان يك ماتريس را تعريف كرد:


Dim MatrixName(m As Integer, n As Integer) As Integer

مثلا" كد زير يك ماتريس 4*3 را تعريف مي كند:



چون فهرست گذاري اعداد در ويژوال بيسيك از صفر شروع مي شود بايد از مقدار 3 و 4 ، يك واحد كم كنيم.'

Dim mymatrix(2, 3) As Integer

براي دستيابي به درآيه هاي ماترس از الگوي زير كمك مي گيرم:


(MatrixName(i As Integer, j As Integer

طبق مثال كد زير درآيه 23 را برمي گرداند:



چون فهرست گذاري اعداد در ويژوال بيسيك از صفر شروع مي شود بايد از مقدار 2 و 3 ، يك واحد كم كنيم.'

mymatrix(1, 2)

براي مقداردهي مي توانيم از كد زير استفاده كنيم:



MatrixName(i As Integer, j As Integer) = a As Integer

مثال:



مقدار درآيه 23 برابر يك مي شود'

mymatrix(1, 2) = 1


به گونه اي ديگر هم مي توان يك ماتريس را تعريف نمود. به مثال زير توجه كنيد:



Dim mymatrix( , ) As Integer = {{1, 2, 3}, {4, 5 ,6}}
كد بالا اين چنين ماتريسي را تعريف مي كند:

3 2 1
6 5 4

ravegoat
04-01-10, 14:13
در VB.Net مي تونيد با استفاده از دستور هاي زير به توابع هايپربوليك دسترسي داشته باشيد:

Math.Sinh()
براي سينوس هايپربوليك

Math.Cosh()
براي كسينوس هايپربوليك

و
Math.Tanh()
براي تانژانت هايپربوليك

معكوس اين توابع به راحتي از تعريف نتيجه مي شود. به عنوان مثال:

معكوس سينوس هايپربوليك:




Function ASinh(ByVal number As Double) As Double
ASinh = Math.Log(number + Math.Sqrt(number ^ 2 + 1), Math.E)
End Function



توجه داشته باشيد Math.Log(X,Math.E) معادل Ln(X) است. يعني لگاريتم طبيعي (لگاريتم در مبناي عدد نپر)

ravegoat
22-01-10, 08:38
با سلام!

قبلا" در مورد انتگرال گيري معين با VBScript توضيحاتي داده شده بود. در اين بخش قصد داريم براي محاسبه ي انتگرال در زبان VB.Net از ميانگين ريمان بالا و پايين استفاده كنيم.
ريمان بالا ماكسيمم مقدار متغير در يك بازه و ريمان پايين مينيمم مقدار متغير است.

براي تشخيص اين مقادير از دستور Math.Max و Math.Min بهره مي گيريم.

براي نزديك كردن مقدار انتگرال تقريبي به مقدار واقعي آن از دستور Math.Round كمك مي گيريم. همان طور كه در سورس مشاهده مي كنيد با فرمان Round اعداد تا 4 رقم بعد از اعشار گرد مي شوند.

سورس زير مقدار انتگرال تابع X ^ 4 را در بازه ي 0 تا 100 به دست مي آورد:
ابتدا مجموعه Math را با دستور Imports System.Math وارد پروژه كنيد.





Dim sum1, sum2 As Double
For i As Double = 0 To 100 Step 0.0001
sum1 += Min(i ^ 4, (i + 0.0001) ^ 4) * 0.0001
Next
For i As Double = 0 To 100 Step 0.0001
sum2 += Max(i ^ 4, (i + 0.0001) ^ 4) * 0.0001
Next
MsgBox(Round((sum1 + sum2) / 2, 4))



با سپاس
آرمين:11():