2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 Матлаб: как вычислить длину кривой на заданном интервале?
Сообщение10.09.2021, 14:56 


26/09/17
341
Заданы векторы аргументов и значений некоторой функции $F(x)=y$.
Найдены коэффициенты аппроксимирующего полинома соответствующей степени.
Например:
Используется синтаксис Matlab M
y = [0 1 2 2 1 0];
x = 1:length(y);
plot(x,y)
k = polyfit(x,y,length(y)-1)
 

Как найти длину аппроксимирующей кривой на заданном интервале (например от 1 до 2)?

 Профиль  
                  
 
 Re: Матлаб: как вычислить длину кривой на заданном интервале?
Сообщение10.09.2021, 16:59 
Аватара пользователя


30/04/19
235
Возьмите некоторый мелкий шаг, а далее интегрируйте ломаную, получаемую по теореме Пифагора через принятый шаг и приращение функции на этом шаге.

 Профиль  
                  
 
 Re: Матлаб: как вычислить длину кривой на заданном интервале?
Сообщение10.09.2021, 17:04 


26/09/17
341
Спасибо. Интересует не "принцип", а реализация в среде Матлаб.

 Профиль  
                  
 
 Re: Матлаб: как вычислить длину кривой на заданном интервале?
Сообщение12.09.2021, 16:58 


26/09/17
341
Разобрался. Может кому пригодится:
Используется синтаксис Matlab M
% == Input Data ====
y = [0 1 2 2 1 0];

% == Algorithm ====
x = 1:length(y);
s=length(y)-1; % степень интерполяционного полинома
k = polyfit(x,y,s); % коэффициенты интерполяционного полинома
Y = @(t) polyval(k, t); % анонимная функция от переменной t (полином с коэффициентами k)
dY = @(t) polyval(polyder(k), t); % производная
integrand_L = @(t) sqrt(1 + dY(t).^2); % подынтегральная функция для расчета длины кривой
L = integral(integrand_L, min(x), max(x)) % длина кривой
S = integral(Y, min(x), max(x)) % площадь под графиком функции
 

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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