Решение СЛУ методом Гаусса в VBA MS Excel

Discussion in 'Болталка' started by good.god, 21 Dec 2011.

  1. good.god

    good.god Member

    Joined:
    23 Nov 2009
    Messages:
    260
    Likes Received:
    32
    Reputations:
    0
    Всем добрый вечер, нуждаюсь в помощи по составлению кода программы решения уравнения методом Гаусса в Excel в VBA. Если кого-то заинтересовало, то скину блок-схемы для составления программы, насколько я знаю написать это как два пальца... но увы, в программирования я не силен.
    Буду рад любой помощи.
     
  2. z0mbyak

    z0mbyak Active Member

    Joined:
    10 Apr 2010
    Messages:
    537
    Likes Received:
    200
    Reputations:
    293
    А это не программирование) Тебе как нужно, чтобы из листа данные брались и в ячейку падали или с формочкой?
     
  3. good.god

    good.god Member

    Joined:
    23 Nov 2009
    Messages:
    260
    Likes Received:
    32
    Reputations:
    0
    z0mbyak, не программирование?:)
    Там используется какая-то расширенная матрица, создается массив в него вводятся a(n, n+1)
    Элементы массива
    i=1
    j=1
    k индекс текущей строки
    n номер строки
    n+1 номер столбца
    Ну и вот в том же духе, я ни чего в этом не понимаю:)
    Думаю данные буду браться из массива в виде расширеной матрицы ну и выводиться в какую-нибудь ячейку:)
     
  4. z0mbyak

    z0mbyak Active Member

    Joined:
    10 Apr 2010
    Messages:
    537
    Likes Received:
    200
    Reputations:
    293
    Там все просто, это скриптовый язык)
    А по теме, гуглить пробовал?
    http://www.google.ru/search?num=100&hl=ru&newwindow=1&q=vba+метод+гаусса
     
  5. good.god

    good.god Member

    Joined:
    23 Nov 2009
    Messages:
    260
    Likes Received:
    32
    Reputations:
    0
    z0mbyak, все что я нашел в гугле слегка не то, мне надо именно под вба экселя:) Как я понял он отличается.
     
  6. z0mbyak

    z0mbyak Active Member

    Joined:
    10 Apr 2010
    Messages:
    537
    Likes Received:
    200
    Reputations:
    293
    VB -> VBS -> VBA синтаксис практически один и тот же, и исходники я находил в гугле, еще когда калымил написанием лабораторок для первокурсников)
    VBA для всех продуктов MS Office один и тот же...
    Вот нагуглил Крамера
    http://science.clanbb.ru/viewtopic.php?id=7
    заточить под Гаусса не проблема...
     
    #6 z0mbyak, 21 Dec 2011
    Last edited: 21 Dec 2011
  7. good.god

    good.god Member

    Joined:
    23 Nov 2009
    Messages:
    260
    Likes Received:
    32
    Reputations:
    0
    Охх, конечно извиняюсь, но блин, посмотрев этот скрипт я запутался еще сильнее:)
    Вот блок схема:
    http://s017.radikal.ru/i412/1112/38/2062add6f00d.jpg
    (картинка не маленькая)
    А вот то, что сотворил я:
    Code:
    Dim x As Double
    Dim y As Double
    Dim n As Double
    Dim a As Double
    Dim k As Double
    Private Sub CommandButton1_Click()
    i = 1
    n = Cells(1, 1) 'тут n берется из массива, который нужно создать, но я хз как:)
    For k = 1 To n Step p 'это циклы, но тут естественно тоже непонятные мне ошибки:(
    a(i, j) = a(i, j) / a(k, k)
    k = k + p
    Next
    For i = k + 1 To n Step p
    Next
    For j = n + 1 To k Step n
    a(i, j) = a(i, j) - a(k, j) * a(i, k)
    Next
    'это рассчитанные значения, которые выводятся в ячейки
    Cells(11 + i, 1) = xn 'тут как-то напортачено с переменными
    Cells(11 + i, 2) = xn - 1 'тут как-то напортачено с переменными
    Cells(11 + i, 3) = x1 'тут как-то напортачено с переменными
    End Sub
    
    В жизнь не угадаете где я учусь:)
     
  8. z0mbyak

    z0mbyak Active Member

    Joined:
    10 Apr 2010
    Messages:
    537
    Likes Received:
    200
    Reputations:
    293
    А почему дабл? тебе инта по самые помидоры хватит)

    А нах тебе массив? Бери из ячеек напрямую...
    У тебя есть предел размера матрицы в задании или универсальную считалку надо написать?

    Чему у тебя переменные равняются-то?
     
  9. z0mbyak

    z0mbyak Active Member

    Joined:
    10 Apr 2010
    Messages:
    537
    Likes Received:
    200
    Reputations:
    293
    на тебе на VB, если портировать на VBA не сможешь, то только в раздел О Работе)
    http://zalil.ru/32338412
     
  10. good.god

    good.god Member

    Joined:
    23 Nov 2009
    Messages:
    260
    Likes Received:
    32
    Reputations:
    0
    В задании так сказано:)
    Размер матрицы 7х7.
    Какие именно переменные? Как я вижу из кода только к не присвоено, а оно у нас равняется индексу текущей строки, т.е. к=n?
     
Loading...