1 / 1 / 0
Регистрация: 19.05.2019
Сообщений: 13
1

Метод Монте-Карло для решение систем линейных алгебраических уравнений

28.11.2019, 01:08. Показов 2193. Ответов 2

Здравствуйте форумчане, у меня, наверное, проблема больше с математикой. Попытался написать программу, которая решает СЛАУ методом Монте-Карло и высчитывает погрешность, но ответы совсем не подходят. Буду благодарен если кто-нибудь распишет по пунктам, что надо сделать, а то я видимо чего-то не понимаю. Заранее всем благодарен!
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.11.2019, 01:08
Ответы с готовыми решениями:

Решение систем линейных алгебраических уравнений методом Гаусса с выбором главного элемента
Помогите пожалуйста найти решение системы линейных уравнений с матричными элементами. Условия...

Решение системы линейных алгебраических уравнений, метод простой итерации
Решить систему линейных алгебраических уравнений. Коэффициенты и свободные члены линейного...

Моделирование систем массового обслуживания метод монте карло
привет всем.это моделирование систем массового обслуживания метод монте карло можете подсказать...

Решение системы линейных алгебраических уравнений
Добрый вечер!!! Помогите, пожалуйста, написать программу для решения системы уравнений...

2
3972 / 3244 / 907
Регистрация: 25.03.2012
Сообщений: 12,070
Записей в блоге: 1
28.11.2019, 01:47 2
Цитата Сообщение от HK-47 Посмотреть сообщение
Попытался написать программу, которая решает СЛАУ
и где программа?
0
1 / 1 / 0
Регистрация: 19.05.2019
Сообщений: 13
28.11.2019, 22:23  [ТС] 3
Попытался дописать программу, но видимо сделал хуже
C++
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
62
63
64
65
66
67
68
void write(double* array, int n)
{
    for (int i = 0; i < n; i++)
        cout << array[i] << endl;
    cout << endl;
}
void MonteKarlo(int n, double** a, double* b)
{
    srand(time(0));
    double s,x;
    int N = 100000;
    int** v = new int* [n];
    for (int i = 0; i < n; i++)
    {
        v[i] = new int[n];
        s = 0;
        for (int j = 0; j < n; j++)
            s += abs(a[i][j]);
        s+= abs(b[i]);
        b[i] /= -s;
        for (int j = 0; j < n; j++)
        {
            if (j == i)
                a[i][j]--;
            a[i][j] /= s;
            if (a[i][j] > 0)
                v[i][j] = -1;
            else
            {
                v[i][j] = 1;
                a[i][j] *= -1;
            }
        }
        for (int j = 1; j < n; j++)
            a[i][j] += a[i][j-1];
        cout << "S= " << s << endl;
    }
    int* m = new int[n];
    double* y = new double[n];
    for (int i = 0; i < n; i++)
    {
        y[i] = 0;
        s = 0;
        for (int j = 0; j < n; j++)
            m[j] = 0;
        for (int k = 0; k < N; k++)
        {
            x = 1.*rand() / RAND_MAX;
            for (int j = 0; j < n; j++)
            {
                if (x < a[i][j])
                {
                    m[j]++;
                    j = n;
                }
            }
        }
        for (int j = 0; j < n; j++)
            y[i] += v[j][i] * b[j] * m[j];
        y[i] /= N;
    }
    write(y, n);
    for (int i = 0; i < n; i++)
        delete[] v[i];
    delete[]v;
    delete[]m;
    delete[]y;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.11.2019, 22:23
Помогаю со студенческими работами здесь

Решение систем алгебраических уравнений
Всех приветствую и желаю доброго дня! Нуждаюсь в помощи по разработке алгоритма задания на языке...

Решение СЛАУ - Системы линейных алгебраических уравнений
Задачу почти закончил писать, матрицу приводит к ступенчатому виду, только не могу понять как...

Решение системы линейных алгебраических уравнений методом Гаусса
Решить систему n линейных алгебраических уравнений методом Гаусса. Использовать указатели.

Решение систем линейных уравнений
Решить СЛУ \begin{cases} &amp; \text{1.2x+2.4y-3.8z=\alpha } \\ &amp; \text{-7x-1.3y=1.27 } \\ &amp;...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru