Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/40: Рейтинг темы: голосов - 40, средняя оценка - 4.80
 Аватар для Simply me
244 / 37 / 8
Регистрация: 05.05.2012
Сообщений: 521

Аппроксимация производной n-го порядка

23.02.2014, 10:17. Показов 8417. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день! Есть значения функции y(https://www.cyberforum.ru/cgi-bin/latex.cgi?{t}_{i}). Обозначаю https://www.cyberforum.ru/cgi-bin/latex.cgi?{y}_{i}. Нужно через https://www.cyberforum.ru/cgi-bin/latex.cgi?{y}_{i} выразить производную y n-го порядка. Вот так заменяется первая производная:
https://www.cyberforum.ru/cgi-bin/latex.cgi?{y'}_{i}=https://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{{y}_{i+1}-{y}_{i}}{h}.
Дальше можно рекуретнтно вывести формулу для второй производной, подставив https://www.cyberforum.ru/cgi-bin/latex.cgi?{y'}_{i} в формулу для первой:
https://www.cyberforum.ru/cgi-bin/latex.cgi?{y''}_{i}=https://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{{y}_{i+1}-2{y}_{i}+{y}_{i-1}}{h^2}.
Вот замена третьей производной:
https://www.cyberforum.ru/cgi-bin/latex.cgi?{y'''}_{i}=https://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{{y}_{i+1}-3{y}_{i}+3{y}_{i-1}-{y}_{i-2}}{h^3}.
А как получить в общем случае для n-ой производной?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.02.2014, 10:17
Ответы с готовыми решениями:

Аппроксимация полиномом высокого порядка
Всем привет! И снова я спустя время :) Нужен только совет! Ранее была почти такая же ситуация с аппроксимацией, но только там была...

Численное вычисление производной н-го порядка, полином лежандра
Доброго времени суток, у меня есть 2 вопроса: 1) Не могу допереть как реализовать в матлабе следующее действие - численно вычислить...

Решение дифф. уравнения с производной второго порядка.
Добрый день уважаемые форумчане, подскажите как решить уравнение вида my''=(P-k*|y'|*y)*A-F-Kv*y (m,P,k,A,F,Kv - const, при t=0 у''=0 и...

6
5 / 6 / 4
Регистрация: 18.11.2009
Сообщений: 661
26.02.2014, 09:13
y(n)i=(y(n-1)i+1 - y(n-1)i-1/(xi+1 - xi-1)

Добавлено через 30 минут
а вообще надо писать функцию вида
Matlab M
1
yn=derive(x,n)
где x -входной массив, n- порядок производной,
причем по формулам выше - центральных разностей длина выходного массива yn будет на 2n короче длины массива x
Поэтому для граничных точек лучше формулы левой и правой конечных разностей.
А вообще точность таких расчетов невелика. Лучше сначала сделать сглаживание или фильтрацию исходного массива
1
 Аватар для Simply me
244 / 37 / 8
Регистрация: 05.05.2012
Сообщений: 521
26.02.2014, 13:33  [ТС]
Мне нужно получить в матрице значения, как в таблице. У меня получились только столбцы с номерами, кратными n, n - порядок уравнения. потому что в этих столбцах просто значения функций.
Matlab M
1
2
3
4
5
6
for i=1:1:N 
l(i,n)=y(i);
for j=1:1:m
l(i,(j+1)*n)=-u(i,j);
end
end
Дальше, наверное, нужно расчитать столбцы, которые левее, потому что там первая производная, а она считается через нулевую, дальше столбцы, где вторая производная и т.д. Проблема с организацией цикла. получается, что параметры цикла зависят от номера столбца.
Вложения
Тип файла: docx Таблица.docx (16.8 Кб, 8 просмотров)
0
 Аватар для Simply me
244 / 37 / 8
Регистрация: 05.05.2012
Сообщений: 521
01.03.2014, 14:19  [ТС]
Скажите, пожалуйста, формулы левой и правой конечных разностей. Только для первого порядка нашла.
0
53 / 53 / 14
Регистрация: 26.02.2014
Сообщений: 150
02.03.2014, 16:02
Здравствуйте.
Если вам нужна точность, то надо читать про аппроксимации производных, они бывают разные.
Если нужно быстрое и простое решение, читайте дальше.

Нужные вам коэффициенты - это коэффициенты полинома (1-z)^n
В матлабе эти коэффициенты можно получить с помощью функции poly([1 1 1 ... 1])
Например

>> poly([1 1])

ans =

1 -2 1

>> poly([1 1 1])

ans =

1 -3 3 -1
и т.д.

Для произвольной степени N это будет poly(ones(1,N))

Чтобы получить значения производной, мы просто фильтруем входные данные полученным полиномом.
Если данные это X, и порядок производной N, то ответ будет такой:

function Y=mydiff(X,N)
c=poly(ones(1,N));
Y=filter(c,1,X);
end

Правда, полученные значения будут смещены на N/2 вправо(вроде так), и будут некорректные значения на краях. Зато просто и быстро.

Если нравится, не забудьте +1
Про края потом.
2
 Аватар для Simply me
244 / 37 / 8
Регистрация: 05.05.2012
Сообщений: 521
04.03.2014, 07:25  [ТС]
Написала функцию:
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
function [a]=diff(mass,n,t)
N=size(mass)
for i=1:1:(N-1)
a(i,j)=(mass(i+1)-mass(i))/t;
end
for j=2:1:n
for i=j:1:(N-1)
a(j,i)=(a(j-1,i)-a(j-1,i-1))/t;
end
end
return
end
Почему матлаб ругается, когда в третий параметр передается десятичное число (не целое)? Как исправить, т. е. как вообще указывать тип возвращаемых и передаваемых параметров при создании функции ?
0
 Аватар для Зосима
5245 / 3573 / 379
Регистрация: 02.04.2012
Сообщений: 6,477
Записей в блоге: 18
04.03.2014, 16:33
Simply me, попробуй функцию обозвать по-другому (diff - это имя встроенной функции, которая принимает вторым и третьим параметром размерность, т.е. целое число)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.03.2014, 16:33
Помогаю со студенческими работами здесь

Аппроксимация четвертой производной
Добрый вечер. Подскажите где можно найти формулу центральной аппроксимации четвертой производной?

Разностная аппроксимация производной
помогите,пожалуйста,доказать или опровергнуть следующие равенства : \lim_{h\rightarrow...

Нахождение производной n-ого порядка
Найти {y}^{n}(0) y(x)= \sqrt{1+\sqrt{1+x} Могу сюда применить Лейбница? Тогда как? С чего начать?

Записать формулу n порядка производной
y=\sqrt{x}

Нахождение производной 2 порядка функций
Здравствуйте. Не получается решить задание под буквами а и б. Помогите, пожалуйста. Заранее благодарен.


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Семь 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