Усреднение значений с потенциометра

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Tomasina пишет:

С учетом того, что задача детская,  можно ли ее решить без дробных чисел?

видимо нет, так как одно из чисел нечётное

a5021
Offline
Зарегистрирован: 07.07.2013

wdrakula пишет:

Ну ведь фу! Просто при взгляде, в уме - примерно 4-5 секунд... с учетом печати кода, это все же быстрее ;).

такие псевдо задачки на быстроту - основное содержание тестов IQ, их нужно решать угадывая... ;)

И угадывание и перебор -- вполне себе методы решения. Насчет того, что в уме быстрее -- фиг там -- объяснения все равно пришлось бы писать, а здесь код самоочевиден.

mastersan-mh
Offline
Зарегистрирован: 10.10.2018

Это обычная система линейных уравнений, вот и надо её решать соответствующими методами решения систем линейных уравнений, а не выдумывать циклы. Это говнокод. Из-за такого говнокода висят сервера, висят сайты, и задачи, которые могли бы решаться за считанные наносекунды и требовать пару килобайт, жрут процессор как не в себя, и занимают всю память.

b707
Offline
Зарегистрирован: 26.05.2017

sadman41 пишет:

Есть три байта: R G и B. Возможно ли из них вывести цветовую температуру в Кельвинах? 

 

Наглядный график. Из него видно, что очень немногие комбинации RGB соответсвуют какой-либо температуре.

 

b707
Offline
Зарегистрирован: 26.05.2017

Tomasina пишет:

С учетом того, что задача детская,  можно ли ее решить без дробных чисел?

С учетом того, что система уравнений приводит к уравнению 2x = 7, без дробных никак :)

Честно говоря, решать такое перебором  в цикле тоже считаю стыдным.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

sadman41 пишет:

Есть три байта: R G и B. Возможно ли из них вывести цветовую температуру в Кельвинах? 

От решения ни жизнь, ни доход не зависит, просто не могу осознать... Незамысловатый математическо-логический перевод Кельвин->RGB есть, а вот обратного никак не могу найти. Только таблицы километровые. Я так понимаю, что не все так однозначно, цветовые пространства надо учитывать, длины волн и т.д.

Не переживай, задача в общем случае неразрешима.

Это как, зная уравнение прямой, не составит труда найти 3 лежащих на ней точки.

А вот провести прямую через 3 произвольные точки - тут поседеешь.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

sadman41 пишет:

bwn пишет:

Та ладно, будешь тут своим Пифагором пугать. А ребята, просто трудолюбивые попались.

Отрабатывали заплаченные деньги.

Например, если будет два скетча, делающих одно и то же - один на 10 строк, а другой на 500 - за который три тыщи проще отдать? Психология...

ВУ большинстве случаев количество строк пользователю неизвестно. Другое дело - мгновенно она выдает результат или "как следует обдумывает".

На полном серьезе - сам витдел на фирмах, занимающихся пластиковыми окнами, программу, которая по имеющимся размерам вычисляет площадь остекления несколько секунд.

Logik
Offline
Зарегистрирован: 05.08.2014

b707 пишет:

Tomasina пишет:

С учетом того, что задача детская,  можно ли ее решить без дробных чисел?

С учетом того, что система уравнений приводит к уравнению 2x = 7, без дробных никак :)

Честно говоря, решать такое перебором  в цикле тоже считаю стыдным.

если бы хоть решал... Да еще численными методами, то да может и можна бы понять и простить. А то ж просто перебирал в надежде что ответ окажется десятичной дробю до десятых. А если бы не 7/2, а  7/3 то задача бы уже решения не имела )))

a5021
Offline
Зарегистрирован: 07.07.2013

Лошик не был бы лошиком, если бы мог бы сообразить, что такое совпадение сильно подозрительно и как бы намекает, что задача изначально могла быть решена аналитически. Но лошик не тянет ни в математике седьмого класса,  ни в программировании, отчего ему только и остается гнусавить: "а вот если бы у бабушки был 7/3"...

b707 пишет:
Честно говоря, решать такое перебором  в цикле тоже считаю стыдным.

Никогда прежде не слышал, чтобы метод перебора в математике считался зазорным.

Tomasina пишет:
С учетом того, что задача детская,  можно ли ее решить без дробных чисел?

Число решений системы линейных уравнений можно найти используя теорему Кронекера-Капелли. Для этого нужно найти ранги матрицы системы и расширенной матрицы системы.  Если эти значения не равны, то система несовместна и не имеет решений. Если равны, то вариантов два: система может иметь либо одно (и только одно) решение, либо множество. Определить, какой вариант справедлив для конкретного случае можно, если сравнить значение ранга (рангов) с числом неизвестных. Если первое меньше второго, то такая система называется неопределенной и имеет бесконечное число решений. Если значения равны, то система является определенной и имеет ровно одно решение.

Для нашего случая все три значения равны числу 3, что по теореме К-К является доказательством существования лишь единственного решения данной системы линейных уравнений. Таким образом, решения "без дробных чисел" не существует в природе.

RandomRufio
Offline
Зарегистрирован: 25.04.2017

а тема то ожила)

a5021
Offline
Зарегистрирован: 07.07.2013

mastersan-mh пишет:
Это обычная система линейных уравнений, вот и надо её решать соответствующими методами решения систем линейных уравнений, а не выдумывать циклы.

А циклы чем плохи, вы говорите?

Цитата:
Это говнокод. Из-за такого говнокода висят сервера, висят сайты, и задачи, которые могли бы решаться за считанные наносекунды и требовать пару килобайт, жрут процессор как не в себя, и занимают всю память.

Это у вас приступ чего сейчас случился?

Logik
Offline
Зарегистрирован: 05.08.2014

Вижу неспится ночью, жопа пухнет от натыканого :) Так заслужил!

a5021 пишет:

что такое совпадение сильно подозрительно и как бы намекает,

Шедевр математиматической строгост;)

a5021 пишет:

 намекает, что задача изначально могла быть решена аналитически. 

он свой гомнокод еще и аналитическим решение возомнил. Дебил даже не представляет что такокое аналитическое решение. Че можна рассказать челу не знающему значения слов ;) Загугли! Как теорему Кронекера-Капелли нагуглил же, умееш в принципе.

Logik
Offline
Зарегистрирован: 05.08.2014

a5021 пишет:

mastersan-mh пишет:
Это обычная система линейных уравнений, вот и надо её решать соответствующими методами решения систем линейных уравнений, а не выдумывать циклы.

А циклы чем плохи, вы говорите?

Ну теперь хоть понятно за что a5021 с математики выгоняли.

sadman41
Offline
Зарегистрирован: 19.10.2016

andriano пишет:

Не переживай, задача в общем случае неразрешима.

Это как, зная уравнение прямой, не составит труда найти 3 лежащих на ней точки.

А вот провести прямую через 3 произвольные точки - тут поседеешь.

Я особо не переживал, конечно. Почитал форумы всяких там геймдевов, они через другие пространства что-то там крутят (какое-то XYZ), но опять же - в одну сторону, по поводу обратного направления - только ссылки на статьи с рядами формул, от которых я сразу в анабиоз впадать начал. Вот и подумал, что у меня мозгов, наверное, не хватает для осознания.

b707 пишет:

Наглядный график. Из него видно, что очень немногие комбинации RGB соответсвуют какой-либо температуре.

Видел эту статейку, считал, что фарш можно провернуть назад, но потом вчитался, увидел if-ы... 
 
Нашел еще на гитхабе какую-то рендер-либу опенсорцную с функцией RGB_To_Temperature(), обрадовался жутко... пока не начал ее читать. А там способ, как вот выше обсуждается: берется Tmin, Tmax и для кажного значения из диапазона вычисляется Temperature_To_RGB(). Как только результаты вычисления совпали с заданными RGB-значениями (или близки) - из функции происходит возврат значения температуры. Такая вот хрень. Такое на восьмибитный МК тащить - изврат.
ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

mastersan-mh пишет:

Это обычная система линейных уравнений, вот и надо её решать соответствующими методами решения систем линейных уравнений, а не выдумывать циклы. Это говнокод. Из-за такого говнокода висят сервера, висят сайты, и задачи, которые могли бы решаться за считанные наносекунды и требовать пару килобайт, жрут процессор как не в себя, и занимают всю память.


Обычно после таких слов приводят пример, ждёмс!!!

bwn
Offline
Зарегистрирован: 25.08.2014

ua6em пишет:

mastersan-mh пишет:

Это обычная система линейных уравнений, вот и надо её решать соответствующими методами решения систем линейных уравнений, а не выдумывать циклы. Это говнокод. Из-за такого говнокода висят сервера, висят сайты, и задачи, которые могли бы решаться за считанные наносекунды и требовать пару килобайт, жрут процессор как не в себя, и занимают всю память.


Обычно после таких слов приводят пример, ждёмс!!!

Уху, размечтался, здесь право на истину с первого дня регистрации. В соседней теме Великий Экономист и Манагер явился народу, а здесь похоже Отец Математики.((((

Logik
Offline
Зарегистрирован: 05.08.2014

bwn пишет:

ua6em пишет:

mastersan-mh пишет:

Это обычная система линейных уравнений, вот и надо её решать соответствующими методами решения систем линейных уравнений, а не выдумывать циклы. Это говнокод. Из-за такого говнокода висят сервера, висят сайты, и задачи, которые могли бы решаться за считанные наносекунды и требовать пару килобайт, жрут процессор как не в себя, и занимают всю память.


Обычно после таких слов приводят пример, ждёмс!!!

Уху, размечтался, здесь право на истину с первого дня регистрации. В соседней теме Великий Экономист и Манагер явился народу, а здесь похоже Отец Математики.((((

Надеюсь вы прикалываетесь требуя пример решения системы

   x+y=8

z-x   =6

z+x  =13

Это в школе решают. Причем усно. Собственно задача и была на сообразительность больше, сообразить систему уравнений по непривычной форме записи, матиматика тут тривиальнейшая.

 

bwn
Offline
Зарегистрирован: 25.08.2014

Logik пишет:

Надеюсь вы прикалываетесь требуя пример решения системы

У Вас его никто и не требовал. Требовали у Великого Мессии, который пока еще не написал ни одной строчки, но зато уже явил несколько истин.(((

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

andriano пишет:

На полном серьезе - сам витдел на фирмах, занимающихся пластиковыми окнами, программу, которая по имеющимся размерам вычисляет площадь остекления несколько секунд.

Так она жеж под виндой, а эти станки в сети жеж, а там админ о WINS понятия не имеет, так что понять, где тормоз, обработка севого взаимодействия или в алгоритме подсчета

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

ua6em пишет:

Так она жеж под виндой, а эти станки в сети жеж, а там админ о WINS понятия не имеет, так что понять, где тормоз, обработка севого взаимодействия или в алгоритме подсчета

А - ну да.

Это раньше пользовались таблицей умножения, а теперь - вместо нее пользуются Сетью.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Logik пишет:

bwn пишет:

ua6em пишет:

mastersan-mh пишет:

Это обычная система линейных уравнений, вот и надо её решать соответствующими методами решения систем линейных уравнений, а не выдумывать циклы. Это говнокод. Из-за такого говнокода висят сервера, висят сайты, и задачи, которые могли бы решаться за считанные наносекунды и требовать пару килобайт, жрут процессор как не в себя, и занимают всю память.


Обычно после таких слов приводят пример, ждёмс!!!

Уху, размечтался, здесь право на истину с первого дня регистрации. В соседней теме Великий Экономист и Манагер явился народу, а здесь похоже Отец Математики.((((

Надеюсь вы прикалываетесь требуя пример решения системы

   x+y=8

z-x   =6

z+x  =13

Это в школе решают. Причем усно. Собственно задача и была на сообразительность больше, сообразить систему уравнений по непривычной форме записи, матиматика тут тривиальнейшая.

Я просил показать в коде C... ей богу не прикалываюсь...в уме могу решать исключительно уравнения булевой алгебры )))

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

andriano пишет:

ua6em пишет:

Так она жеж под виндой, а эти станки в сети жеж, а там админ о WINS понятия не имеет, так что понять, где тормоз, обработка севого взаимодействия или в алгоритме подсчета

А - ну да.

Это раньше пользовались таблицей умножения, а теперь - вместо нее пользуются Сетью.


Да нет жеж...ПЕСАТЕЛИ пользуют пакет NET.FRAMEWORK  )))
 

Logik
Offline
Зарегистрирован: 05.08.2014

ua6em пишет:

Я просил показать в коде C... ей богу не прикалываюсь...в уме могу решать исключительно уравнения булевой алгебры )))

Это очень печально.  Оттуда и ростут вопросы зачем програмеру математика. Гуглите "численные методы СЛАУ", там без теории, на одном примере,  не разобратся. Я целиком серезно, ну если вас оно реально интересует.

ПС. Решение разреженых систем нелинейных уравнений высокой размерности (прядка 10000 и более)  на ассемблере(!!!) читался семестр отдельным предметом, с лабами курсовыми и экзаменом. Если интересно - будет время расскажу.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Logik пишет:

ua6em пишет:

Я просил показать в коде C... ей богу не прикалываюсь...в уме могу решать исключительно уравнения булевой алгебры )))

Это очень печально.  Оттуда и ростут вопросы зачем програмеру математика. Гуглите "численные методы СЛАУ", там без теории, на одном примере,  не разобратся. Я целиком серезно, ну если вас оно реально интересует.

ПС. Решение разреженых систем нелинейных уравнений высокой размерности (прядка 10000 и более)  на ассемблере(!!!) читался семестр отдельным предметом, с лабами курсовыми и экзаменом. Если интересно - будет время расскажу.


Конечно интересно...Ассемлер этот жеж ...наслаждение битвой жизни )))

PS но простого примера было бы достаточно, чтобы понять, как делать не надо

Logik
Offline
Зарегистрирован: 05.08.2014

//Конечно интересно...

Ну так почитайте для вхождения в вопрос http://www.cadmaster.ru/magazin/articles/cm_26_energycs.html там система небольшая 16000 заявлено что работает, мы лабы на больших делали,  и методы довольно отстойные. К тому же они свое заявляют как для проектирования, т.е. время решения не критично, а мы для диспечерского управления где реалтайм.

Logik
Offline
Зарегистрирован: 05.08.2014

ua6em пишет:

..Ассемлер этот жеж ...наслаждение битвой жизни )))

))) Лошара жеж!! Чем и гордится ))

Наверно на питоне надо было?

mastersan-mh
Offline
Зарегистрирован: 10.10.2018

Вы просили, мы сделали:

/*
 * linear.h
 */

#ifndef LINEAR_H_
#define LINEAR_H_

#include <stddef.h>

int algebraic_linear_solve(
        size_t cols,
        size_t rows,
        float * matrix,
        float * solution
);

#endif /* LINEAR_H_ */


/*
 * linear.c
 */

#include "linear.h"

#include <stdlib.h>
#include <unistd.h>

/* #define DEBUG */

#ifndef DEBUG
#define DEBUG_PRINT_MATRIX()

#else
#include <stdio.h>

#define DEBUG_PRINT_MATRIX() matrix_print( cols, rows, matrix)

void matrix_print(
        size_t cols,
        size_t rows,
        float * matrix
)
{
    size_t col;
    size_t row;

    printf("\n");
    for(row = 0; row < rows; ++row)
    {
        for(col = 0; col < cols; ++col)
        {
            printf("%6.3f ", *matrix);
            ++matrix;
        }
        printf("\n");
    }
}
#endif

inline static float * value(
        size_t cols,
        size_t rows,
        float * matrix,
        size_t col,
        size_t row
)
{
    float *val =
            matrix +
            row * cols +
            col;
    return val;
}


ssize_t find_1st_row_nonzero(
        size_t cols,
        size_t rows,
        float * matrix,
        size_t deep
)
{
    size_t row;
    for(row = deep; row < rows; ++row)
    {
        float *v = value(
                cols,
                rows,
                matrix,
                deep,
                row
        );
        if(*v != 0.0)
            return row;
    }
    return -1;
}

static void lines_exchange(
        size_t cols,
        size_t rows,
        float * matrix,
        size_t row1,
        size_t row2
)
{
    size_t col;
    float tmp;
    for(col = 0; col < cols; ++col)
    {
        float *v1 = value(cols, rows, matrix, col, row1);
        float *v2 = value(cols, rows, matrix, col, row2);
        tmp = *v1;
        *v1 = *v2;
        *v2 = tmp;
    }
}


int calc_solutions(
        size_t cols,
        size_t rows,
        float * matrix,
        size_t deep,
        float * solutions
)
{
    float c0; /* c_free */
    size_t index = deep;

    c0 = *value(
            cols,
            rows,
            matrix,
            cols - 1,
            index
    );

    float divider = *value(
            cols,
            rows,
            matrix,
            index,
            index
    );
    if(divider == 0.0) return -1;
    float sum = 0.0;

    size_t col;
    for(col = index + 1; col < cols - 1; ++col)
    {
        float column_coef = *value(
                cols,
                rows,
                matrix,
                col,
                index
        );
        sum += solutions[col] * column_coef;
    }
    solutions[index] = (c0 - sum) / divider;

    return 0;
}


static int solve(
        size_t cols,
        size_t rows,
        float * matrix,
        size_t deep,
        float * solutions
)
{
    if(rows - deep == 1)
    {
        return calc_solutions(
                cols,
                rows,
                matrix,
                deep,
                solutions
        );
    }

    size_t row;
    size_t col;

    ssize_t row_finded = find_1st_row_nonzero(
            cols,
            rows,
            matrix,
            deep
    );
    if(row_finded < 0)
    {
        return -1;
    }

    if(row_finded != deep)
    {
        lines_exchange(
                cols,
                rows,
                matrix,
                deep,
                row_finded
        );
    }

    /* normalize */
    float c0;
    float *v = value(
            cols,
            rows,
            matrix,
            deep,
            deep
    );
    c0 = *v;
    *v = 1.0;

    for( col = deep + 1; col < cols; ++col)
    {
        v = value(
                cols,
                rows,
                matrix,
                col,
                deep
        );
        *v = *v / c0;
    }

    /* substraction */
    for( row = deep + 1; row < rows; ++row)
    {
        v = value(
                cols,
                rows,
                matrix,
                deep,
                row
        );
        c0 = *v;
        *v = 0.0;
        for( col = deep + 1; col < cols; ++col)
        {
            float * subsracted = value(
                    cols,
                    rows,
                    matrix,
                    col,
                    deep
            );
            v = value(
                    cols,
                    rows,
                    matrix,
                    col,
                    row
            );
            *v -= (*subsracted) * c0;
        }
    }

    DEBUG_PRINT_MATRIX();

    int res = solve(
            cols,
            rows,
            matrix,
            deep + 1,
            solutions
    );

    if(res)
    {
        return res;
    }

    return calc_solutions(
            cols,
            rows,
            matrix,
            deep,
            solutions
    );


    return 0;
}

int algebraic_linear_solve(
        size_t cols,
        size_t rows,
        float * matrix,
        float * solutions
)
{
    if(rows != cols - 1)
    {
        return -1;
    }

    DEBUG_PRINT_MATRIX();

    return solve(
            cols,
            rows,
            matrix,
            0,
            solutions
    );
}



/*
 * main.c
 */

#include "linear.h"

#include <stdio.h>

int main()
{
#if 1
    /*
        { x + y = 8
        { -x + z = 6
        { x + z = 13
        { x + y =8
     */
#define COLS 4
#define ROWS 3
    float matrix[]=
    {
            1.0 , 1.0, 0.0, 8.0,
            -1.0, 0.0, 1.0, 6.0,
            1.0 , 0.0, 1.0, 13.0,
    };
#else
#define COLS 4
#define ROWS 3
    float matrix[]=
    {
            2.0, 4.0, 2.0, 8.0,
            4.0, 0.0, 1.0, 6.0,
            8.0, 0.0, 1.0, 13.0,
    };
#endif

    float solution[ROWS];
    int res = algebraic_linear_solve(COLS, ROWS, matrix, solution);
    if(res)
    {
        printf("can not solve\n");
    }

    size_t rows = ROWS;
    size_t row;
    for(row = 0; row < rows; ++row)
    {
        printf("%6.3f ", solution[row]);
    }
    printf("\n");

}


UPD:

Извините, забыл добавить результат:

$ time ./linear-system-solving
 3.500  4.500  9.500

real    0m0,002s
user    0m0,002s
sys    0m0,001s
 

Logik
Offline
Зарегистрирован: 05.08.2014

Шо, ua6em, помогло оно те понять? )))

a5021
Offline
Зарегистрирован: 07.07.2013

Logik пишет:
Шедевр математиматической строгост;)

Какой-какой? "Математиматической" ? Капец, математиматик фигов. Даже слово написать не в состоянии. Стесняюсь спросить, это не "жопа пухнет от натыканого" у вас?

Цитата:
он свой гомнокод еще и аналитическим решение возомнил.

Про свой код я сразу сказал, что это перебор. О чем вы бредите?

Цитата:
Дебил даже не представляет что такокое аналитическое решение.

Да ясен-красен, что только лошик владеет секретными знаниями из учебника математики 7-го класса. Больше никто.

Цитата:
Как теорему Кронекера-Капелли нагуглил

Возражать научись, бредогенератор. Кроме дебильных фантазий, ни одного слова по теме.

Цитата:
Ну теперь хоть понятно за что a5021 с математики выгоняли.

Пофантазируй. Мож анальная боль стихнет.

a5021
Offline
Зарегистрирован: 07.07.2013

mastersan-mh пишет:
Извините, забыл добавить результат

Можно было не добавлять. Глядя на то, как вы простые вещи объясняете исключительно сложным обаразом, можно сразу сделать вывод о вашей удручающе-низкой квалификации.

А вот, как будет просто (матрица ваша):

import numpy
print(numpy.linalg.solve([[1 , 1, 0], [-1, 0, 1], [1, 0, 1]], [8, 6, 13]))

Результат:

[3.5 4.5 9.5]
[Finished in 0.4s]

mastersan-mh
Offline
Зарегистрирован: 10.10.2018

a5021 пишет:

Можно было не добавлять. Глядя на то, как вы простые вещи объясняете исключительно сложным обаразом, можно сразу сделать вывод о вашей удручающе-низкой квалификации.

a5021 пишет:

И угадывание и перебор -- вполне себе методы решения. Насчет того, что в уме быстрее -- фиг там -- объяснения все равно пришлось бы писать, а здесь код самоочевиден.

Глядя на то, как ты кидешься решать задачи "в лоб" методами перебора не ознакамливаясь с предметом, а так же хвалишься тем, что не знаешь предмета, можно сразу сделать вывод о вашей удручающе-низкой квалификации.

Я не являюсь лучшим математиком и программистом, однако я осознаю, что большинство задач уже имеют методы решения, и не нужно изобретать велосипед. Алгоритм решение СЛАУ я предоставил только потому, что об этом зашёл разговор. Ты же, кроме брызгания слюной и кидания какашками подобно макаке, ничего путного пока не предложил. Нагуглил для питона библиотеку решения СЛАУ? Молодец. Но почему-то это произошло много позже того, как ты предоставил свой шедевр с перебором значений. Было бы много лучше, если бы ты предоставил решение в каком-нибудь математическом пакете, или даже в электронной таблице. Но ты сделал этот высер. Это и есть твоя квалификация.

А для метода угадывания и метода перебора существует свой класс задач, там эти методы и стоит применять.

 

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

a5021 пишет:

import numpy

Вот я чуть-чуть опоздал! Хотя, стоит быть честным, такая библиотека и под С есть... Но пример с Питоном всегда радует массовым разрывом пуканов! ;)

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Logik пишет:

Шо, ua6em, помогло оно те понять? )))

Это каким жеж образом оно может мне помочь понять, коли оно не под ардуино написано )))

 

 

a5021
Offline
Зарегистрирован: 07.07.2013

mastersan-mh пишет:
Глядя на то, как ты кидешься решать задачи "в лоб" методами перебора не ознакамливаясь с предметом, а так же хвалишься тем, что не знаешь предмета, можно сразу сделать вывод о вашей удручающе-низкой квалификации.

Врать то зачем? Нигде и никогда я не хвалился тем, что не знаю предмета. Вы только что на голубом глазу выперли какую-то чушь и давай с ней валяться. Характеризует.

Второй момент: если бы вы хоть чуть-чуть понимали в обсуждаемом вопросе, то первое, что должно было вас удивить, каким образом мне удалось так точно попасть "в лоб". Попасть перебором "в лоб" -- это не такая простая задача, как дремучие представления местным "математикам" подсказывают.

Еще раз для всех отягощенных альтернативным сознанием повторяю: метод перебора является действенным способом поиска решения, как и любой другой математический метод. И точно так же, как и в случае с любым другим матметодом, важно уметь применять его правильно и к месту. В пяти строчках я показал, как это можно сделать весьма элегантным образом.

Вам же остается только бредить, раз нифига не понимаете и извергать простыни кода, которые вряд ли кто-нибудь станет читать.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

a5021 пишет:

 и извергать простыни кода, которые вряд ли кто-нибудь станет читать.


 

Я прочитал,  а вот в вашем алгоритме считаю итерации надо ставить 0.5 и ограничить конечное значение, это даст прирост скорости раз в сто, а идея мне симпатична, хотя сын сказал иное )))
Просто эти пять строк кода мне ни разу не программисту понятны, чего не скажу об альтернативном подходе
 

a5021
Offline
Зарегистрирован: 07.07.2013

Результаты решения системы уравнений будут кратны обратной величине определителя все той же матрицы:

[ 1, 1, 0]
[-1, 0, 1]
[ 1, 0, 1]

определитель тут равен двум, что дает кратность и шаг итератора 1/2 = 0.5   Первый вариант у меня и был с итератором 0.5, но посчитав, что так слишком уж торчат аналитические уши, исправил на менее приметный.  Нужно было, чтобы кое у кого подгорело. Оно и подгорело.  :)

Logik
Offline
Зарегистрирован: 05.08.2014

ua6em пишет:

Я прочитал,  а вот в вашем алгоритме считаю итерации надо ставить 0.5 и ограничить конечное значение, это даст прирост скорости раз в сто, а идея мне симпатична, хотя сын сказал иное )))

Просто эти пять строк кода мне ни разу не программисту понятны, чего не скажу об альтернативном подходе
 

Наверно грамотный сын. От скажите, а на форум хирургов вы тоже с своим мнением о понятно-непонятно лезите и криками я ниразу не хирург?  Хотя вот с так палевным ником строить целку... Вот здесь http://www.cherkessk.su/groups/group/36/ , Вы уже "Как профессиональный программист микроконтроллеров я не считаю контроллеры Ардуино удачным ..." 

ПС. Пролистнув страничку так и вспомнился школьный стишек, что заканчивался " среди дерьма вы все поэты, среди поэтов вы дерьмо". Похоже это не только о поэзии но и о Вашем программировании ;)

Старый
Offline
Зарегистрирован: 09.10.2016

Не знаю, мужики . Все туту умные такие . В школе и я неплохо знал мати... мате..., арихметику. Но с годами как-то все прошло- я знаю что знаю про это. А вот как называется "ЭТО" стал забывать.

Нашел одну фигушку тута и использовал.

Но как по мне- без всяких фильтров все работает тоже не плохо. 

А тут , в теме-последних 30-40 постов- меряются вялыми писюнами молодые дрочеры со старперами.Развели холивар, гавнюки. ПятницаЖ уже прошла, нехристи!

a5021
Offline
Зарегистрирован: 07.07.2013

Logik пишет:
Хотя вот с так палевным ником строить целку... Вот здесь http://www.cherkessk.su/groups/group/36/ , Вы уже "Как профессиональный программист микроконтроллеров я не считаю контроллеры Ардуино удачным ..."

Лошик, не смотря на то, что вас так заводит рыться в чужом грязном белье, не лишне все же оставаться внимательным.  Вот сейчас вы обвиняете одного человека, а над головой размахиваете обосранными трусами другого. Смотритесь при этом комично.