• Nie Znaleziono Wyników

Rozwi ą zanie KolVB7

N/A
N/A
Protected

Academic year: 2021

Share "Rozwi ą zanie KolVB7"

Copied!
2
0
0

Pełen tekst

(1)

Copyright © 2009, Janusz Bonarowski

1

KolVB7

Za pomocą instrukcji cyklu znajdź wartość argumentu, dla którego funkcja cos(x) osiąga pierwsze minimum. Obliczenia wykonać z krokiem dx=0.01

Rozwiązanie

Rys. 1. Propozycja formularza

Objaśnienia algorytmu znajdują się w kodzie aplikacji

(2)

Copyright © 2009, Janusz Bonarowski

2 Kod aplikacji

Private Sub btnOblicz_Click(ByVal sender As System.Object, _

ByVal e As System.EventArgs) Handles btnOblicz.Click Dim dx, xstart As Double

Dim x1, x2, y1, y2 As Double

' Wyczyszczenie listy podglądu ListBox1.Items.Clear()

' Pobieranie danych dx = CDbl(txtDx.Text)

xstart = CDbl(txtXstart.Text)

' Aby badać funkcję musimy posiadać jakieś o niej informacje.

' Załóżmy zatem, że wiemy tylko tyle:

' (1) funkcja cos(x), dla x bliskich 0 ma wartości maksymalne

' (2) wraz ze wzrostem x funkcja maleje, aż do osiągnięcia minimum.

' Określamy wartość funkcji dla punkty startowego ' i dla punktu następnego.

x1 = xstart

y1 = Math.Cos(x1)

x2 = xstart + dx y2 = Math.Cos(x2)

' Wydruk kontrolny do ListBox1

ListBox1.Items.Add(Format(x1, "0.000").ToString & " ; " & _ Format(y1, "0.000000").ToString) ListBox1.Items.Add(Format(x2, "0.000").ToString & " ; " & _ Format(y2, "0.000000").ToString)

' Jeśli jesteśmy na począku poszukiwania, to y2 < y1

' Będziemy zwiększać argument x w kolejnych krokach i badać ' czy nowa wartośc funkcji nadal jest mniejsze od poprzedniej.

' Poszukiwania należy zatrzymać, gdy nowa wartość funkcji ' jest większa od starej wartości.

Do While y2 < y1 y1 = y2 x2 = x2 + dx y2 = Math.Cos(x2)

ListBox1.Items.Add(Format(x2, "0.000").ToString & " ; " & - Format(y2, "0.000000").ToString) Loop

' Gdy program zajdzie się w tym miejscu (wyszedł z pętli), ' oznacza to, że y2 nie jest mniejsze od y1.

' Można zatem powiedzieć, że y1 jest wartością minimalną finkcji, ' a (x2 - dx) jest wartością argumentu dla tego minimum

lblWynik.Text = "x = " & (x2 - dx).ToString & vbCrLf & _ "y = " & y1.ToString

End Sub

Cytaty

Powiązane dokumenty

emisj¦ CO2, przyjmuj¡c, »e gaz ten kr¡»y w obiegu zamkni¦tym { wyemitowany do atmosfery w procesie spalania jest nast¦pnie absorbowany w biosferze (przyrost biomasy

przeª¡czenie nast¦puje w chwili, w której chwilowa warto±¢ sygnaªu steru- j¡cego jest równa napi¦ciu UPN.. Ad.d) Zakªadaj¡c, »e maksymalny poziom dodatniego napi¦cia

Rozwi¡zanie: We wszystkich punktach x, dla których log |x| ̸= 0 (czyli x ̸= ±1) funkcja jest ró»niczkowalna, jako

Wszystkie punkty x nie b¦d¡ce liczbami caªkowitymi s¡ wi¦c punktami ci¡gªo±ci f... Teraz sprawdzamy zera

Chcemy pokaza¢, »e jest najwi¦kszym ograniczeniem

jest

Poszu- kajmy najpierw ekstremów lokalnych

Korzystaj¡c trzech pocz¡tkowych wyrazów (zerowego, pierwszego i drugiego) odpowiednio dobranego szeregu Taylora oblicz przybli»on¡ warto±¢ √