2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


Посмотреть правила форума



Начать новую тему Ответить на тему На страницу Пред.  1, 2, 3, 4, 5  След.
 
 Re: Численно решить уравнение с 4-мя неизвестными
Сообщение09.05.2023, 21:40 
Заслуженный участник
Аватара пользователя


23/07/08
10910
Crna Gora
Спасибо за информацию. :mrgreen:

 Профиль  
                  
 
 Re: Численно решить уравнение с 4-мя неизвестными
Сообщение09.05.2023, 21:47 
Аватара пользователя


22/07/11
869
Вообще не очень понятно, чего хочет добиться ТС.
1. Решить задачу и сообщить преподавателю решение
2. Запрограммировать микроконтроллер для системы АСУТП, чтобы он в течение десятилетий подхватывал в реальном времени незатухающий синус и идентифицировал его параметры
3. Просто научиться (раз и навсегда) идентифицировать незатухающий синус...
4. Научиться идентифицировать нелинейные модели по экспериментальным данным.

В зависимости от этого и надо выбрать метод решения

О, ещё забыл:
5. Поразить всех нетрадиционным подходом к решению тривиальной задачи.

 Профиль  
                  
 
 Re: Численно решить уравнение с 4-мя неизвестными
Сообщение09.05.2023, 22:41 


19/11/20
307
Москва
Amw
Ну... вообще этот синус – погрешность, которую я таким способом решил обработать. Эффективность такого метода обработки, честно говоря, не очень высокая, так как есть цифровая фильтрация, которую я уже для этой задачи применил (и она за куда меньшее время выдаёт результат не хуже). Просто было интересно, что можно для такой задачи получить, используя численные методы.

Также интерес у меня тут есть чисто учебный – я не на математика учусь, поэтому задача для меня эта далеко не элементарная :D . Я до недавнего момента думал, что МНК – это когда формулу из лекции берешь (уж не буду искать, какую) и рассчитываешь какие-то коэффициенты. Про предложенные выше методы (очень удобные, кстати) через псевдообратную матрицу (о ней я тоже не знал) я и не подозревал. Про то, что есть задачи минимизации функции, я тоже не знал. Чтобы вы понимали, наша программа по численным методам выглядела так: решение СЛАУ парой методов, МНК (два типовых расчёта, где приближать всё нужно было полиномами), интерполяция (методы Ньютона и Лагранжа), численное дифференцирование и интегрирование, численное решение дифференциальных уравнений. То есть я что-то плюс-минус знаю, но я уже задумываюсь о том, чтобы в эту тему углубиться, потому что уже не первый раз нужно что-то подобное, а я туплю.

Кстати, вот вы писали про АСУТП и идентификацию параметров незатухающего синуса. А как бы вы такую задачу решали? Через спектральный анализ?

 Профиль  
                  
 
 Re: Численно решить уравнение с 4-мя неизвестными
Сообщение10.05.2023, 06:58 
Аватара пользователя


22/07/11
869
Kevsh в сообщении #1593228 писал(а):
МНК (два типовых расчёта, где приближать всё нужно было полиномами)

Это как раз тот метод, что здесь Вам предложил svv (Линейное программирование, регрессионный анализ)

Kevsh в сообщении #1593228 писал(а):
...про АСУТП и идентификацию параметров незатухающего синуса. А как бы вы такую задачу решали? Через спектральный анализ?
Опять же всё зависит от конечной цели. Можно спектр использовать для выбора начального приближения, а затем "шлифануть" МНК. АСУТП я упомянул как пример того, что задача непрерывно повторяется и её реализация требует особого подхода. Одноразовая же решается "на коленке".

 Профиль  
                  
 
 Re: Численно решить уравнение с 4-мя неизвестными
Сообщение10.05.2023, 08:37 
Заслуженный участник
Аватара пользователя


11/03/08
10007
Москва
Соображения применительно к "промышленным" (а не "разовым" научным) расчётам, в особенности в рассуждении микроконтроллера. Здесь быстрота вычисления может быть критична, особенно на архитектуре микроконтроллера (в котором может вообще не быть расчёта тригонометрии, и синусы/косинусы надо считать подпрограммой).
1. Перебор по сетке ("сканирование") для единичного расчёта в одномерном случае может быть удовлетворительным решением, но уже в многомерном нарываемся на "проклятие размерности", и он годится разве что для получения начальных приближений, уточняемых оптимизационными алгоритмами (градиентным, сопряжённых направлений и т.п.), конкурируя здесь со "случайным набросом". При многократном же расчёте есть резон использовать какой-либо метод одномерной оптимизации ("золотого сечения", квадратичной аппроксимации и др.), Для ЗС, скажем, число вычислений линейной модели при выбранном b для точности 0.001 начального интервала поисков сократится с 1000 до примерно 15. Это может оправдать усложнение (весьма умеренное) программы (напомню, что метод "золотого сечения" в одномерной оптимизации предполагает, что мы указали отрезок, в котором лежит единственный оптимум, вычисляем значения функции на концах его и в двух точках внутри него, разбивая на три отрезка, и отбрасывая тот, где оптимума заведомо нет, затем повторяя процедуру для сокращённого отрезка; "золотое сечение" здесь задаёт положения двух внутренних точек, что связано не с "матемистикой", а с тем, что после отбрасывания части отрезка у нас уже есть вычисленное значение функции в новом отрезке, так что нужно считать не в двух, а в одной точке). В ЗС отрезок, внутри которого оптимум, на каждое вычисление функции сокращается в 1.618... раза. Несложно реализовать и квадратичную аппроксимацию.
2. Вычисление тригонометрических функций затратно даже и на процессорах общей архитектуры, требуя задержки 50-160 тактов (от модели)
https://www.agner.org/optimize/instruction_tables.pdf
И считать в каждой точке синусы и косинусы может быть весьма накладно. Если же микроконтроллер без специальных функций, то вычисление по подпрограмме может затребовать и тысяч тактов.
Однако в данной задаче шаг по времени постоянен, и можно воспользоваться обычными тригонометрическими соотношениями:
$ \sin\left( \alpha \pm \beta \right)= \sin\alpha \, \cos\beta \pm \cos\alpha \, \sin\beta$
$ \cos\left( \alpha \pm \beta \right)= \cos\alpha \, \cos\beta \mp \sin\alpha \, \sin\beta$
Где $\beta$ соответствует шагу аргумента по времени, а $\alpha$ текущему значению аргумента.
То есть собственно расчёт тригонометрических функций делается однократно для заданного значения параметра b, а затем для каждой точки считается не синус и косинус, а 4 умножения и два сложения.

 Профиль  
                  
 
 Re: Численно решить уравнение с 4-мя неизвестными
Сообщение10.05.2023, 10:03 
Заслуженный участник
Аватара пользователя


11/03/08
10007
Москва
Kevsh в сообщении #1593228 писал(а):
Ну... вообще этот синус – погрешность, которую я таким способом решил обработать.


Вот для погрешности способ едва ли не пессимальный. Он предполагает, что у нас есть синусоида неизвестной, но постоянной частоты, а помеха, искажающая её значения, мала. Для оценки спектра погрешности лучше бы спектральные методы, того же Фурье, использовать. Вот оценивать какие-нибудь периодические процессы (экономические циклы, или там что-то хронобиологическое) может подойти.

Kevsh в сообщении #1593228 писал(а):
про АСУТП и идентификацию параметров незатухающего синуса. А как бы вы такую задачу решали? Через спектральный анализ?


Если частота неизвестна - какие-нибудь авторегрессионные методы оценивания. По два коэффициента на частотную составляющую.
Если известны частоты, которые могут быть (но не все одновременно), скажем, это какой-нибудь протокол связи с частотной модуляцией, наподобие DTMF в телефонии: 1209 Hz, 1336 Hz, 1477 Hz , 1633 Hz, 697 Hz, 770 Hz, 852 Hz, 941 Hz, может быть полезен алгоритм Герцеля или что-то в этом роде.
http://dsp-book.narod.ru/dtmf.pdf

 Профиль  
                  
 
 Re: Численно решить уравнение с 4-мя неизвестными
Сообщение10.05.2023, 10:35 


19/11/20
307
Москва
Евгений Машеров
Я посмотрел, что такое метод золотого сечения, на метод бисекции похоже. Только мне не очень понятно, как его тут применить. На данный момент мы делали так: заготавливаем кучу вариантов $b$ с каким-то шагом, для каждого из этих вариантов применяем МНК, находим вариант с наименьшей невязкой – готово. Как я понял, вы предлагаете не просто разбивать отрезок, в котором лежит $b$, с каким-то шагом, а находить $b$ как-то быстрее и умнее. Для применения ЗС должна быть возможность вычислить функцию в каждой точке, но ведь при старте программы у нас вообще никаких параметров нет (а не только $b$), то есть применить ЗС не выйдет. Может, сделать начальное приближение всех остальных параметров, для них через ЗС найти $b$, а потом для этого $b$ через МНК найти приближение функции?

Также не очень понятно, как использовать предложенные вами тригонометрические соотношения. А первой точке у меня угол $\alpha$, а потом $\alpha + \beta$, $\alpha + 2\beta$, $\alpha + 3\beta$ и т. д., разве не так? Получается, что при таком подходе можно избежать расчёта двух синусов и двух косинусов, но ещё два синуса и два косинуса придётся рассчитывать (а ещё 2 сложения/вычитания и 4 произведения). Хотя, это, конечно, всё равно быстрее.

 Профиль  
                  
 
 Re: Численно решить уравнение с 4-мя неизвестными
Сообщение10.05.2023, 12:27 
Заслуженный участник
Аватара пользователя


11/03/08
10007
Москва
1. Ну, я бы поступал так: получаем некоторое приближение к b (например, посчитав пересечения нулей), исходя из него задаём отрезок поиска $(b_0-\Delta;b_0+\Delta)$(в случае перебора по сетке нужно то же самое). Обращаемся к процедуре расчёта параметров при заданном b (которая вычисляет последовательности синусов и косинусов и строит линейную регрессию, возвращая меру приближения, например, сумму квадратов отклонений), на стартовом шаге четырежды (для значений b на концах выбранного отрезка и в двух точках "золотого сечения"), на последующих отбрасывается часть отрезка, у нас есть три точки, вычислять надо только в одной точке на каждом шаге, минимизируя меру приближения, пока отрезок не укоротится до нужной точности.
2. Рекуррентно. На первом шаге есть синусы-косинусы альфы и беты, получаются синусы-косинусы альфы плюс беты. На следующем используем полученные $\sin(\alpha+\beta)$ и $\cos(\alpha+\beta)$ так же, как на предыдущем использовались синусы-косинусы альфы, получая $\sin(\alpha+2\beta)$ и $\cos(\alpha+2\beta)$ и так далее.

 Профиль  
                  
 
 Re: Численно решить уравнение с 4-мя неизвестными
Сообщение10.05.2023, 16:57 


14/11/21
141
Kevsh в сообщении #1593228 писал(а):
Amw
Ну... вообще этот синус – погрешность, которую я таким способом решил обработать. Эффективность такого метода обработки, честно говоря, не очень высокая, так как есть цифровая фильтрация, которую я уже для этой задачи применил (и она за куда меньшее время выдаёт результат не хуже). Просто было интересно, что можно для такой задачи получить, используя численные методы.

Также интерес у меня тут есть чисто учебный – я не на математика учусь, поэтому задача для меня эта далеко не элементарная :D . Я до недавнего момента думал, что МНК – это когда формулу из лекции берешь (уж не буду искать, какую) и рассчитываешь какие-то коэффициенты. Про предложенные выше методы (очень удобные, кстати) через псевдообратную матрицу (о ней я тоже не знал) я и не подозревал. Про то, что есть задачи минимизации функции, я тоже не знал. Чтобы вы понимали, наша программа по численным методам выглядела так: решение СЛАУ парой методов, МНК (два типовых расчёта, где приближать всё нужно было полиномами), интерполяция (методы Ньютона и Лагранжа), численное дифференцирование и интегрирование, численное решение дифференциальных уравнений. То есть я что-то плюс-минус знаю, но я уже задумываюсь о том, чтобы в эту тему углубиться, потому что уже не первый раз нужно что-то подобное, а я туплю.

Кстати, вот вы писали про АСУТП и идентификацию параметров незатухающего синуса. А как бы вы такую задачу решали? Через спектральный анализ?


Цитата:
Кстати, вот вы писали про АСУТП и идентификацию параметров незатухающего синуса. А как бы вы такую задачу решали? Через спектральный анализ?


Если речь о синусе, имеющем постоянную частоту (или вариация частоты мала на интервале накопления), то БПФ - это ОПТИМАЛЬНЫЙ алгоритм ОБНАРУЖЕНИЯ/ОЦЕНИВАНИЯ. Можно оценить амплитуду, частоту, фазу. Уточнить измерения можно как sinc-интерполяцией (заполнив часть БПФ-выборки нулями справа и выполнив БПФ), так и используя для уточнения частоты локальные алгоритмы (нелинейный МНК, дискриминатор итд), инициализировав их данными (включая первичную оценку частоты) от БПФ.

 Профиль  
                  
 
 Re: Численно решить уравнение с 4-мя неизвестными
Сообщение10.05.2023, 19:49 
Заслуженный участник
Аватара пользователя


11/03/08
10007
Москва
Проблема оценок через БПФ (вообще ДПФ, не только "быстрое") в том, что одновременно оцениваются мощности по всем частотам "гребёнки". То есть оцениваем много, но с ошибкой ("оценки несостоятельны").

 Профиль  
                  
 
 Re: Численно решить уравнение с 4-мя неизвестными
Сообщение10.05.2023, 21:14 
Заслуженный участник
Аватара пользователя


01/09/13
4688
и уж лучше не Фурье, а Хартли - хоть памяти вдвое меньше жрёт...

 Профиль  
                  
 
 Re: Численно решить уравнение с 4-мя неизвестными
Сообщение10.05.2023, 23:00 
Заслуженный участник
Аватара пользователя


11/03/08
10007
Москва
Нет пар комплексных чисел - но вещественных вдвое больше. "Что совой об пень, что пнём об сову".

 Профиль  
                  
 
 Re: Численно решить уравнение с 4-мя неизвестными
Сообщение11.05.2023, 00:31 


19/11/20
307
Москва
Евгений Машеров
svv
Вот, решил использовать метод золотого сечения. У нас уже есть график зависимости $S$ от $b$:
Изображение
Тут, в принципе, видно, что при более-менее нормальном начальном приближении минимум должен искаться хорошо – главное начальным отрезком попасть в "большую впадину". Начальное приближение возьмём, считая пересечения через ноль, оно у нас достаточно близко к искомому $b$: 0,0942 (при искомом 0,0934). Начальный отрезок я беру как начальное приближение плюс-минус 2 процента от него, в нашем случае это от 0,0923 до 0,0961. Если отметить эти точки на графике, то видно, что в " большую впадину" мы попали, причём с запасом (ну и искомый минимум лежит внутри нашего отрезка).
Изображение
Вот код, который должен искать набор коэффициентов, обеспечивающих минимальную невязку методом золотого сечения:
код: [ скачать ] [ спрятать ]
Используется синтаксис Matlab M
y=[61.8345252303583; 64.2186685630058; 68.5780907223303; 73.8351943469310; ...
   78.1178746381488; 79.4447599032848; 77.1209584326325; 72.3384843492439; ...
   67.1780874592201; 63.3083342155163; 61.5848686426315; 62.2811015529467; ...
   65.2944676251564; 70.0570903999628; 75.2539157928855; 78.8647097424086; ...
   79.1332309482167; 75.9175990711235; 70.8145100998371; 65.8890541188997; ...
   62.5767534515232; 61.5348068381206; 62.9195242022718; 66.5179434492526; ...
   71.5768723085928; 76.5420755341518; 79.3273502810222; 78.5249447120497; ...
   74.5575769012328; 69.3099594259272; 64.7368823911916; 62.0334551154671; ...
   61.6848623894562; 63.7418912006921; 67.8660696583989; 73.0933449460809; ...
   77.6481344114599; 79.4840538567364; 77.6481344114599; 73.0933449460811; ...
   67.8660696583989; 63.7418912006923; 61.6848623894562; 62.0334551154669; ...
   64.7368823911916; 69.3099594259272; 74.5575769012327; 78.5249447120497; ...
   79.3273502810222; 76.5420755341517; 71.5768723085929; 66.5179434492527; ...
   62.9195242022719; 61.5348068381207; 62.5767534515231; 65.8890541188995; ...
   70.8145100998372; 75.9175990711235; 79.1332309482166; 78.8647097424087; ...
   75.2539157928858; 70.0570903999627; 65.2944676251561; 62.2811015529469; ...
   61.5848686426318; 63.3083342155164; 67.1780874592199; 72.3384843492438; ...
   77.1209584326324; 79.4447599032847; 78.1178746381488; 73.8351943469311; ...
   68.5780907223305; 64.2186685630060 ];
n=size(y,1);
x=(1:n)';

init_approx = find_frequency(x, y);
init_approx_delta = init_approx * 0.02;
a_n = init_approx - init_approx_delta;
b_n = init_approx + init_approx_delta;
c_n = (b_n - a_n) * 0.312 + a_n;
d_n = (b_n - a_n) * 0.618 + a_n;
[answ_c, S_c] = LS(init_approx, x, y);
[answ_d, S_d] = LS(init_approx, x, y);

for counter = (1:10)
    if S_c > S_d
        a_n = c_n;
        c_n = d_n;
        d_n = (b_n - a_n) * 0.618 + a_n;
        %disp(["Выбран d: " string(d_n) ". При a=" string(a_n) ", c=" string(c_n) ", b=" string(b_n)])
        [answ_d, S_d] = LS(d_n, x, y);
    else
        b_n = d_n;
        d_n = c_n;
        c_n = (b_n - a_n) * 0.312 + a_n;
        %disp(["Выбран c: " string(c_n) ". При a=" string(a_n) ", d=" string(d_n) ", b=" string(b_n)])
        [answ_c, S_c] = LS(c_n, x, y);
    end
end

[c, S] = LS(a_n + (b_n - a_n) / 2, x, y);
disp(c)
disp(a_n + (b_n - a_n) / 2)
disp(S)

function [c, S] = LS(b, x, y)
    A=[ones(size(y,1),1), cos(2*pi*b*x), sin(2*pi*b*x)];
    c=pinv(A)*y;
    S=norm(y-A*c);
end

function frequency = find_frequency(x, y)
    counter = 0;
    first_i = 0;
    last_i = 0;
    zero = (min(y) + max(y)) / 2;
    for i = 2:size(x, 1)
        if y(i - 1) > zero && y(i) < zero || y(i - 1) < zero && y(i) > zero
            counter = counter + 1;
            if counter == 1
                first_i = i;
            else
                last_i = i;
            end
        end
    end
    frequency = (counter - 1) / (last_i - first_i) / 2;
end
 

Данный код на выдаёт $b=0,0927$ при невязке $S=5,9165$. Интересно не только то, что это не искомый коэффициент $b$, но и то, что невязка не та :D . Если ткнуть в такую точку на приведённом выше графике, то невязка там равна 5,76103, отсюда и проблема. Видимо, я неправильно преобразовал функцию поиска коэффициентов. Вот так было:
код: [ скачать ] [ спрятать ]
Используется синтаксис Matlab M
y=[61.8345252303583; 64.2186685630058; 68.5780907223303; 73.8351943469310; ...
   78.1178746381488; 79.4447599032848; 77.1209584326325; 72.3384843492439; ...
   67.1780874592201; 63.3083342155163; 61.5848686426315; 62.2811015529467; ...
   65.2944676251564; 70.0570903999628; 75.2539157928855; 78.8647097424086; ...
   79.1332309482167; 75.9175990711235; 70.8145100998371; 65.8890541188997; ...
   62.5767534515232; 61.5348068381206; 62.9195242022718; 66.5179434492526; ...
   71.5768723085928; 76.5420755341518; 79.3273502810222; 78.5249447120497; ...
   74.5575769012328; 69.3099594259272; 64.7368823911916; 62.0334551154671; ...
   61.6848623894562; 63.7418912006921; 67.8660696583989; 73.0933449460809; ...
   77.6481344114599; 79.4840538567364; 77.6481344114599; 73.0933449460811; ...
   67.8660696583989; 63.7418912006923; 61.6848623894562; 62.0334551154669; ...
   64.7368823911916; 69.3099594259272; 74.5575769012327; 78.5249447120497; ...
   79.3273502810222; 76.5420755341517; 71.5768723085929; 66.5179434492527; ...
   62.9195242022719; 61.5348068381207; 62.5767534515231; 65.8890541188995; ...
   70.8145100998372; 75.9175990711235; 79.1332309482166; 78.8647097424087; ...
   75.2539157928858; 70.0570903999627; 65.2944676251561; 62.2811015529469; ...
   61.5848686426318; 63.3083342155164; 67.1780874592199; 72.3384843492438; ...
   77.1209584326324; 79.4447599032847; 78.1178746381488; 73.8351943469311; ...
   68.5780907223305; 64.2186685630060 ];
n=size(y,1);
x=(1:n)';

b=0.02:0.0001:0.16;
N=size(b,2);
cc=zeros(3,N);
S=zeros(N);
for j=1:N
   A=[ones(n,1), cos(2*pi*b(j)*x), sin(2*pi*b(j)*x)];
   c=pinv(A)*y;
   S(j)=norm(y-A*c);
   cc(:,j)=c;
end

[Smin,Ind]=min(S);
b_=b(Ind(1))
c_=cc(:,Ind(1))
 

Но нам ведь теперь не нужно считать всё для большого количества $b$, верно? Нужно посчитать коэффициенты и невязку в конкретной точке. Вот я и написал:
Используется синтаксис Matlab M
function [c, S] = LS(b, x, y)
    A=[ones(size(y,1),1), cos(2*pi*b*x), sin(2*pi*b*x)];
    c=pinv(A)*y;
    S=norm(y-A*c);
end
 

Ответ такая функция выдаёт не совсем верный. Хотя я ничего не менял – x тот же, y тот же. Не понимаю :roll:

-- 11.05.2023, 00:53 --

Ещё заметил – если в "изначальном" коде в 10 раз уменьшить шаг поиска $b$, то найденный коэффициент $b$ не меняется, невязка не меняется, а остальные коэффициенты меняются :|

 Профиль  
                  
 
 Re: Численно решить уравнение с 4-мя неизвестными
Сообщение11.05.2023, 14:37 


14/11/21
141
Евгений Машеров в сообщении #1593359 писал(а):
Проблема оценок через БПФ (вообще ДПФ, не только "быстрое") в том, что одновременно оцениваются мощности по всем частотам "гребёнки". То есть оцениваем много, но с ошибкой ("оценки несостоятельны").


Вы, как я понимаю, под оценкой амплитуды посредством БПФ/ДПФ имеете в виду вот это: $\sqrt{\operatorname{Re}(...)^2+\operatorname{Im}(...)^2}$ и вас смущает неравенство матожидания этой величины амплитуде... Или вас смущают боковые лепестки фильтров гребенки?

Касательно 1-го момента... Мы ж не знаем реальных условий (SNR, требований по точности). Мож там высокий SNR, не предъявляются высокие требования по точности...

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

Касательно измерения мощности сигнала/шума/SNR. Вот тут есть обзорная статья (можно скачать pdf), где сравниваются 5 классических алгоритмов, используемых в индустрии для этих целей:
GNSS Solutions. Are Carrier-to-Noise Algorithms Equivalent in All Situations?
https://insidegnss.com/are-carrier-to-noise-algorithms-equivalent-in-all-situations/

 Профиль  
                  
 
 Re: Численно решить уравнение с 4-мя неизвестными
Сообщение11.05.2023, 14:53 
Заслуженный участник
Аватара пользователя


23/07/08
10910
Crna Gora
Kevsh в сообщении #1593393 писал(а):
Ещё заметил – если в "изначальном" коде в 10 раз уменьшить шаг поиска $b$, то найденный коэффициент $b$ не меняется, невязка не меняется, а остальные коэффициенты меняются :|
Мы нашли с некоторой точностью точку экстремума $b=b_0$ невязки $S(b)$. В этой точке $\frac{dS}{db}=0$. Поэтому в малой окрестности точки $b_0$ справедливо приближение
$S(b)\approx S(b_0)+\frac 1 2 S''(b_0)\;(b-b_0)^2$
То есть $S(b)$ в окрестности $b_0$ меняется квадратично. То есть медленно.

А у коэффициентов в точке $b_0$ нет экстремума. Их первая производная там не равна нулю, и они меняются относительно быстро.

MATLAB по умолчанию выводит вещественные числа с четырьмя знаками после точки. (Кстати, кто знает, как это изменить?) Для коэффициентов этой точности хватает, чтобы заметить разницу при большем и меньшем шаге, для медленно меняющейся невязки — нет.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 69 ]  На страницу Пред.  1, 2, 3, 4, 5  След.

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: mihaild


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group