MATLAB使用速成 第八章(定积分的计算与微分方程求解)

server/2025/1/15 22:07:42/

一、计算定积分的相关函数

1、trapz(梯形法)

(1)梯形法求解定积分的步骤:

①曲边小梯形的面积可以由直边小梯形的面积来近似,那么整个曲边梯形的面积S为

②将区间[a,b]进行n等分,即令

③整个曲边梯形的面积为

(2)对于语句“trapz(x, y)”,x为分割点(节点)组成的向量,y为被积函数在节点上的函数值组成的向量,它可计算x、y代表的区域的面积,也就是使用梯形法求定积分。另外需要注意的是,其中涉及的运算必须采用数组运算。

2、quad(自适应抛物线法)

(1)自适应抛物线法求解定积分的步骤:

①如下图所示,n等分区间[a,b],得

②计算节点和中点上的函数值:

③在区间[x_{i}-1, x_{i}]上,用过以下三点的抛物线来近似原函数f(x)。

④设过以上三点的抛物线方程为

⑤在区间[x_{i}-1, x_{i}]上,有

⑥最终求得f(x)在区间[a,b]上的定积分为

(2)对于语句“quad(f,a,b,tol)”,f = f(x)为被积函数(用函数句柄表示),[a,b]为积分区间,tol为计算精度(若不指定,缺省精度是10-6;精度越高,函数运行的时间越长)。另外需要注意的是,其中涉及的运算必须采用数组运算。

3、integral(全局自适应积分法,适用于R2012a以后的版本)

(1)函数integral可用于求解一重积分,具体使用方法为“integral(f,a,b,'RelTol',tol)”,其中f为被积函数的函数句柄(函数涉及的运算必须采用数组运算),[a,b]为积分区间,tol为计算精度(若不指定,缺省精度是10-6,不指定tol时'RelTol'需省略)。

(2)函数integral2可用于求解二重积分,具体使用方法为“integral2(f,a,b,c,d,'RelTol',tol)”,其中f为被积函数的函数句柄(函数涉及的运算必须采用数组运算),[a,b]为第一次积分区间,[c,d]为第二次积分区间,tol为计算精度(若不指定,缺省精度是10-6,不指定tol时'RelTol'需省略)。

二、微分方程求解

(1)对于语句“[T,Y] = solver(odefun,tspan,y0)”:

①y0为初值条件,tspan为求解区间。

②solver为MATLAB的ODE求解器(可以是ode45、ode23、ode113、ode15s、ode23s、ode23t、ode23tb)。

③odefun为显式常微分方程(可理解为一阶导数的函数式),可以用命令inline定义,或在函数文件中定义,然后通过函数句柄调用。

④MATLAB在数值求解时自动对求解区间进行分割,T(列向量)中返回的是分割点的值(自变量),Y(数组)中返回的是这些分割点上的近似解,其列数等于因变量的个数。

(2)没有一种算法可以有效地解决所有的ODE问题,因此MATLAB提供了多种ODE求解器,对于不同的ODE,可以调用不同的求解器。

(3)如果需求解的问题是高阶常微分方程,则需将其化为一阶常微分方程组,此时必须用函数文件来定义该常微分方程组。

①先编写函数文件verderpol.m。

function xprime=verderpol(t,x)
global mu;
xprime=[x(2); mu*(1-x(1)^2)*x(2) - x(1)];

②再编写脚本文件vdpl.m,然后在命令窗口直接运行该文件。

clear;
global mu;
mu=7; y0=[1; 0];
[t,x]=ode45(@verderpol, [0,40], y0);
plot(t,x(:,1));

http://www.ppmy.cn/server/10248.html

相关文章

Topaz Photo AI 3.0.0 (macOS Universal) - AI 图片修复工具

Topaz Photo AI 3.0.0 (macOS Universal) - AI 图片修复工具 Maximize Image Quality with AI 请访问原文链接:Topaz Photo AI 3.0.0 (macOS Universal) - AI 图片修复工具,查看最新版。原创作品,转载请保留出处。 作者主页:sy…

Spring Cloud面试篇

面试篇-nacos面试题 1. springboot常见组件 注册中心组件:Eureka、Nacos 负载均衡组件:Ribbon 远程调用组件:OpenFeign 网关组件:Zuul、Gateway 服务保护组件:Hystrix、Sentinel 服务配置管理组件:SpringCl…

多元函数泰勒公式(含黑塞矩阵)

一元函数的泰勒公式: 接下来,由一元函数有关知识,我们有: 注意这里的dxn中,应把dx看作一个整体,即一个微小变量的n次方 我们接下来推导微分算子: 接下来,把一元泰勒公式转为微分形式: 对于二元…

ROS1快速入门学习笔记 - 02ROS相关介绍

一、什么是ROS? ROS 通信机制 开发工具 应用功能 生态系统 目的:提高机器人在研发中的软件复用率 1. 通信机制 2. 开发工具 3. 应用功能 4. 生态系统 二、ROS的核心概念 1. 节点(Node)-- 执行单元 执行具体任务的进程、独立…

浮动的4个案例详解:网易云音乐列表/导航,淘宝banner区,文字环绕

你好,我是云桃桃。 一个希望帮助更多朋友快速入门 WEB 前端的程序媛。 云桃桃-大专生,一枚程序媛,感谢关注。回复 “前端基础题”,可免费获得前端基础 100 题汇总,回复 “前端工具”,可获取 Web 开发工具合…

MySQL尾部空格处理与哪些设置有关? 字符集PAD SPACE与NO PAD属性的区别、MySQL字段尾部有空格为什么也能查询出来?

文章目录 一、问题背景二、字符集PAD_ATTRIBUTE属性(补齐属性)2.2、PAD SPACE与NO PAD的具体意义 三、CHAR类型尾部空格的处理四、其他问题4.1、在PAD SPACE属性时如何实现精准查询 五、总结 以下内容基于MySQL8.0进行讲解 一、问题背景 一次查询中发现…

centos 下如何锁定docker版本

可能因为某些原因无意间执行了yum update或者apt-get -y upgrade;导致Docker版本升级,这会引起你开发的项目因为环境不同而面临不能执行的风险,为了避免此类问题发生,建议在安装好Docker后对Docker软件进行锁定,防止Docker意外更新…

Linux 目录操作函数

目录操作函数 ls -l 可以查看目录中文件的信息,比如: petriXX:~/lesson01/05_io/目录操作函数$ ls -l a.txt -rw-r--r-- 1 petri petri 0 Apr 22 18:51 a.txtLinux系统中的目录操作函数: int rename(const char *oldpath, const char *new…