matlab中几种求积分的方法

article/2025/8/21 18:13:48

  • matlab中几种求积分的方法
    • 举例图形
    • Midpoint Rule
    • Trapezoid Rule
    • 13 Simpsons
    • 利用integral
    • 结果显示

matlab中几种求积分的方法

最近看了几天matlab的基础知识,总结一下求简单积分的方法

举例图形

x = linspace(0, 2*pi, 100);
y = sin(x) + cos(x);
plot(x, y);line([0, 2*pi], [0, 0]);
set(gca, 'XLim', [0, 2*pi]);
set(gca, 'XTick', 0:pi/2:2*pi);
set(gca, 'FontName', 'symbol');
set(gca, 'XTickLabel', {'0', 'p/2', 'p', '3p/2', '2p'});

这里写图片描述

Midpoint Rule

fi = f((x1 + x2) / 2)
取两点之间中点的平均值作为该区域的高
这里写图片描述

h = pi/100;
x = 0:h:2*pi;
mid = (x(1:end-1) + x(2:end)) / 2;
y = sin(x) + cos(x);
s1 = h * sum(y)

Trapezoid Rule

fi = (f(x1) + f(x2)) / 2;
取两点函数值得平均值作为该区域的高
这里写图片描述

h = pi/100;
x = 0:h:2*pi;
y = sin(x) + cos(x);
yy = (y(1:end-1) + y(2:end))/2;
s2 = h * sum(yy)

除此以外,matlab中的trapz函数可用来调用求其值,如下

h = pi/100;
x = 0:h:2*pi;
y = sin(x) + cos(x);
s3 = h * trapz(y)

1/3 Simpson’s

fi = 3/h*(f0 + 4f1 + f2),利用公式求解即可
这里写图片描述

h = pi/100;
x = 0:h:2*pi;
y = sin(x) + cos(x);
s4 = h * (y(1) + y(end) + 2*sum(y(3:2:end-2)) + 4*sum(y(2:2:end-1)))

利用integral

f = @(x) sin(x) + cos(x);
s5 = integral(f, 0, 2*pi)

结果显示

对比一下各种方式求出的积分值
这里写图片描述


http://chatgpt.dhexx.cn/article/GBDXIVIl.shtml

相关文章

python怎么算积分_蒙特卡洛方法求定积分及python实现(转)

用蒙特卡洛方法计算定积分 1.原理 计算定积分 利用蒙特卡洛计算方法,核心步骤是求取随机的 g(X1),………,g(Xn),n∈[a,b],由数学期望和大数定理可以近似计算定积分,公式为 2.测试用例 原函数: 导函数: 计算导函数在[10,15]上的定积分; 3.测试语言 Python 4.测试代码 …

蒙特卡洛方法及其求积分应用

本文发自:http://www.haopeng233.top/2018/06/16/math-probability-MC/ 欢迎大家访问:) 前言 最初听到蒙特卡洛方法(Monte Carlo,下文用MC代替)是在本科的工程经济学课堂上,当时汪帅&#xf…

蒙特卡洛法求积分

问题一:我们如何用蒙特卡洛方法求积分?问题二:如何近似求一个随机变量的数学期望?问题三:估计的误差是多少?问题四:如何从理论上对蒙特卡洛估计做分析?结论 import numpy as np impo…

蒙特卡洛方法求定积分

用蒙特卡洛方法计算定积分 1.原理 计算定积分 利用蒙特卡洛计算方法,核心步骤是求取随机的 g(X1),………,g(Xn),n∈[a,b],由数学期望和大数定理可以近似计算定积分,公式为 2.测试用例 原函数: 导函数:

python 二重积分_python中求二维积分的方法

python中一般求解微积分可以使符号积分求出解析解,使用数值积分求出数值解。在计算机的处理当中,数值解往往更有意义。本文介绍python中利用数值积分例程和微分方程求解器scipy.integration中的dblquad方法求取二维积分的介绍。 1、引入scipy.integratio…

R语言:蒙特卡洛方法求积分

蒙特卡洛方法(MC) 一、蒙特卡洛方法简介二、利用蒙特卡罗方法计算圆周率三、利用蒙特卡洛方法求定积分例1例2例3 总结: 一、蒙特卡洛方法简介 蒙特卡洛方法得名于摩纳哥的蒙特卡洛赌场,是大数定律的经典应用,即用大样本数据计算出…

计算方法(一)——计算机求积分方法,机械求积法

机械求积法 转载请注明出处! 一、引言 随着人工智能的兴起,在计算机领域又一次掀起了数学热,不管是传统的机器学习,还是现在的深度学习,都离不开积分的支撑,那计算机在底层到底是怎样求积分的呢?小编同大家一起探讨。 二、理论推导 我们知道,在我们所学的微积分中我们是…

C++实现龙贝格求积分算法

1. 算法原理简介 T(0)(b-a)(f(a)f(b))/2; H(0)(b-a)f( (ab)/2 ); T(i)(T(i-1)H(i-1))/2。 T(i) 的语义是将积分区间做 2i 等分时复化梯形求积分公式算出的近似值。 H(i) 的语义是将积分区间做 2i 等分时,将每个小区间的长度乘该小区间中点处…

c#求定积分

步骤: 1 安装和使用NuGet插件 教程链接:https://blog.csdn.net/qq_36456952/article/details/55252913 2 安装 C# 科学计算库 Math.NET Numerics 教程链接: https://blog.csdn.net/heray1990/article/details/72467304 注意:在安装 C#…

人工智能数学基础---不定积分4:有理函数求积分的方法

一、引言 在《人工智能数学基础–不定积分2:利用换元法求不定积分》、《人工智能数学基础—不定积分3:分部积分法》分别介绍了换元积分法和分步积分法。但有些函数表达式很复杂,如果直接用换元积分法和分步积分法不好计算积分,这…

求积分方法及积分知识点-----专升本

求积分 一般(常见)求不定积分方法 一般(常见)定积分方法 带三角函数的求积分 凑微分法,拆开,三角代换,分部积分,整体法, 倒三角变正三角,奇拆偶降 几分之一圆…

二维数组、指针详解

二维数组、指针详解: 目录 二维数组、指针详解: 1.研究二维数组的表示。 2.现在研究关于二维数组和指针的关系 1.研究二维数组的表示。 首先,用代码运行进行测试,验证的相关结果, // C.cpp : 定义控制台应用程序…

二维数组与指针

转载自:https://www.cnblogs.com/chenyangyao/p/5222696.html 声明:本文为原创博文,如有转载,请注明出处。若本文有编辑错误、概念错误或者逻辑错误,请予以指正,谢谢。 指针与数组是C/C编程中非常重要的元…

二维数组指针,指针数组与数组指针的区别,一看就懂

目录 一.二维数组基本概念 二.指针数组和数组指针的区别 1.数组指针 2.指针数组 3.总结 三.二维数组的首地址和数组名 四.二维数组如何运用指针? 五.代码分析,加深了解。 一.二维数组基本概念 二维数组在概念上是二维的,有行和列,但在…

二维数组与数组指针详解

二维数组 深入理解二维数组 首先定义一个二维数组 int a[2][3]{{1,2,3},{4,5,6}}; #or int a[2][2]{1,2,3,4};新的理解:我们可以这样认为,a可以看作是一个一维数组,包含2个元素,每个元素恰好是包含3个整型的元素,a这个…

c语言——二维指针数组

1 一维度数组与指针 1.1一维数组元素在内存分布 #include<stdio.h> #include<stdlib.h> #include<string.h>#define ARRAY_SIZE 8void main() {int data[ARRAY_SIZE]{0,1,2,3,4,5,6,7};int i;printf("data address:0x%-8x\r\n",data);for(i0; i&l…

c++二维数组指针

&#xff11;.定义指针指向二维数组 为了方便根据用户输入动态定义二维数组的行和列&#xff0c;引入变量rowsNum(行)&#xff0c;colsNum(列&#xff09;。 以定义&#xff15;行&#xff14;列的二维数组为例&#xff0c; int rowsNum 4;int colsNum 5;float** a new fl…

二维数组名是指针的指针吗?

我们知道一维数组名是常量指针&#xff0c;我们可以将一维数组名赋给一个指针类型再对一维数组进行相关的操作&#xff0c;那二维数组名又是什么&#xff1f; 我们这样初始化一个二维数组int A[3][3]{1,2,3,4,5,6,7,8}或者为int A[3][3]{ {1,2,3},{4,5,6}&#xff0c;{7,8,9}}…

c++二维数组中指针详解

二维数组 a[2][3]{{1,2,3},{4,5,6}};指针p有如下几种表达形式&#xff1a; 1 方式一&#xff1a;int (*p)[3]a (或&a[0]&#xff09;; 一定要加上括号&#xff0c;因为[]的优先级高于*&#xff1b;意思是定义一个指向3个int类型变量的指针。p代表二维数组中第一个…

C语言 二维数组和指针

二维数组可以看成是元素为一维数组的数组&#xff0c;假设有一个三行四列的二维数组a&#xff0c;它定义为&#xff1a; int a[3][4] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 }; a 是二维数组名。a 数组包含 3 行&#xff0c;即 3 个行元素&#xff1a;a[0]&#xff0c;a[1]…