Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

[Excel] VBA funkcije sa kompleksnim brojevima

[es] :: Office :: Excel :: [Excel] VBA funkcije sa kompleksnim brojevima

[ Pregleda: 3573 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

mirjanagb
mirjana kovacevic
austrija

Član broj: 160826
Poruke: 184
*.kolping1090.sth.ac.at.



+1 Profil

icon [Excel] VBA funkcije sa kompleksnim brojevima24.10.2007. u 20:54 - pre 201 meseci
da li neko moze da mi pomogne i napise vba code za ovu formulu:

formula 1:

1/(s-g)

za s>g

vba code bi bio:

Citat:

Function Rf(ByVal X, ByVal Y) As Double
s = imsum(X, improduct("i", Y))
Fs = imdiv(1, (imsum(s, -0.02)))
Rfs = imreal(Fs)
Rf = Rfs
End Function


formula 2:

(1+s)^-1/theta

vba code:

Citat:

Function Rf1(ByVal X, ByVal Y) As Double
s = imsum(X, improduct("i", Y))
theta = 1.84
Fs = impower(imsum(1, s), -1 / theta)
Rfs = imreal(Fs)
Rf1 = Rfs
End Function


formula 3:

-1/theta*ln[1-e^-s(1-e^-theta)]
pri cemu je alfa = (1-e^-theta)

theta = 1.84
^ bi znacilo, naravno 'na'


meni treba sad vba code, kombinujuci prve dve formule, za trecu formulu.

nikako ne mogu da dobijem tacan rezultat.

hvala na pomoci unapred!!!
 
Odgovor na temu

Jpeca
Predrag Jovanović
poslovni analitičar
Gowi
Pančevo

Moderator
Član broj: 25683
Poruke: 2268
212.200.27.*

Sajt: www.gowi.rs


+109 Profil

icon Re: [Excel] VBA funkcije sa kompleksnim brojevima26.10.2007. u 10:00 - pre 200 meseci
Nešto neštima kod ove prve dve funkcije - radiš sa kompleksnim brojevima, a rezultat je realan? Takve funkcije nećeš moći da iskoristiš za f3.

Kakko Excel kompleksne brojeve predstavlja kao string oblika x+iy, moj predlog je da funkcije koncipiraš tako da prihvataju takav string kao ulaz i daju takav string kao rezultat
Code:

Function Rf2(s As String) As String
...
End Function


U tom slučaju ako želiš da posebno zadaš realni i imaginarni deo (u dve susedne ćelije npr) prvo uradiš Complex(x, y) pa tako dobijen rezultat proslediš funkciji.

Davno je bilo kad sam radio sa logaritmima, pa nisam siguran da ne postoji još neka caka, ali očigledno je da -1/theta možeš ubaciti unutar logaritma i tada to postaje stepen. Na taj način deo funkcije 3 unutar ln se svodi na f2(z) gde je z = e^-s*alpha. f1 ja nisam uspeo nigde da iskoristim što ne znači da ne može. Tako bi dobila kod za f3
Code:

alpha = 1 - Exp(-theta) ' realan broj
z = ImExp(ImProduct(-s, alpha))
Rf3= ImLn(Rf2(z))

Nije to loše Rembrante, samo što ne bi dodao još malo boje?
Prikačeni fajlovi
 
Odgovor na temu

mirjanagb
mirjana kovacevic
austrija

Član broj: 160826
Poruke: 184
*.kolping1090.sth.ac.at.



+1 Profil

icon Re: [Excel] VBA funkcije sa kompleksnim brojevima27.10.2007. u 21:43 - pre 200 meseci
evo saljem excel fajl, gde je najbolje objasnjeno ...

ja prve dve formule tacno dobijem, bar to vidim po istom rezultatu kad formulu napisem u excelu i u vb. ali trecu nikako ne mogu da dobijem, pa ne znam u cemu je problem ...

hvala na pomoci ....
Prikačeni fajlovi
 
Odgovor na temu

Jpeca
Predrag Jovanović
poslovni analitičar
Gowi
Pančevo

Moderator
Član broj: 25683
Poruke: 2268
*.bisinter.net.

Sajt: www.gowi.rs


+109 Profil

icon Re: [Excel] VBA funkcije sa kompleksnim brojevima28.10.2007. u 00:37 - pre 200 meseci
Koristim Excel 2007, pa ovaj tvoj fajl ne mogu da izršim jer ima referencu na prethodnu vba biblioteku ATPVBAEN.XLA, koja kod mene ne postoji. Ipak koliko sam video kod vrlo mi je sumnjiva jedna banalna stvar:
impower(e, -theta) kao i impower(e, -s)
proveri u debageru ali čini mi se da je e 0! Koristi umesto toga ImExp() .
Da ne bi razmišljala o takvim greškama na početku modula stavi Option Explicit i na taj način obaveži sebe da deklarišeš sve promenljive u kodu.
Nije to loše Rembrante, samo što ne bi dodao još malo boje?
 
Odgovor na temu

mirjanagb
mirjana kovacevic
austrija

Član broj: 160826
Poruke: 184
*.kolping1090.sth.ac.at.



+1 Profil

icon Re: [Excel] VBA funkcije sa kompleksnim brojevima28.10.2007. u 00:56 - pre 200 meseci
ma i ja kuci koristim 2007.

i ubi se razmisljajuci sto nece da mi radi funkcija ...

nije valjda da moram da radim na 2003 da bi dosla do rezultata????

 
Odgovor na temu

Jpeca
Predrag Jovanović
poslovni analitičar
Gowi
Pančevo

Moderator
Član broj: 25683
Poruke: 2268
*.bisinter.net.

Sajt: www.gowi.rs


+109 Profil

icon Re: [Excel] VBA funkcije sa kompleksnim brojevima28.10.2007. u 16:30 - pre 200 meseci
Pretpostavljam da to kod tebe nije problem jer kako bi ti radile prve dve funkcije? Verovatno imaš instaliran odgovorajući Add-In jer kod mene ništa od toga ne radi.
Za korišćenje kompleksnih funkcija u samom Excelu 2003 (u radnom listu, ne VBA) bilo je potrebno da uključi Analysis Toolpak Add-in. Slično da se dobiju iste funkcije u VBA trebalo je da se uključi VBA Analysis Toolpak. U novoj verziji Excel-a ove funkcije postale su deo standardnog skupa funkcija, bez potrebe instaliranja Add In-a. U VBA ovim funkcijama se može pristupiti kao funkijama radnog lista (Application.WorksheetFunction objekat). Prepravio sam tvoj kod tako da ga mogu izvršavati iz 2007 i ispravio uočene greške (ne deklarisano e, ImProduct (-1,s) umesto –s. Tako da bi kod za f3 izgledao:
Code:

Function Rf2(ByVal X, ByVal Y) As Double
' Prilagodjeno za Excel 2007
'
theta = 1.84
alfa = 1 - Exp(-theta)
With Application.WorksheetFunction
   s = .ImSum(X, .ImProduct("i", Y))
   Fs = .ImProduct(-1 / theta, .ImLn(.ImSum(1, .ImProduct(-1, .ImExp(.ImProduct(-1, s)), alfa))))
   Rfs = .ImReal(Fs)
End With
Rf2 = Rfs
End Function 


Uspeo sam da izvršim i dobijem rezultat koji se nažalost ne slaže sa rezultatima dobijenim „po knjizi“. U čemu je problem ja nisam kompetnentan da protumačima. (Drago bi mi bilo da se podsetim studentskih dana i Laplasove transformacije ali sve knjige o tome već sam o davno otuđio, a ni vremena nemam na pretek). Možda formuliši pitanje za matematički deo foruma (Meni je lično sumnjivo da je algoritam za inverznu laplasovu transformaciju koji si dala univerzalan – možda važi za racionalne izraze a ne za logaritime i eksponente? ali da se ne mešam u ono što ne znam).

Nije to loše Rembrante, samo što ne bi dodao još malo boje?
Prikačeni fajlovi
 
Odgovor na temu

[es] :: Office :: Excel :: [Excel] VBA funkcije sa kompleksnim brojevima

[ Pregleda: 3573 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.