Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 31. 10. 2009 15:18

gladiator01
Místo: Jindřichův Hradec
Příspěvky: 1587
Škola: ZČU FAV - SWI
Pozice: absolvent
Reputace:   53 
Web
 

gaussova eliminace ve VBA v excelu

Ahoj, neumí tady někdo z vás VBA?

Potřebuju udělat makro pro výpočet gaussovi eliminace a nevím jak (jestli to vůbec jde) udělat dvourozměrné pole.

Ještě bych se chtěla zeptat jestli jde v excelu udělat gaussova eliminace bez maker - nějakou funkcí a jestli někdo naznáte nějaké stránky, kde by byli vysvětleny základy VBA (případně dobrou knihu, kdyby nestála více jak 200,-)?

Zde je můj pokus (ta eliminace by asi měla být správně, tu jsem předělala z céčka kde mi funguje), problém je to pole:

Code:

Sub GEA()
  Dim N
  Dim A(17, 17)
  N = 4
  Dim max
  max = 0

 'Nevím jak udělat dvourozměrné pole
  A(17, 17) = Array(5, 2, 3, 4, 3, 6, 7, 8, 1, 10, 5, 12, 0, 14, 15, 16)
   
  'Eliminace
  For i = 0 To N - 1
     For j = i + 1 To N - 1
      If Abs(A(j, i)) > Abs(A(i, i)) Then
        max = j
      End If
     Next j
    For k = i To M - 1
      pom = A(i, k)
      A(i, k) = A(max, k)
      A(max, k) = pom
    Next k
    
    For j = i + 1 To N - 1 
      For k = N To i Step -1
        A(j, k) = A(j, k) - A(i, k) * A(j, i) / A(i, i)
      Next k
    Next j
  Next i
  
  ' Výpis
  radek = 12
  pr = 0
  velikost = 16
    
  For i = 2 To velikost
      Sheets("Excel-VBA").Cells(radek + pr, i - pr * 4) = A(i, i)
      If i > (pr + 1) * 4 And i < (pr + 2) * (4 + 1) Then
         pr = pr + 1
      End If
  Next i
End Sub

Naděje jako svíce jas, potěší srdce štvané, čím temnější je noční čas, tím zářivěji plane.
VIVERE - MILITARE EST (Seneca)
Vím, že nic nevím. - Sokrates

Offline

 

#2 31. 10. 2009 16:46

Johny
Příspěvky: 213
Reputace:   
 

Re: gaussova eliminace ve VBA v excelu

↑ gladiator01:

Jestli ti něco říká google , tak to tam  napiš třeba slovo VBA a je to :)

Offline

 

#3 31. 10. 2009 16:51 — Editoval gladiator01 (31. 10. 2009 16:55)

gladiator01
Místo: Jindřichův Hradec
Příspěvky: 1587
Škola: ZČU FAV - SWI
Pozice: absolvent
Reputace:   53 
Web
 

Re: gaussova eliminace ve VBA v excelu

Myslíš, že jsem to neudělala?↑ Johny: Já se neptám jen z lenosti, ale když jen opravdu nevim.


Naděje jako svíce jas, potěší srdce štvané, čím temnější je noční čas, tím zářivěji plane.
VIVERE - MILITARE EST (Seneca)
Vím, že nic nevím. - Sokrates

Offline

 

#4 31. 10. 2009 17:26

plisna
Místo: Brno
Příspěvky: 1503
Reputace:   
 

Re: gaussova eliminace ve VBA v excelu

↑ gladiator01:: neco se vygooglovat sice da, ale neni to nic moc. visual basic totiz nepatri mezi nejpouzivanejsi jazyky, takze s tutorialy ci navody je to slabsi. musi to byt v cestine nebo prelouskas i anglicky psane? a musi to byt zprogramovano v excelu/visual basicu?

Offline

 

#5 31. 10. 2009 17:28

gladiator01
Místo: Jindřichův Hradec
Příspěvky: 1587
Škola: ZČU FAV - SWI
Pozice: absolvent
Reputace:   53 
Web
 

Re: gaussova eliminace ve VBA v excelu

To makro teda už mam, sice to není moc elegantní, ale aspoň něco.

Neví tedy alespoň někdo jestli existuje vestavěná funkce pro tu GEA?


Naděje jako svíce jas, potěší srdce štvané, čím temnější je noční čas, tím zářivěji plane.
VIVERE - MILITARE EST (Seneca)
Vím, že nic nevím. - Sokrates

Offline

 

#6 01. 11. 2009 01:10

jelena
Jelena
Místo: Opava
Příspěvky: 30020
Škola: MITHT (abs. 1986)
Pozice: plním požadavky ostatních
Reputace:   100 
 

Re: gaussova eliminace ve VBA v excelu

↑ gladiator01:

Zdravím, nevím zda to bude užitečné, ale zde je taková kniha od str. 190, knihu mám odsud

Pravda, že asi před měsícem jsem potřebovala pro jednu práci VBA a každý, koho jsem oslovila, reagoval: musí to být ausgerechnet VBA?

Ať se to podaří :-)

-----
Вийди, коханая, працею зморена, xоч на хвилиночку в гай!

Offline

 

#7 01. 11. 2009 10:21

gladiator01
Místo: Jindřichův Hradec
Příspěvky: 1587
Škola: ZČU FAV - SWI
Pozice: absolvent
Reputace:   53 
Web
 

Re: gaussova eliminace ve VBA v excelu

↑ jelena:

Děkuju ti. Podívám se na to.


Naděje jako svíce jas, potěší srdce štvané, čím temnější je noční čas, tím zářivěji plane.
VIVERE - MILITARE EST (Seneca)
Vím, že nic nevím. - Sokrates

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson