2014 dxdy logo

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

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




 
 Матлаб: как вычислить длину кривой на заданном интервале?
Сообщение10.09.2021, 14:56 
Заданы векторы аргументов и значений некоторой функции $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 
Аватара пользователя
Возьмите некоторый мелкий шаг, а далее интегрируйте ломаную, получаемую по теореме Пифагора через принятый шаг и приращение функции на этом шаге.

 
 
 
 Re: Матлаб: как вычислить длину кривой на заданном интервале?
Сообщение10.09.2021, 17:04 
Спасибо. Интересует не "принцип", а реализация в среде Матлаб.

 
 
 
 Re: Матлаб: как вычислить длину кривой на заданном интервале?
Сообщение12.09.2021, 16:58 
Разобрался. Может кому пригодится:
Используется синтаксис 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 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group