Работа с матрицами и обращение к Spreadsheet для чтения и записи STATISTICA Visual Basic

‘$include: «*STB.svx»‘ Библиотека обязательна

Option Base 1

‘Перед запуском программы следует открыть Spreadsheet
нужного размера (здесь 100*6)

 

Sub Main

‘Обращение к Spreadsheet для чтения и записи

Dim x(0 To
200) As Double

Dim y(0 To
200) As Double

Dim q As
Double

Dim r As
Double

Dim a1 As
Double

Dim a2 As
Double

Dim a3 As
Double

Dim a4 As
Double

Dim A (1 To
100,1 To 4) As Double

Dim B (1 To
100,1 To 8) As Double

Dim i As
Integer

Dim ResText
As String

x(0)=1

y(0)=3

r=0

q=0.05 ‘Теперь что-либо сосчитаем.

For j=1 To
100

  For i=0 To 199

  a1=1-10/(j)

  a2=1-20/(j)

  a3=3-10/(j)

  a1=4-10/(j)

  x(i+1)=x(i)+(a1*x(i)+a2*y(i))*q

  y(i+1)=y(i)+(a3*x(i)+a4*y(i))*q

  Next i

Application.ActiveSpreadsheet.Cells(j,5)=x(2*j)’
Заполним 5 и 6 столбцы Spreadsheet

Application.ActiveSpreadsheet.Cells(j,6)=y(2*j)
‘посчитанными величинами.

MatrixFill(x(j),B,j,3,1,2) ‘Заполним матрицу В.

MatrixFill(x(j)-y(j),B,j,1,1,1)

r=r+B(j,1)

Next j

a1=Application.ActiveSpreadsheet.Cells(1,5)
‘ Читаем из Spreadsheet.

a2=Application.ActiveSpreadsheet.Cells(1,6)

a3=Application.ActiveSpreadsheet.Cells(100,5)

a4=Application.ActiveSpreadsheet.Cells(100,6)

ResTest=»r=»+Str(r)+»;»+»B(1,5)=»+Str(a1)+»;»+»B(1,6)=»+Str(a2)+»;»+»B(100,5)=»+Str(a3)+»;»+»B(100,6)=»+Str(a4)

MatrixDisplay(B,»Pешение B»)

MsgBox
ResTest

End Sub

Оцените статью