Как я делаю численное интегрирование вектора в MATLAB?

У меня есть вектор 358 чисел. Я хотел бы сделать численное интегрирование этого вектора, но я не знаю функции этого.

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

5
задан MatlabDoug 19 May 2010 в 13:18
поделиться

3 ответа

Вам не нужно знать функцию для численного интегрирования; это точка trapz и quad . Просто передайте trapz свой вектор. Вот ссылка на документацию .

6
ответ дан 18 December 2019 в 11:54
поделиться

Подумайте об интегрировании, чтобы найти область под кривой, которая образована вашим вектором. На самом деле это не кривая, а многоугольная цепочка.Что делает функция TRAPZ , она находит сумму площадей каждой трапеции, образованной каждыми двумя соседними точками в вашем векторе, и их проекцию на ось X. См. Документацию по функциям, если у вас неравномерное расстояние между вашими точками или если расстояние не равно единице.

Подробнее об этом методе можно прочитать, например, в Википедии .

1
ответ дан 18 December 2019 в 11:54
поделиться

Если вы знаете горизонтальный интервал вашего вектора, вы можете использовать trapz, чтобы интегрировать его без функции. Например, для интегрирования y=sin(x) от 0 до pi с 358 отрезками,

x=0:pi/357:pi;
y=sin(x);
area=trapz(x,y);

Если просто использовать trapz(y), то получится гораздо большее число, так как по умолчанию расстояние между точками принимается равным 1. Эту проблему можно решить, умножив на расстояние между точками x:

area=pi/357*trapz(y);
8
ответ дан 18 December 2019 в 11:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: