www.ntnu.no *
INFOWEB >  programmer >  matematikk  > MS Excel og NAG C-bibliotek
Tasks
You may add comments
Or e-mail this article
Read articles written by krismika
User rating
How much did this article help you?
Much Some Little
Print preview
You do not need a 'printer-friendly page' to print this page. Here's why
Contents

MS Excel og NAGs C-bibliotek

Hvis du bruker MS Excel og ønsker å bruke matematiske funksjoner som ikke er tilgjengelige i Excel er kanskje C-biblioteket fra NAG det du er ute etter.

Krav for å komme i gang

Denne veiledningen tar utgangspunkt i at du bruker MS Excel 2000 eller nyere og har installert NAG C Library Mark 7. Det er også en fordel om du har litt erfaring med macro-programmering i VBA (Visual Basic for Applications), da det er macroer som brukes for å kalle funksjoner i biblioteket. Miljøvariabelen PATH må inneholde stien til katalogen der nagc.dll finnes. På en standardinstallasjon av biblioteket er dette stien: C:\Program Files\Numerical Algorithms Group\CLDLL0742\bin. For hver funksjon i biblioteket finnes det en fil som heter funksjonsnavn_skeleton.bas som inneholder en VB-deklarasjon av C-funksjonen i biblioteket. Les om og last ned Visual Basic Declarations for the NAG C Library.

Eksempel bruk av NAG C-biblioteket

Den beste måten å illustrere bruken av biblioteket er nok med et lite eksempel som punktvis demonstrerer hvordan du kan gjøre det. Du kan lese om og laste ned eksempler fra Sample Microsoft Excel Projects Illustrating How to Call the NAG C Library .

  1. Lag et nytt regneark og sett inn tallene -1,7 i celle C3 og 2,6 i celle D3.
  2. Gå til Tools->Macro->Macros og lag en ny macro.
  3. Skriv inn følgende kode i macro-editoren som kommer opp:

    kode #1
    ' Start a02dcc_skeleton.bas
    Option Base 1
    Option Explicit
    
    Global Const NAG_FILE_LEN = 512
    Global Const NAG_ERROR_BUF_LEN = 512
    Global Const MPS_NAME_LEN = 8
    
    Type Complex
      re As Double
      im As Double
    End Type
    
    Declare Function a02dcc Lib "nagc.dll" ( _
      ByVal zRe As Double, ByVal zIm As Double _
    ) As Complex
    ' Slutt a02dcc_skeleton.bas
    
    Sub test()
    Dim x As Double, y As Double, result As Complex
    
    With Worksheets("Sheet1")
      x = .Cells(3, 3)
      y = .Cells(3, 4)
      result = a02dcc(x, y)
      .Cells(5, 3) = result.im
      .Cells(5, 4) = result.re
    End With
    End Sub
    
  4. Gå til Tools->Macro->Macros og kjør macroen du nettopp har skrevet.
  5. Det som regnes ut er kvadratroten til et kompleks tall der den reelle delen hentes fra celle C3 og den imaginære delen hentes fra celle D3. Kvadratroten av dette tallet er også et kompleks tall. Verdien i C5 er del reelle delen og verdien i D5 er den imaginære delen.

Languages: no Comments: 0 Aid: 333 User rating:
 
 
Last updated: 2007-07-02 Author: krismika Read: 4316 times