C. Del Turco Inviato 25 Marzo Segnala Share Inviato 25 Marzo (modificato) Nello studio delle caratteristiche di direttività di alcune particolari basi idrofoniche circolari che ricevono il suono nella direzione perpendicolare al piano d’appoggio, vedi figure o e o’ : fg. o fig. 0' si deve ricorre al computo delle funzioni di Bessel, o per via tabellare o con routine di calcolo. La valutazione tabellare è per valori discreti, migliore definizione di calcolo si ha con una routine software in Visual Basic il cui listato a seguire: Listato del programma ‘Da trasferire in ambiente VB con copia/incolla Dim s1 As Double Dim i1 As Double Dim p1 As Double Dim y1 As Double Dim x1 As Double Private Sub text1_KeyPress(KeyAscii As Integer) If InStr("-+.0123456789" + Chr(&H8), Chr(KeyAscii)) = 0 Then KeyAscii = 0 End Sub Private Sub text2_KeyPress(KeyAscii As Integer) If InStr("-+.0123456789" + Chr(&H8), Chr(KeyAscii)) = 0 Then KeyAscii = 0 End Sub Private Sub text3_KeyPress(KeyAscii As Integer) If InStr("-+.0123456789" + Chr(&H8), Chr(KeyAscii)) = 0 Then KeyAscii = 0 End Sub Private Sub Command1_Click() Label2.Caption = "" Cls If Combo1.Text = "n = 0" Then n = 0 If Combo1.Text = "n = 1" Then n = 1 If Combo1.Text = "n = 2" Then n = 2 z = Val(Text1.Text) s1 = Val(Text2.Text) If s1 = 0 Then s1 = 0.0001 i1 = 0 a1 = 0 b1 = 3.14159265 For x1 = 0 To b1 Step s1 y1 = (1 / 3.14159265) * Cos(z * Sin(x1) - n * x1) p1 = y1 * s1 i1 = p1 + i1 PSet (1200 + 610 * x1, 3500), vbRed Next x1 Dim ns As String Dim i1s As String Dim zs As String zs = z ns = n i1s = Format(i1, "#.#####") Label2.Caption = "J" + ns + "(" + zs + " ) = " + i1s Circle (1200 + 610 * 3.14, 3500), 44, vbRed End Sub ‘ Nel combo si devono listare i numeri: 0; 1; 2 Per l’impiego della routine si realizza un pannello di comando con alcuni oggetti: un combo, un textbox, un pulsante, un label nascosto sotto il pulsante calcolo, come mostra la figura 1: fig. 1 L’impiego del calcolatore è semplice: si selezione sul combo l’ordine nj della funzione da computare si digita nel TextBox l’argomento x della funzione si pigia il pulsante calcolo: a seguito dell’azione sul pulsante sotto di esso si sviluppa, in crescendo, un segmento rosso che indica che la routine sta girando regolarmente, alla fine della computazione all’estremità destra del segmento compare un cerchietto e contemporaneamente, sotto di esso il valore Jn(x) . Un esempio In figura 2 il computo di j2 (nj=2) per x = 0.4563: j2 =0.94862 fig. 2 Modificato 26 Marzo da C. Del Turco Citare Link al commento Condividi su altri siti More sharing options...
Messaggi raccomandati
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.