Тема: Как на VBA можно написать программу для вычисления определенного интеграла ?

Раскажите пожалуста как на VBA можно написать прогу для вычисления определеного интеграла, у меня проблема с формулами сколько не встовлял все один и тотже ответ - ноль.

Re: Как на VBA можно написать программу для вычисления определенного интеграла ?

нда вопрос прям для телепатов, жалко что я им не являюсь, может распишите, что Вам надо и как Вы это делаете.

Re: Как на VBA можно написать программу для вычисления определенного интеграла ?

Мне надо написать прогу для вычисления определенного интеграла, но так как я в  VBA практически ничего не понимаю у меня получилась вот такая хрень
Private Sub CommandButton1_Click()
Dim a, b, log, resul As Integer
a = TextBox1.Text
b = TextBox2.Text
log = TextBox3.Text
Select Case log
Case x ^ n
resul = b ^ (n + 1) / (n + 1) - a ^ (n + 1) / (n + 1)
End Select
Label2.Caption = resul
End Sub

Re: Как на VBA можно написать программу для вычисления определенного интеграла ?

> Максим
А почему переменные Integer а не Double?

Re: Как на VBA можно написать программу для вычисления определенного интеграла ?

я же говорю что нихрена не понимаю, а больше всего вопрос мне не ясен по поводу формур как сдлелать чтоб это работало

Re: Как на VBA можно написать программу для вычисления определенного интеграла ?

поменял на Double и все равно ноль

Re: Как на VBA можно написать программу для вычисления определенного интеграла ?

Напиши словами алгоритм вычисления.

Re: Как на VBA можно написать программу для вычисления определенного интеграла ?

мне нужно ввести интегрируемую функцию и по формуле, которая к ней подходит нужно расчитать значение и сэтим у меня ничего не получается

Re: Как на VBA можно написать программу для вычисления определенного интеграла ?

1) Какую функцию ты интегрируешь?
2) Какой алгоритм используешь?
3) Какие данные вводишь?
Из твоей "программы" я ничего не понял.

Re: Как на VBA можно написать программу для вычисления определенного интеграла ?

функция я ввож в TextBox3
TextBox1 начальное значение (а)
TextBox2 конечное значение  (b)
к примеру я ввожу туда функцию x^n
то по проге она долна рачитатся по формуле
b ^ (n + 1) / (n + 1) - a ^ (n + 1) / (n + 1)

Re: Как на VBA можно написать программу для вычисления определенного интеграла ?

Ты действительно думаешь, что формулу введенную в виде строки можно преобразовать в реальную функцию?
Насмешил. Саму функцию ты должен задать в коде программы в виде:

Function f(x) As Double
 f = 1 / (Log(x))
End Function

А вообще скачай этот реферат и поизучай. Там есть все, что тебе нужно:
http://cityref.ru/referats/integral.zip

Re: Как на VBA можно написать программу для вычисления определенного интеграла ?

А заодно подумай, что означает выражение x^n и где ты задаешь значения x и значение n.
На этом прощаюсь.

Re: Как на VBA можно написать программу для вычисления определенного интеграла ?

большое спасибо постараюсь справится, а если не получится я могу к Вам обратится

Re: Как на VBA можно написать программу для вычисления определенного интеграла ?

а если не получится я могу к Вам обратится

Это был вопрос или утверждение? :) Я не специалист по VBA. Надеюсь, что тебе подскажут более сведущие люди.

Re: Как на VBA можно написать программу для вычисления определенного интеграла ?

во-первых (тем, кто только начинает):
в VB 6 при объявлениях типа
Dim a, b As Integer
переменная 'a' объявляется как Empty, а переменная 'b' как Integer
(в VB.NET эту фичу убрали)
проверить моно прогой

Function GetVarType(ByRef i As Integer) As String
    Select Case i
        Case 0: GetVarType = "vbEmpty"
        Case 1: GetVarType = "vbNull"
        Case 2: GetVarType = "vbInteger"
        Case 3: GetVarType = "vbLong"
        Case 4: GetVarType = "vbSingle"
        Case 5: GetVarType = "vbDouble"
        Case 6: GetVarType = "vbCurrency"
        Case 7: GetVarType = "vbDate"
        Case 8: GetVarType = "vbString"
        Case 9: GetVarType = "vbObject"
        Case 10: GetVarType = "vbError"
        Case 11: GetVarType = "vbBoolean"
        Case 12: GetVarType = "vbVariant"
        Case 13: GetVarType = "vbDataObject"
        Case 14: GetVarType = "vbDecimal"
        Case 17: GetVarType = "vbByte"
        Case 36: GetVarType = "vbUserDefinedType"
        Case 8192: GetVarType = "vbArray"
        Case Else: GetVarType = "Uncnown Type"
    End Select
End Function

вызов с помощью:

Dim a1, a2, a3 As Integer
MsgBox "a1 - " & GetVarType(VarType(a1)) & Chr(13) & _
       "a2 - " & GetVarType(VarType(a2)) & Chr(13) & _
       "a3 - " & GetVarType(VarType(a3))

нуно объявлять так:

Dim a As Integer, b As Integer

но лучше так:

Dim a As Integer
Dim b As Integer

во-вторых интегралы решеются с помощью рядов, а ряды программируются с помощью рекурсивных циклов с проверкой точности (например если достигнута точность до 0,001 происходит выход из цикла. Попробуй сам разобраться с рекурсивными циклами, если не получится - пиши

Re: Как на VBA можно написать программу для вычисления определенного интеграла ?

или это не интегралы а тригонометрические функции решаются с помощью рядов (эх, давно это было...)???

Re: Как на VBA можно написать программу для вычисления определенного интеграла ?

а...
это у тебя происходит потому, что ты не продекларировал переменную 'n' и она у тебя автоматом стала n=0. чтоб такого небыло (чтобы автоматом ничего не декларировалось) используй Option Explicit
вроде код должен быть такой:

Option Explicit
Private Sub CommandButton1_Click()
    Select Case TextBox1.Text
        Case "x^n"
            Dim n As Byte
            Dim x1 As Byte
            Dim x2 As Byte
            Dim y As Double
            x1 = CByte(TextBox2.Text)
            x2 = CByte(TextBox3.Text)
            n = CByte(TextBox4.Text)
            TextBox5.Text = CSng((x2 ^ (n + 1)) / (n + 1) - (x1 ^ (n + 1)) / (n + 1))
    End Select
End Sub

Re: Как на VBA можно написать программу для вычисления определенного интеграла ?

СПОСИБО!!!Я вроде разобрался просмотрев тот реферат который мне посоветовали, все работает, но я чисто математически по моему не понимаю для чего там нужны некоторые пересенные например такие как chet

Re: Как на VBA можно написать программу для вычисления определенного интеграла ?

> Максим
Там используется метод Симпсона для вычисления интеграла. И для четных и нечетных точек используются разные коэффициенты (2 и 4). Поэтому требуется различать четные и нечетные значения N. chet - это значения для четных точек, nechet - для нечетных.

Re: Как на VBA можно написать программу для вычисления определенного интеграла ?

Здравствуйте!
Помогите,пожалуйста, с примером я не понимаю как это сделать  Макрос для Excel, который по данным таблицы строит график(диаграмму) и передает его в WORD на новый документ.
Буду очень признателен

Re: Как на VBA можно написать программу для вычисления определенного интеграла ?

> Oleg
Вам скорее все сюда нужно http://www.sql.ru/forum/actualtopics.aspx?bid=46 даже намека на автокад не вижу ;)

Re: Как на VBA можно написать программу для вычисления определенного интеграла ?

Я не могу решить задачку с матрицей (из института). ПОМОГИТЕ! УЧИЛКА ДОСТАЛА! "Задать вещественные числа а1, а2,...а10. Вывисти матрицу 10*10
а1 а2 а3 ... а10
1  а2 а3 ... а10
1  2  а3 ... а10
...
1  2  3  ... А10"

Re: Как на VBA можно написать программу для вычисления определенного интеграла ?

Как определить содержится ли в ячейке формула или она пустая?

Re: Как на VBA можно написать программу для вычисления определенного интеграла ?

> Nastya
Вы уверены, что вопрос имеет отношение к теме ветки?

Re: Как на VBA можно написать программу для вычисления определенного интеграла ?

Спасибо за помощь вы очень любезны.