Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 19.10.2017
Сообщений: 3

Использование массива в функции

20.10.2017, 00:11. Показов 578. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую. Хотелось бы узнать как использовать массив с полученными коэффициентами аппроксимации вместо численных значений на 59 строке
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
 'процедура осуществляющая решение уравнения методом Гаусса
    Sub Gauss(ByVal P As Integer, ByVal G(,) As Double)
        Dim t, c() As Double
        Dim N1, N2 As Integer
        Dim S As Double
        ReDim c(P + 1)
        ReDim cc(P) 'массив для коэффициентов аппроксимации
        N1 = P + 1
        N2 = P + 2
        For i = 1 To N1 - 1
            t = G(i, i)
            For k = 1 To N2
                G(i, k) = G(i, k) / t
            Next
            For n = i + 1 To N1
                t = G(n, i)
                For j = 1 To N2
                    G(n, j) = G(n, j) - (t * G(i, j))
                Next
            Next
        Next
        c(N1) = G(N1, N1 + 1) / G(N1, N1)
        For i = N1 - 1 To 1 Step -1
            S = 0
            For k = i + 1 To N1
                S = S + G(i, k) * c(k)
            Next
            c(i) = G(i, N1 + 1) - S
        Next
        For i = 0 To P
            cc(i) = Round(c(i + 1)) 'массив с полученными коэффицентами аппроксимации
        Next
    End Sub
    'процедура, решающая задачу аппроксимации
    Sub Approx(ByVal P As Integer, ByVal nu As Integer, ByVal x() As Double, ByVal y() As Double, ByRef d As Double)
        Dim G(P + 1, P + 2) As Double
        For i = 1 To P + 1
            G(i, P + 2) = Summa2(x, y, i - 1, nu)
            For j = 1 To P + 1
                G(i, j) = Summa(x, j + i - 2, nu)
                If i = j Then
                Else
                    G(j, i) = G(i, j)
                End If
            Next
        Next
        Gauss(P, G)
        'вычесление погрешности аппроксимаци
        For j = 0 To nu
            d = d + (cc(0) + cc(1) * x(j) ^ 2 - y(j)) ^ 2
        Next
        d = Round(Sqrt((nu + 1) / d))
    End Sub
    'функция для определения площади криволинейной трапеции' 
    Function q(ByVal x As Single) As Single
        If Simps.RadioButton1.Checked = True Then
            Return Exp(x ^ 2) 'Уравнение для проверки
        Else
            Return(49.1024 + 13.6838 * x - 1.6139 * x ^ 2 + 0.0555 * x ^ 3 - 0.000577 * x ^ 4) ^ 2  'уравнение полученное в результате аппроксимации
        End If
    End Function
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.10.2017, 00:11
Ответы с готовыми решениями:

Совместное использование функции
Помогите укоротить программный код Private Sub Command01_Click() plusVid01 End Sub Private Sub Command02_Click() plusVid02 ...

Создание пользовательской функции и ее использование
подскажите пожалуйста как создать пользовательскую функцию z= корень из x^2 + y^2. А также использовать эту пользовательскую функцию z=...

Использование callback функции в wininet
Привет! пишу ActiveX dll работающую с wininet (VB 6). При выходе из приложения часто наблюдается ошибка типа: 'инструкция по адресу...

5
28 / 28 / 4
Регистрация: 07.06.2017
Сообщений: 166
24.10.2017, 14:19
Определите массив "вначале формы", что бы он был "виден" не только в процедуре Gauss. Далее так вызывайте:

Visual Basic
1
2
3
4
'было
Return(49.1024 + 13.6838 * x - 1.6139 * x ^ 2 + 0.0555 * x ^ 3 - 0.000577 * x ^ 4) ^ 2
'стало
Return(cc(0) + cc(1) * x - cc(2) * x ^ 2 + cc(3) * x ^ 3 - cc(4) * x ^ 4) ^ 2
PS А массивы какого типа? Вариант?
1
0 / 0 / 0
Регистрация: 19.10.2017
Сообщений: 3
24.10.2017, 15:01  [ТС]
Спасибо!
Динамического. Вариант?!
0
28 / 28 / 4
Регистрация: 07.06.2017
Сообщений: 166
24.10.2017, 16:27
тип данных в них какой? По идее single нужен.
0
0 / 0 / 0
Регистрация: 19.10.2017
Сообщений: 3
24.10.2017, 18:43  [ТС]
Double. Таковы требования преподавателя
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38174 / 21109 / 4307
Регистрация: 12.02.2012
Сообщений: 34,711
Записей в блоге: 14
24.10.2017, 19:12
Цитата Сообщение от Demowl Посмотреть сообщение
Таковы требования преподавателя
- и он прав
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.10.2017, 19:12
Помогаю со студенческими работами здесь

Повторное использование членов массива
Добрый день! Возникла проблемка при работе с массивами. У нас есть массив с 4 -мя элементами и массив с количеством элементов >4 . ...

Использование массива из функции в другой функции
как использовать полученный массив в другой функции. к примеру в функции int Mass(char *fname) происходит конвертация одномерного массива...

Использование массива в функции
Здравствуйте! Подскажите пожалуйсто каким образом я могу при описании функции ссылаться на массив данных.

Использование массива указателей на функции
Подскажите, пожалуйста, что я делаю не так. Это компилируется, но не выводит функцию func1. void func1(void); void func2(void); ...

Использование массива в качестве аргумента функции
Доброго времени суток. Помогите разобраться с такой проблемой: #include <cstdio> #include <cstdlib> #include <iostream> ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru