MATLAB求解微积分(代码+详细解读)

大多数实际工程问题常常简化为微分方程,其求解显地至关重要。

符号微积分

极限

% matlab提供的求极限函数limit(),其调用格式为
% y = limit(fun,x,x0)
% fun为要求解的函数,x为函数自变量,x0为函数自变量的取值,x趋近于x0
clc;
clear all;
close all;
syms x a   % Create symbolic variables and functions
I1 = limit((sin(x) - sin(3 * x))/sin(x),x,0)
I2 = limit((tan(x) - tan(a))/(x - a),x,a)
I3 = limit((3 * x - 5)/(x^3 * sin(1/x^2)),x,inf)

运行结果如下:

I1 =-2
I2 =tan(a)^2 + 1
I3 =3

导数

diff是求微分常用的函数,其调用格式为diff(f,x,n)f为关于x求n阶导数。

clc;
clear all;
close all;
syms x y
f = sym(exp(-2 * x)*cos(3 * x^(1/2)))
diff(f,x)
g = sym('g(x,y)')           % 建立抽象函数
f = sym('f(x,y,g(x,y))')    % 建立复合抽象函数
diff(f,x)
diff(f,x,2)

积分

% int(f,r,x0,x1)
% f为要积分的表达式,r为积分变量,若是定积分,x0与x1为积分上下限
clc;
clear all;
close all;
syms x y z
I1 = int(sin(x*y + z),z)
I2 = int(1/(3+2*x+x^2),x,0,1)
I3 = int(1/(3+2*x+x^2),x,-inf,inf)

运行结果为:

I1 =-cos(z + x*y)
I2 =(2^(1/2)*atan(2^(1/2)/4))/2
I3 =(pi*2^(1/2))/2

微分方程的数值解

数值解,是指给出一系列对应的自变量,采用数值方法求出的解。
matlab函数调用格式为:

[t,x] = ode23('xprime',t0,tf,x0,tol,trace)
[t,x] = ode45('xprime',t0,tf,x0,tol,trace)[t,x] = ode23('xprime',[t0,tf],x0,tol,trace)
[t,x] = ode45('xprime',[t0,tf],x0,tol,trace)

在这里插入图片描述

function dz = dzdx1(x,z)
dz(1) = z(2);
dz(2) = z(3);
dz(3) = z(3)*x^(-1) - 3 * z(2) * x^(-2) + 2 * z(1) * x^(-3) + 9 * x^(3) * sin(x);
dz = [dz(1);dz(2);dz(3)];
end

主程序如下:

clc;
clear all;
close all;
H = [0.1,60];
z0 = [1;1;1];
[x,z] = ode15s('dzdx1',H,z0);
plot(x,z(:,1),'g--',x,z(:,2),'b*--',x,z(:,3),'mp--');
xlabel('轴\it x');
ylabel('轴\it x');
grid on;
legend('方程解z1的曲线','方程解z2的曲线','方程解z3的曲线')

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/231825.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

windows环境下cmd找不到pip

报错信息:pip : 无法将“pip”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。 所在位置 行:1 字符: 1 pip ~~~ CategoryInfo : ObjectNotFou…

DataX迁移MongoDB

DataX迁移MongoDB 项目地址:GitHub - alibaba/DataX: DataX是阿里云DataWorks数据集成的开源版本。迁移MongoDB,读取组件为mongodbreader,写入组件为mongodbwriter 源码修改 目前版本中,在迁移MongoDB时,若列的类型为…

7-12 sdut-Collection-sort--C~K的班级(II)(java for PTA)

经过不懈的努力,C~K终于当上了班主任。 现在他要统计班里学生的名单,但是C~K在教务系统中导出班级名单时出了问题,发现会有同学的信息重复,现在他想把重复的同学信息删掉,只保留一个, 但是工作量太大了&am…

Linux-----13、用户、组

# 用户、组 # 一、用户管理 # ㈠ 用户概念及作用(了解) **用户:**指的是Linux操作系统中用于管理系统或者服务的人 一问:管理系统到底在管理什么? 答:Linux下一切皆文件,所以用户管理的是相应的文件 二问&#x…

java爬虫Jsoup主要类及功能使用详解

一、Jsoup的主要功能 二、Jsoup的主要类 org.jsoup.Jsoup类org.jsoup.nodes.Document类org.jsoup.nodes.Element类 三、Jsoup使用 maven引入加载文档解析文档使用选择器获取元素处理元素数据操纵HTML和文本从元素中提取属性,文本和HTML 一、Jsoup的主要功能 Jso…

React-Router v6设置默认路由

参考连接: https://www.soinside.com/question/rH6pzCBpqbVnntVKTnQ4oY 方式1 代码如下&#xff08;示例&#xff09;&#xff1a; 关键字 index<Routes><Route path"/"><Route index element{<ComponentA />} /><Route path"pat…

【UML】第6篇 用例图

目录 一、什么是用例图 二、参与者 2.1 什么是参与者 2.2 如何识别参与者 2.3 参与者之间的关系 从今天开始&#xff0c;就到了最干的各种的图的梳理和学习了&#xff0c;未来AI就能编码了&#xff0c;把业务建模和设计的基本功打好&#xff0c;也许能和AI和平相处呢。 一…

UART协议——FPGA代码篇

一.串口&#xff08;UART&#xff09;协议简介 UART 串口通信有几个重要的参数&#xff0c;分别是波特率、起始位、数据位、停止位和奇偶检验位&#xff0c;对于两个使用UART 串口通信的端口&#xff0c;这些参数必须匹配&#xff0c;否则通 起始位&#xff1a;表示数据传输的开…

科技云报道:至简至强,新一代服务器的算力美学

科技云报道原创。 在这个时代&#xff0c;数据和计算的边界正在迅速扩张。 随着云计算、物联网和人工智能的日益成熟&#xff0c;对算力的需求已经突破了传统的限制&#xff0c;进入了一个全新的阶段。在这个阶段&#xff0c;不仅是算力的量级发生了变化&#xff0c;其性质和…

力扣:202. 快乐数(Python3)

题目&#xff1a; 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为&#xff1a; 对于一个正整数&#xff0c;每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为 1&#xff0c;也可能是 无限循环 但始终变不到 1。如果这个过程 结果…

System.Text.Json.JsonSerializer 自定义实现序列化 DataSet、DataTable

System.Text.Json&#xff08;从 .NET Core 3.1 开始&#xff09;&#xff0c;为了能够序列化这些类型&#xff0c;您需要为JsonConverter<T>您需要的类型实现自己的类型并在JsonSerializerOptions. 为您要求的特定类型编写一个序列化程序应该相当容易。 如果您不想自己…

源码解析8-QSS原理-案例-Qt的qss特殊设置多个子控件的颜色与伪状态

Qt源码解析 索引 源码解析8-QSS原理-案例-Qt的qss特殊设置多个子控件的颜色与伪状态 有些时候我们想特殊设置QSS&#xff0c;比如某一类标题栏目&#xff0c;某一个窗口中的颜色。 重要的是我们需要同时设置多个特殊的按钮等。 统一设置所有 单一按钮全局设置 QPushButton…

2-以太坊虚拟机

以太坊虚拟机&#xff0c;简称EVM&#xff0c;是用来执行以太坊上的交易的。业务流程如下图&#xff1a; 输入一笔交易&#xff0c;内部会转换成一个Message对象&#xff0c;传入EVM执行。 如果是一笔普通转账交易&#xff0c;那么直接修改StateDB中对应的账户余额即可。如果…

数据结构:树(Tree)

树型结构 树的概念 树是一种非线性结构&#xff0c;他是由n&#xff08;n>0&#xff09;个有限结点组成的一个具有层次关系的集合。 当n0时&#xff0c;该树为空树。 在任意一个非空树中都满足以下条件&#xff1a; 1、有一个特殊的结点&#xff0c;称为根结点&#xff0c…

导航守卫 的使用 模板

一、什么是导航守卫&#xff1f; 正如其名&#xff0c;vue-router 提供的导航守卫主要用来通过跳转或取消的方式守卫导航。这里有很多方式植入路由导航中&#xff1a;全局的&#xff0c;单个路由独享的&#xff0c;或者组件级的。 导航守卫的三个参数 to&#xff1a;将要访问的…

GaussDB数据库表创建行访问控制策略

目录 一、前言 二、GaussDB中的行访问控制 1、CREATE ROW LEVEL SECURITY POLICY语法 2、ALTER ROW LEVEL SECURITY POLICY语法 3、ROW LEVEL SECURITY策略与适配SQL语法关系 三、GaussDB中的行访问控制策略示例 1、实现GaussDB行访问控制的一般步骤 2、行访问控制策略…

关于#c语言#的问题:分析递归调用的过程◇画出调用过程各语句执行过程

关于#c语言#的问题&#xff1a;分析递归调用的过程◇画出调用过程各语句执行过程 当涉及到递归调用的过程时&#xff0c;可以通过绘制函数调用栈来分析和理解递归的执行过程。下面是一个示例的C语言递归函数和相应的调用过程&#xff1a; #include <stdio.h>void recurs…

详解 Jeecg-boot 框架如何配置 elasticsearch

目录 一、下载安装 Elasticsearch 1、 地址&#xff1a;https://www.elastic.co/cn/downloads/elasticsearch 2、下载完成后&#xff0c;解压缩&#xff0c;进入config目录更改配置文件 3、 修改配置完成后&#xff0c;前往bin目录启动el 4、访问&#xff1a;localhost:92…

【Stm32-F407】全速DAP仿真器下载程序

文章内容如下: 1) 全速DAP仿真器简介2) 全速DAP仿真器下载程序流程 1) 全速DAP仿真器简介 1&#xff09;全速DAP仿真器简介 DAP全称 Data Acquisition Processor&#xff0c;是一种用于数据采集和实时控制的设备。本文使用的全速DAP仿真器遵循ARM公司的CMSIS-DAP标准&#xff…

Docker容器与JVM比较

Java 的一大卖点是 Java 虚拟机带来的可移植性。 但是&#xff0c;由于在 [Docker] 容器中捆绑后端服务已成为常见做法&#xff0c;那么与本机编译语言相比&#xff0c;Java 有哪些优势呢&#xff1f; Docker 容器 Docker 容器是一种轻量级的虚拟化技术&#xff0c;它将应用程…