Skocz do zawartości


Zdjęcie

Tablicowanie wartości funkcji

VisualBasic tablicowanie

  • Zaloguj się, aby dodać odpowiedź
Brak odpowiedzi do tego tematu

#1 r3mix

r3mix
  • Użytkownicy
  • 1 postów

Napisano 14 styczeń 2017 - 01:15

Witam .
Mam do zrobienia program,który tablicuje wartośc funkcji oraz jej rozwiniecie w szereg.
(1+5*x)^1/3=1+1/3*(5*x)-2/(3^2*2!)*(5*x)^2+2*5/(3^3*3!)*(5*x)^3-2*5* 8/(3^4*4!)*(5*x)^4+2*5*8*11/(3^5*5!)... itd.
x należy do przedziału (-0.2;0.2).
Moim zadaniem jest:
1. podanie wartosci eps ,n i przedziału jako danych (czytanie z arkusza Excel)
2. obliczenie dla kazdego x z danego przedzialu przy danym n wartosci szeregu oraz funkcji
3. tablicowanie wynikow na arkuszu Excel w formie tabeli:
| Nr | x | f(x) | s(x) | błąd |

Tyle zrobiłem sam - dobrze tablicuje wartosci funkcji , mam problem z szeregiem oraz błedem .


 

Dim a As Double, b As Double
Dim n As Integer, i As Integer, j As Integer
Dim eps As Double
Dim x As Double, s As Double, w As Double
Dim f As Double
Dim dx As Double
Dim q As Double
Sub szereg()
a = CDbl(Cells(1, 1).Value)
b = CDbl(Cells(1, 2).Value)
n = CInt(Cells(1, 3).Value)
eps = CDbl(Cells(1, 4).Value)
dx = (b - a) / CDbl(n)
For i = 0 To n Step 1
x = a + CDbl(i) * dx
f = (1 + 5 * x) ^ (1 / 3)
s = 1#
w = 1 / 3 * (5 * x)
j = 2
q = 2

Do
s = s + w
w = (-1) * w * q * x / (3 * j)
j = j + 1
q = 2 + (3 * (j - 2))

Loop While Abs(w) >= eps
Cells(4 + i, 1).Value = i + 1
Cells(4 + i, 2).Value = x
Cells(4 + i, 3).Value = f
Cells(4 + i, 4).Value = s
Cells(4 + i, 5).Value = (f - s) / (f * 100)
Next i
End Sub

 

 


  • 0




Również z jednym lub większą ilością słów kluczowych: VisualBasic, tablicowanie

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych