Вычисление определенного интеграла по формуле трапеций на равномерной сетке - Lisp

Узнай цену своей работы

Формулировка задачи:

Помогите сделать программу на lisp Зная значения функции в равностоящих точках на отрезке, вычислить определенный интеграл по формуле трапеций: I= h*((0.5(f0+fn)+ f1+f2 +f3+….+ fn-1) Значения функции в точках и шаг разбиения заданы списком: (f0 fn f1 f2 f3 ….fn-1 h), h – шаг разбиения.

Решение задачи: «Вычисление определенного интеграла по формуле трапеций на равномерной сетке»

textual
Листинг программы
  1. (defun integr (lst)
  2.   (let ((h (car (last lst)))
  3.         (l (cddr (butlast lst))))
  4.     (* h (+ (* 0.5 (car lst) (cadr lst)) (apply '+ l)))))

Объяснение кода листинга программы

В коде определена функция integr, которая вычисляет определенный интеграл по формуле трапеций на равномерной сетке. Вот список элементов кода с их номерами и описанием:

  1. (defun integr (lst) — определение функции integr, которая принимает один аргумент lst
  2. (let ((h (car (last lst))) — создание переменной h и присваивание ей значения первого элемента из списка lst, полученного с помощью функции last
  3. (l (cddr (butlast lst))) — создание переменной l и присваивание ей значения списка, полученного с помощью функций butlast и cddr
  4. ( h (+ ( 0.5 (car lst) (cadr lst)) (apply '+ l)) — вычисление значения интеграла по формуле трапеций на равномерной сетке В этом коде нет явных числовых значений переменных, только символьные обозначения функций и операций.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы