Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 08.01.2013
Сообщений: 12

Ошибка в коде вычисления определителя матрицы

04.04.2013, 17:32. Показов 1060. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В процедуре вычисляется определитель матрицы. Всегда выдает результат ноль.

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
Option Explicit
Dim n, i, j As Single
Dim det As Double
Dim b() As Double
Dim a() As Double
Dim x() As Double
 
Function f(a() As Double) As Double
f = WorksheetFunction.MDeterm(a())
End Function
Private Sub Крамер_Click()
Range("A1:L100").Clear
n = InputBox("Введи число строк матрицы")
ReDim a(n, n), b(n), x(n)
Cells(1, 1) = "Матрица коэффициентов Аi"
Cells(1, 5) = "Вектор  свободных членов Bi"
For i = 1 To n
For j = 1 To n
a(i, j) = InputBox("a(" + Str(i) + "," + Str(j) + ")=", "Введи коэффициенты при неизвестных")
Next j
Next i
For i = 1 To n
b(i) = InputBox("b(" + Str(i) + ")=", "Введи свободные члены")
Next i
For i = 1 To n
For j = 1 To n
Cells(i + 1, j) = a(i, j)
Cells(i + 1, 5) = b(i)
Next j
Next i
det = f(a())
Cells(6, 1) = det
End Sub
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.04.2013, 17:32
Ответы с готовыми решениями:

Код вычисления определителя матрицы до 10-го порядка
Мне очень нужен код программы для вычисления определителя матрицы до 10-го порядка.

Рекурсивный метод вычисления определителя матрицы
суть в том, что не получается реализовать рекурсивный метод Determinant в классе Matrix. #include <iostream> using namespace...

Алгоритм вычисления определителя квадратной матрицы
Помогите с алгоритмом вычисления определителя матрицы nxn. Может у кого-то уже есть код на с++. Заранее благодарю.......

3
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
04.04.2013, 19:33
Здраствуйте. Мне кажется, проблема вот в таком:
a(i, j) = InputBox("a(" + Str(i) + "," + Str(j) + ")=", "Введи коэффициенты при неизвестных")
InputBox выдает результат типа string, а Вам, кажется, нужен тип double, в основном. Преобразуйте типы в нужных местах. Например, в наведенном примере выше значение a(i,j) будет string, но если записать вот так:
Visual Basic
1
a(i, j) = Cdbl(InputBox("a(" + Str(i) + "," + Str(j) + ")=", "Введи коэффициенты при неизвестных"))
значение a(i,j) будет double (это если в середине все в порядке). Пробуйте, сверяйтесь с Locals. Удачи.
1
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38173 / 21108 / 4307
Регистрация: 12.02.2012
Сообщений: 34,709
Записей в блоге: 14
04.04.2013, 21:52
Мне кажется, проблема в небрежном выделении памяти под массив. Написано:

Visual Basic
1
ReDim a(n, n), b(n), x(n)
Это означает (поскольку нет оператора Option Base 1), что в массиве получается нулевой столбец (и строка) с элементами, один из индексов которых = 0.

Попробуй сделать так:

Visual Basic
1
ReDim a(1 to n, 1 to n), b(1 to n), x(1 to n)
1
0 / 0 / 0
Регистрация: 08.01.2013
Сообщений: 12
05.04.2013, 07:44  [ТС]
Спасибо!
Все получилось
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.04.2013, 07:44
Помогаю со студенческими работами здесь

Оптимизация алгоритма вычисления определителя матрицы
Здравствуйте! Написал я давеча программку, которая считает определитель. Только вот беда - он не считает определители матриц выше 10...

Нужно сократить программу вычисления определителя матрицы
Помогите сократить программу uses crt; const n=3; var A:array of integer; i,j,s:integer; begin for i:=1 to n do for j:=1...

Программирование модуля для вычисления определителя матрицы
Создать модуль вычисления определителя матрицы.

Написать функцию для вычисления определителя матрицы
Нужна функция для вычисления ОПРЕДЕЛИТЕЛЯ матрицы, аргументами которой будет количество строк в матрице N и сама матрица. п.с. или ссылку...

Разработать функцию для вычисления определителя матрицы
разработать функцию для вычисления определителя матрицы порядка n (1<=n<=20)


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Семь 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. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера 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. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru