matlab解微分方程:方向场

news2024/11/26 3:53:59

在微分方程中,常见的形式是:

x ′ = f ( x , t ) x'=f(x,t) x=f(x,t)
方向场的每一个矢量可以形象地刻画一阶微分方程的解。在方向场中的每个点处,都会出现一条其斜率等于通过该点的微分方程解的矢量。给定一个初值,微分方程对应一条curve曲线,点上的方向矢量和相切。

例子:解析解

d x d t = x − t 2 \frac{d x}{d t}=x-t^{2} dtdx=xt2

我们可以求得解析解:

x ( t ) = C e t + t 2 + 2 t + 2 x(t)=C e^{t}+t^{2}+2 t+2 x(t)=Cet+t2+2t+2

编写matlab代码:

clc 
clear
% 创建一个区域
[t,x] = meshgrid(-2:0.2:3,-1:0.2:2);
% 计算方向向量的斜率
slope = x - t.*t;
% find the length of the vector (1,slope)
length = sqrt(1 + slope .* slope);
% 绘制方向矢量
quiver(t,x,1./length,slope./length,0.5,'Color',	'#0072BD')
axis equal equal
hold on
% 给定不同的初值求解析解
tt = [-2:0.2:3];
for cval = -10:1:10
x_exact = cval * exp(tt) + tt.*tt + 2*tt + 2;
plot(tt,x_exact,'Color','#D95319')
end
xlim([-2,3]);
ylim([-1,2]);
xlabel('t','Fontsize',20)
ylabel('x','Fontsize',20)

在这里插入图片描述

例子:数值解

还是上面的这个方程,如果我们解不出解析解,那么我们就用数值解来算一下。

d x d t = f ( x , t ) = x − t 2 \frac{d x}{d t}=f(x,t)=x-t^{2} dtdx=f(x,t)=xt2

使用前向欧拉法的迭代方法:
x k + 1 = x k + h f ( x k , t k ) x_{k+1}=x_{k}+hf(x_k,t_k) xk+1=xk+hf(xk,tk)

clc 
clear
% 创建一个区域
[t,x] = meshgrid(-2:0.2:3,-1:0.2:2);
% 计算方向向量的斜率
slope = x - t.*t;
% find the length of the vector (1,slope)
length = sqrt(1 + slope .* slope);
% 绘制方向矢量
quiver(t,x,1./length,slope./length,0.5,'Color',	'#0072BD')
axis equal equal
hold on
% 给定不同的初值求数值解
tt = [-2:0.2:3];
t_step = 0.2;
k=1;
for x0 = linspace(0.5,2,15)
    x_numer(1) = x0;
    for t_numer = tt(1:end-1)
        k = k + 1;
        slope_numer = x_numer(k-1) - t_numer.*t_numer;
        x_numer(k) = x_numer(k-1) + slope_numer * t_step;
    end
    plot(tt,x_numer,'Color','#D95319');
    k=1;
end
xlim([-2,3]);
ylim([-1,2]);
xlabel('t','Fontsize',20)
ylabel('x','Fontsize',20)

在这里插入图片描述

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

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

相关文章

MyBatis源码解析手写持久层框架

1. 手写持久层框架 1.1 JDBC操作数据库_问题分析 JDBC API 允许应用程序访问任何形式的表格数据,特别是存储在关系数据库中的数据 代码示例: public static void main(String[] args) { Connection connection null;PreparedStatement preparedState…

axios请求

参考:https://www.axios-http.cn/docs/instance

Visual Studio 2022 如何关闭左侧绿色条的点击事件,避免误触?

如图,文本编辑器左侧的绿条,很容易误触,真是神烦!点一下就会弹出这个差异框。 我也不知道这个绿色的条叫什么,烦了好久都没有找到怎么关闭它! 是叫 git 状态条?git 差异条?git 更改…

三平面映射的技术

大家好,我是阿赵。   之前在做护盾的时候,使用过一种叫做三平面映射的技术,这里来详细的说一下。 一、效果说明 在做场景的时候,很多美工都会遇到一个问题,想把一个通用的材质贴图赋予给一个经过拉伸的模型&#xf…

无涯教程-Perl - my函数

描述 此函数声明LIST中的变量在包围式块内按词法范围。如果指定了多个变量,则所有变量都必须用括号括起来。 语法 以下是此函数的简单语法- my LIST返回值 此函数不返回任何值。 例 以下是显示其基本用法的示例代码- #!/usr/bin/perl -wmy $string "We are the w…

【算法学习】高级班九

这种互为旋变串&#xff1a; 给定两个字符串&#xff0c;判断是否互为旋变串 代码&#xff1a; 打表法&#xff1a; 每一层内的数字不互相依赖&#xff0c;只依赖它下面的层但实际上size会约束L1和L2的值&#xff0c;即L1和L2<N-size 思路&#xff1a;设置一个窗口…

phpstorm配置ftp同步文件到服务器

这里的默认快捷键 不是 CtrlS &#xff1b;需要设置快捷键&#xff0c;这里原来是save all操作时上传文件到服务器&#xff1b; ** 设置好快捷键后按 CtrlS就会同步文件&#xff08;添加删除文件后保存&#xff0c;服务器也会同步&#xff09; ** 搜索出save all 后&#xf…

多线程与高并发--------阻塞队列

四、阻塞队列 一、基础概念 1.1 生产者消费者概念 生产者消费者是设计模式的一种。让生产者和消费者基于一个容器来解决强耦合问题。 生产者 消费者彼此之间不会直接通讯的&#xff0c;而是通过一个容器&#xff08;队列&#xff09;进行通讯。 所以生产者生产完数据后扔到…

【Realtek sdk-3.4.14b】RTL8197F+RTL8812F欧洲屏蔽5G天气雷达信道DFS信道120、124、128方法

需求描述 对于欧洲国家来说,默认支持DFS信道,但是有三个信道比较特殊,是天气雷达信道,如下图所示120、124、128,天气雷达信道有个特点就是在信号可以发射之前需要检测静默15min,如果信道自动选择到了天气雷达信道,就会有15min的时间无法连接到WiFi热点,严重影响用户体验…

(MySQL经验)之MySQL单表行数最好低于2000w

作为在后端开发&#xff0c;是不是经常听到过&#xff0c;mysql 单表最好不要超过 2000w,单表超过 2000w 就要考虑数据迁移了&#xff0c;表数据都要到 2000w &#xff0c;查询速度变得贼慢。 1、建表操作 建一张表 CREATE TABLE person( id int NOT NULL AUTO_INCREMENT PRI…

DNSPod十问王强:小厂做大模型,套壳赚快钱?

本期嘉宾 王强 ZelinAI、考考创始人 王强&#xff0c;ZelinAI、考考创始人兼CEO。ZelinAI成立于2023年&#xff0c;零代码构建AI应用&#xff0c;大模型落地最后一公里&#xff0c;累计获得1万开发者、4万智能体、4000AI应用&#xff0c;服务建发集团、京港地铁、58同城等知名…

儿童学python语言能做什么,小孩学python到底好不好

大家好&#xff0c;小编来为大家解答以下问题&#xff0c;儿童学python语言能做什么&#xff0c;小孩学python课程需要多久&#xff0c;现在让我们一起来看看吧&#xff01; 对于刚开始学习编程的孩子来说&#xff0c;图形化的Scratch是很好的启蒙语言。它用类似于拼图的模式&a…

【jackson】自定义字段注解完成序列化逻辑

目录 背景本文开发环境介绍新建一个注解新建一个JavaBean新建一个JsonSerializer新建一个AnnotationIntrospector单元测试总结 背景 Spring默认的JSON序列化工具使用的是jackson&#xff0c;GitHub项目地址: https://github.com/FasterXML/jackson 我们在处理前后端接口交互的…

Redis系列(一):深入了解Redis数据类型和底层数据结构

Redis有以下几种常用的数据类型&#xff1a; redis数据是如何组织的 为了实现从键到值的快速访问&#xff0c;Redis 使用了一个哈希表来保存所有键值对。 Redis全局哈希表&#xff08;Global Hash Table&#xff09;是指在Redis数据库内部用于存储所有键值对的主要数据结构。…

单参数构造函数的隐式类型转化

单参数构造函数的隐式类型转化 如果你不想发生隐式类型的转化&#xff0c;可以在默认构造函数前加上关键字&#xff1a;explicit 多参数的玩法和单参数的是不一样的 c98 不支持多参数隐式类型的转化 c11 支持多参数隐式类型的转化 举个例子&#xff1a; 多参数可以这样写&…

PhotoShop学习笔记

PhotoShop学习笔记 对图像进行缩放拉伸自动选中像素相近的同一个区域分离图层的选中区域分离图层的非选中区域处理不自然的缝合痕迹 记录一些PhotoShop中用到的操作&#xff0c;主要是在处理AI图像时遇到的需求。 对图像进行缩放拉伸 CTRLT 自动选中像素相近的同一个区域 魔…

24届近3年青岛理工大学自动化考研院校分析

今天给大家带来的是青岛理工大学控制考研分析 满满干货&#xff5e;还不快快点赞收藏 一、青岛理工大学 学校简介 青岛理工大学是一所以工为主&#xff0c;土木建筑、机械制造、环境能源学科特色鲜明&#xff0c;理工经管文法艺等学科协调发展的多科性大学。是国家首批地方…

金蝶云星空与巨益OMS对接集成采购退料查询打通退换货单创建

金蝶云星空与巨益OMS对接集成采购退料查询打通退换货单创建 来源系统:金蝶云星空 金蝶K/3Cloud在总结百万家客户管理最佳实践的基础上&#xff0c;提供了标准的管理模式&#xff1b;通过标准的业务架构&#xff1a;多会计准则、多币别、多地点、多组织、多税制应用框架等&#…

无涯教程-Perl - length函数

描述 此函数返回EXPR值的长度(以字符为单位),如果未指定,则返回$_。如果要确定相应的大小,请在数组或哈希上使用标量context。 语法 以下是此函数的简单语法- length EXPRlength返回值 此函数返回字符串的大小。 例 以下是显示其基本用法的示例代码- #!/usr/bin/perl$o…

多线程与高并发--------线程池

线程池 一、什么是线程池 在开发中&#xff0c;为了提升效率的操作&#xff0c;我们需要将一些业务采用多线程的方式去执行。 比如有一个比较大的任务&#xff0c;可以将任务分成几块&#xff0c;分别交给几个线程去执行&#xff0c;最终做一个汇总就可以了。 比如做业务操…