当前位置: 首页 > news >正文

【数学建模】常微分,偏微分方程

1.常微分方程

普通边界  

已知t0时刻的初值    ode45()  龙格-库塔法 一阶,高阶都一样 如下:

s(1) = y , s(2)=y' 

s(3) = x , s(4)=x'  

//匿名函数   下为方程组   核心函数
s_chuzhi = [0;0;0;0];  //初值 分别两个位移和速度的初值
t0 = 0:0.2:180;  
f = @(t,s)[s(2);(f*cos(w*t) - K1*s(2) - s(1)*rou*g*Aw - K2*(s(1) - s(3)) - K3*(s(2)-s(4)) ) / (m+namd);s(4);( K2*(s(1)-s(3)) + K3*(s(2)-s(4)) ) / m1];
[t,s] = ode45(f,t0,s_chuzhi);

分段边界 非匿名函数

% 主函数
s_chuzhi = [0;0;0];  %  位移,速度,加速度的初值
t0 = 0:0.2:180;  
[t,s] = ode45(@f1,t0,s_chuzhi);% f1函数
% s(1) = s , s(2) =s' , s(3) = s''
function ds = (t,s)ds = zeros(3,1);  %有更高阶的可以初始化为 4,1 5,1 等等%分段  可以是以函数值或自变量时间分段if ...s(1) = ...    %ss(2) = ...    %s's(3) = ...    %s''  下同else if ...s(1) = ...s(2) = ...s(3) = ...else ...s(1) = ...s(2) = ...s(3) = ...end

 

 手写改进的ode45()函数代码

function varargout=odes_rk4(odefun,xspan,y0,n) 
% 经典四阶 Runge-Kutta 法求解微分方程组
if nargin<4n=10; % 默认区间等分数为 10
end
w=length(y0); % 方程的维数
x=linspace(xspan(1),xspan(2),n+1); % 离散节点值
y=[y0(:),zeros(w,n)].'; % 存储微分方程的解向量
K=zeros(4,w); % 存储节点处的导数值
for k=1:n l=x(k+1)-x(k); % 步长K(1,:)=feval(odefun,x(k),y(k,:)); % 求 K1 的值K(2,:)=feval(odefun,x(k)+l/2,y(k,:)+l/2*K(1,:)); % 求 K2 的值K(3,:)=feval(odefun,x(k)+l/2,y(k,:)+l/2*K(2,:)); % 求 K3 的值K(4,:)=feval(odefun,x(k)+l,y(k,:)+l*K(3,:)); % 求 K4 的值y(k+1,:)=y(k,:)+l/6*[1,2,2,1]*K; % 经典四阶 Runge-Kutta 公式
end
[varargout{1:2}]=deal(x(:),... % 第一个输出参数为离散节点值y); % 第二个输出参数为微分方程的解

复杂边界值(即已知初始值,也知道末尾值),用bvp4c()函数

2.偏微分方程

1. pdepe()函数 椭圆-抛物线型

控制方程  左边界 右边界 初始值

标准格式

 初始值格式

 边界值标准格式   左边界 右边界 两个方程

m = 0;  % m 结合标准方程求出
x = [0 0.005 0.01 0.05 0.1 0.2 0.5 0.7 0.9 0.95 0.99 0.995 1];
t = [0 0.005 0.01 0.05 0.1 0.5 1 1.5 2];sol = pdepe(m,@pdex4pde,@pdex4ic,@pdex4bc,x,t);  %有三个函数
u1 = sol(:,:,1);
u2 = sol(:,:,2);figure
surf(x,t,u1)
title('u1(x,t)')
xlabel('Distance x')
ylabel('Time t')figure
surf(x,t,u2)
title('u2(x,t)')
xlabel('Distance x')
ylabel('Time t')
% --------------------------------------------------------------
function [c,f,s] = pdex4pde(x,t,u,DuDx)  %函数一  结合标准方程格式(1)求程求 c,f,s
c = [1; 1]; 
f = [0.024; 0.17] .* DuDx; 
y = u(1) - u(2);
F = exp(5.73*y)-exp(-11.47*y);
s = [-F; F]; 
% --------------------------------------------------------------
function u0 = pdex4ic(x);    %函数二  方程初始值 即t=0时刻的值
u0 = [1; 0]; 
% --------------------------------------------------------------
function [pl,ql,pr,qr] = pdex4bc(xl,ul,xr,ur,t)  %结合左边界标准格式(3)求p,q  
pl = [0; ul(2)];                                 %结合右边界标准格式(3)求p,q 
ql = [1; 0]; 
pr = [ur(1)-1; 0]; 
qr = [0; 1]; 

2.一维热传导方程解法

clc,clear;
a=1;   %热传导方程中的 
dx=0.02;   %尽量大
x=0:dx:1;
dt=0.0001; %尽量小
t=0:dt:1;%构造温度分布矩阵
u=zeros(length(x),length(t));u(:,1)=sin(pi*x); %初始条件  可以改
m1=10+0.5*sin(t); %左边界条件 可以改     m1就是那个μ1 ,本子上记的
m2=10-0.5*sin(10*t); %右边界条件 可以改  m2就是那个μ2%系数矩阵
A=-2*eye(length(x))+diag(ones(1,length(x)-1),1)+diag(ones(1,length(x)-1),-1);for n=1:length(t)-1u(:,n+1)=u(:,n)+(a^2*dt/dx^2)*A*u(:,n) ; %A是系数矩阵  a是热传导方程公式中的%第一类边界条件的话u(1,n+1)=m1(n+1);                       %单独计算每一行的左边界值u(end,n+1)=m2(n+1);                     %单独计算每一行的右边界值%第二类边界条件的话%u(1,n+1)=u(2,n+1)-m1(n+1)*dx;%u(end,n+1)=u(end-1,n+1)+m2(n+1)*dx;%第三类边界条件的话endplot(x,u(:,end)); %画出最后一行figure
[T,X]=meshgrid(t,x);
surf(X,T,u);
shading interp%%  加热源 f
clc,clear;
a=1;   %热传导方程中的 
dx=0.02;   %尽量大
x=0:dx:1;
dt=0.00001; %尽量小
t=0:dt:1;%构造温度分布矩阵
u=zeros(length(x),length(t));u(:,1)=0; %t=0初始条件  可以改
f=20*exp(-20*(x-1/2).^2);        %热源
m1=0+0.0*sin(t); %左边界条件 可以改
m2=0-0.0*sin(10*t); %右边界条件 可以改%系数矩阵
A=-2*eye(length(x))+diag(ones(1,length(x)-1),1)+diag(ones(1,length(x)-1),-1);
c=1; 
for n=1:length(t)-1u(:,n+1)=u(:,n)+(a^2/dx^2*A*u(:,n)+f')*dt ; %A是系数矩阵  a是热传导方程公式中的%第一类边界条件的话%u(1,n+1)=m1(n+1);                       %单独计算每一行的左边界值%u(end,n+1)=m2(n+1);                     %单独计算每一行的右边界值%第二类边界条件的话%u(1,n+1)=u(2,n+1)-m1(n+1)*dx;%u(end,n+1)=u(end-1,n+1)+m2(n+1)*dx;%第三类边界条件的话u(1,n+1)=(dx*m1(n+1)-c*u(2,n+1)) / (dx-c);  % c为公式中的系数 具体看笔记u(end,n+1)=(dx*m2(n+1)+c*u(end-1,n+1)) / (dx+c);
endplot(x,u(:,end)); %画出最后一行
%axis([x(1) x(end) 0 1]);
figure
[T,X]=meshgrid(t,x);
surf(X,T,u);
shading interp

3.一维波动方程  b站吴一东

3.最小二乘法

实际的一组数据和拟合出来的一组数据进行逐个:

(1)作差 

(2)平方

(3)再求和

(4)再迭代使得和越来越小(迭代用随机优化算法或变步长算法遍历都行)

(5)画图  拟合图 还有的看论文

需要画神魔图?????

4.二分搜索法 适合单变量,单目标最优化算法

主要适合于单变量,单调函数

% 单变量优化 clc,clearxmin = 1;xmax = 5;x = xmin:0.0001:xmax;yy = ones(1,length(x)).*4;plot(x,exp(x),x,yy,' r:');i = 1;hold onwhile (abs(xmax-xmin)>1e-5)xmid(i) = (xmax+xmin)/2;  %取中点  自变量ymid(i) = exp(xmid(i)); %将中点带入函数计算结果  因变量 前提函数得是单调函数if ymid(i)>4   % 4为函数目标值 这是已知了函数目标值xmax = xmid(i);elsexmin = xmid(i);endplot(xmid(i),ymid(i),'ro'); %要画中点收敛图hold oni=i+1;endfigureplot(xmid,'k');xlabel('迭代次数');ylabel('中点位置变化');figureplot(ymid,'k');xlabel('迭代次数');ylabel('中点位置处的函数值变化');

5.遗传算法 

6.绘图

  1.多条线在同一张图上,不同颜色,不同线段

figure
plot(t(1,:),T(11,:),'-');
hold on
plot(t(1,:),T(21,:),'--');
plot(t(1,:),T(31,:),':');
plot(t(1,:),T(41,:)'-.');
plot(t(1,:),T(51,:));
plot(t(1,:),T(61,:));
plot(t(1,:),T(71,:));
plot(t(1,:),T(81,:));
hold off
legend({'x=0.3','x=0.6','x=3.6','x=6.6','x=8.4','x=10.2','x=12.7','x=15.2'},'Location','southeast','NumColumns',2);

 

 

   2.三维图函数

mesh(),plot3(),  scatter(),  scatter3()

figure
[t,x] = meshgrid(t,x);
surf(t,x,T)
shading interp

 3.数据导入函数xlsread()

data = xlsread('实验数据.xlsx',2); %提取表格二数据
t = data(:,1); %表格二第一列数据
T_test = data(:,2);  %表格二第二列数据

7.随机优化算法(2018问题一)+ 最小二乘法或其他 --- > 数据拟合

8.梯度法-最优化算法

得画U型图   算法具有局限性 

算法:

  

9.多起点全局搜索算法(MultiStart 算法


10.定积分与不定积分

1.不定积分:

在int命令中加入积分限,就可以求得函数的定积分值。

syms x
>> int(log(x)/(1-x)^2)ans =- log(x/(x - 1)) - log(x)/(x - 1)  %不定积分求出来为解析解


 2.定积分:

syms x
>> d = int(exp(-x)/(x+2),x,0,2)d =-exp(2)*(ei(-2) - ei(-4))>> double(d)
ans =0.333        %定积分求出来为数值解

11.求解常微分,偏微分方程的通解,特解 dsolve -> 链接

12.近五年国A题

2016 系泊系统的设计

2017 CT系统参数标定及成像

2018 高温作业专用服装设计

2019 高压油管的压力控制

2020 炉温曲线

2021  “FAST”主动反射面的形状调节

相关文章:

【数学建模】常微分,偏微分方程

1.常微分方程 普通边界 已知t0时刻的初值 ode45() 龙格-库塔法 一阶&#xff0c;高阶都一样 如下: s(1) y , s(2)y s(3) x , s(4)x //匿名函数 下为方程组 核心函数 s_chuzhi [0;0;0;0]; //初值 分别两个位移和速度的初值 t0 0:0.2:180; f (t,s)[s(2);(…...

浙大数据结构之09-排序1 排序

题目详情&#xff1a; 给定N个&#xff08;长整型范围内的&#xff09;整数&#xff0c;要求输出从小到大排序后的结果。 本题旨在测试各种不同的排序算法在各种数据情况下的表现。各组测试数据特点如下&#xff1a; 数据1&#xff1a;只有1个元素&#xff1b;数据2&#xf…...

Pydantic 学习随笔

这里是零散的记录一些学习过程中随机的理解&#xff0c;因此这里的记录不成体系。如果是想学习 Pydantic 建议看官方文档&#xff0c;写的很详细并且成体系。如果有问题需要交流&#xff0c;欢迎私信或者评论。 siwa 报 500 Pydantic 可以和 siwa 结合使用&#xff0c;这样既…...

11 mysql float/double/decimal 的数据存储

前言 这里主要是 由于之前的一个 datetime 存储的时间 导致的问题的衍生出来的探究 探究的主要内容为 int 类类型的存储, 浮点类类型的存储, char 类类型的存储, blob 类类型的存储, enum/json/set/bit 类类型的存储 本文主要 的相关内容是 float, decimal 类类型的相关数据…...

【高效数据结构——位图bitmap】

初识位图bitmap 位图&#xff08;Bitmap&#xff09;是一种用于表示和操作位&#xff08;bit&#xff09;的数据结构。它是由一系列二进制位&#xff08;0 或 1&#xff09;组成的序列&#xff0c;每个位都可以单独访问和操作。 位图常用于以下情况&#xff1a; 压缩存储&…...

ArrayList LinkedList

ArrayList 和 LinkedList 区别 ArrayList和LinkedList都是Java集合框架中的实现类&#xff0c;用于存储和操作数据。它们在底层实现和性能特点上有一些区别。 数据结构&#xff1a;ArrayList底层使用数组实现&#xff0c;而LinkedList底层使用双向链表实现。这导致它们在内存结…...

iOS砸壳系列之三:Frida介绍和使用

当涉及从App Store下载应用程序时&#xff0c;它们都是已安装的iOS应用&#xff08;IPA&#xff09;存储在设备上。这些应用程序通常带有保护的代码和资源&#xff0c;以限制用户对其进行修改或者逆向工程。 然而&#xff0c;有时候&#xff0c;为了进行调试、制作插件或者学习…...

Git学习——细节补充

Git学习——细节补充 1. git diff2. git log3. git reset4. git reflog5. 提交撤销5.1 当你改乱了工作区某个文件的内容&#xff0c;想直接丢弃工作区的修改时5.2 当提交到了stage区后&#xff0c;想要退回 6. git remote7. git pull origin master --no-rebase8. 分支管理9. g…...

【设计模式】Head First 设计模式——装饰者模式 C++实现

设计模式最大的作用就是在变化和稳定中间寻找隔离点&#xff0c;然后分离它们&#xff0c;从而管理变化。将变化像小兔子一样关到笼子里&#xff0c;让它在笼子里随便跳&#xff0c;而不至于跳出来把你整个房间给污染掉。 设计思想 动态地将责任附加到对象上&#xff0c;若要扩…...

layui实现数据列表的复选框回显

layui版本2.8以上 实现效果如图&#xff1a; <input type"hidden" name"id" id"id" value"{:g_val( id,0)}"> <div id"tableDiv"><table class"layui-hide" id"table_list" lay-filter…...

关于使用RT-Thread系统读取stm32的adc无法连续转换的问题解决

关于使用RT-Thread系统读取stm32的adc无法连续转换的问题解决 今天发现rt系统的adc有一个缺陷&#xff08;也可能是我移植的方法有问题&#xff0c;这就不得而知了&#xff01;&#xff09;&#xff0c;就是只能单次转换&#xff0c;事情是这样的&#xff1a; 我在stm32的RT-T…...

【启扬方案】启扬多尺寸安卓屏一体机,助力仓储物料管理系统智能化管理

随着企业供应链管理的不断发展&#xff0c;对仓储物料管理的要求日益提高。企业需要实时追踪和管理物料的流动&#xff0c;提高物流效率、降低库存成本和减少库存的风险。因此&#xff0c;仓储物料管理系统的实现成为必要的手段。 仓储物料管理系统一体机作为一种新型的物料管理…...

Android Glide使用姿势与原理分析

作者&#xff1a; 午后一小憩 简介 Android Glide是一款强大的图片加载库&#xff0c;提供了丰富的功能和灵活的使用方式。本文将深入分析Glide的工作原理&#xff0c;并介绍一些使用姿势&#xff0c;助你更好地运用这个优秀的库。 原理分析 Glide的原理复杂而高效。它首先基…...

管理类联考——逻辑——汇总篇——知识点突破——形式逻辑——联言选言——真假

角度——真值表 以上考点均是已知命题的真假情况做出的推理,还存在一种情况是已知肢判断P、Q的真假,断定干判断的真假,这种判断过程就是运用真值表。 P ∧ Q的真值 ①如何证明P ∧ Q为假? 由于P ∧ Q的本质是P、Q同时成立,所以只要P、Q有一个为假,整个命题就为假。 ②如…...

ChatGPT数据分析及作图插件推荐-Code Interpreter

今天打开chatGPT时发现一个重磅更新&#xff01;code interpreter插件可以使用了。 去查看openai官网&#xff0c;发现从2023.7.6号&#xff08;前天&#xff09;开始&#xff0c;code interpreter插件已经面向所有chatGPT plus用户开放了。 为什么说code interpreter插件是一…...

说说FLINK细粒度滑动窗口如何处理

分析&回答 Flink的窗口机制是其底层核心之一&#xff0c;也是高效流处理的关键。Flink窗口分配的基类是WindowAssigner抽象类&#xff0c;下面的类图示出了Flink能够提供的所有窗口类型。 Flink窗口分为滚动&#xff08;tumbling&#xff09;、滑动&#xff08;sliding&am…...

记一次反弹shell的操作【非常简单】

#什么是反弹shell 通常我们对一个开启了80端口的服务器进行访问时&#xff0c;就会建立起与服务器Web服务链接&#xff0c;从而获取到服务器相应的Web服务。而反弹shell是我们开启一个端口进行监听&#xff0c;转而让服务器主动反弹一个shell来连接我们的主机&#xff0c;我们再…...

如何排查 Flink Checkpoint 失败问题?

分析&回答 这是 Flink 相关工作中最常出现的问题&#xff0c;值得大家搞明白。 1. 先找到超时的subtask序号 图有点问题&#xff0c;因为都是成功没失败的&#xff0c;尴尬了。 借图&#xff1a; 2. 找到对应的机器和任务 方法很多&#xff0c;这里看自己习惯和公司提供…...

lazarus(pascal)和c语言读日志文件筛选保存为新文件

lazarus(pascal)和c语言读日志文件筛选保存为新文件&#xff0c;源于看日志每次从一个很多内容文件里查找不方便&#xff0c;写个代码输入时分秒参数&#xff0c;然后按行读取比较日志时间&#xff0c;当前秒和上一秒的输出保存为新文件&#xff0c;只保存2秒钟文件小多了&…...

学习JAVA打卡第四十九天

Random类 尽管可以使用math类调用static方法random&#xff08;&#xff09;返回一个0~1之间的随机数。&#xff08;包括0.0但不包括0.1&#xff09;&#xff0c;即随机数的取值范围是[0.0&#xff0c;1.0]的左闭右开区间。 例如&#xff0c;下列代码得到1&#xff5e;100之间…...

天勤 get_account 资金字段读懂:下单前可用与保证金检查

前言 策略信号对了却下不出去&#xff0c;我第一反应看 get_account()&#xff1a;是 available 不够&#xff0c;还是把 balance 当可用去和保证金比了。有次模拟盘「明明没下单」却报资金不足&#xff0c;查了半天是字段读错&#xff1b;还有一次夜盘加仓&#xff0c;白天算好…...

不跨界,现有的地盘就会被别人用跨界的方式蚕食掉

微软这么多员工养着&#xff0c;有时也不得不多个行业发展&#xff0c;就像是美团一样&#xff0c;不得不电商也做起来和京东抢生意。阿里也同时多个行业做着&#xff0c;影视&#xff0c;外卖&#xff0c;生鲜。否则纯电商做不下去就完了。就像是华为一样本来可以卖AI服务器&a…...

STM32G4项目实战:巧用MCP2518FD实现多路CAN FD通信,附完整工程源码解析

STM32G4项目实战&#xff1a;巧用MCP2518FD实现多路CAN FD通信&#xff0c;附完整工程源码解析 在工业控制和车载网络领域&#xff0c;CAN FD总线因其更高的传输速率和更大的数据负载能力正逐步取代传统CAN总线。STM32G4系列微控制器内置3路FDCAN接口&#xff0c;但面对需要5路…...

终极Pandoc文档转换指南:5分钟掌握40+格式互转神器

终极Pandoc文档转换指南&#xff1a;5分钟掌握40格式互转神器 【免费下载链接】pandoc Universal markup converter 项目地址: https://gitcode.com/gh_mirrors/pa/pandoc 还在为不同文档格式之间的转换而烦恼吗&#xff1f;学术论文需要LaTeX排版&#xff0c;技术文档要…...

如何高效下载QQ音乐资源:5个简单步骤掌握res-downloader嗅探技术

如何高效下载QQ音乐资源&#xff1a;5个简单步骤掌握res-downloader嗅探技术 【免费下载链接】res-downloader 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载! 项目地址: https://gitcode.com/GitHub_Trending/re/res-downloader …...

Keil µVision TAB显示异常问题分析与解决方案

1. 问题现象与背景分析在Keil Vision集成开发环境中&#xff0c;部分用户遇到了编辑器界面显示异常的问题。具体表现为&#xff1a;当代码中包含TAB字符&#xff08;制表符&#xff09;时&#xff0c;屏幕上会出现奇怪的显示错乱&#xff0c;原本应该显示为空白缩进的区域&…...

AI时代管理者必备的10项核心能力地图

1. 项目概述&#xff1a;这不是一份“领导力清单”&#xff0c;而是一张AI时代管理者的生存地图“10 Essential Skills for AI Leaders”——看到这个标题&#xff0c;很多人第一反应是点开、收藏、转发到“管理者必读”群&#xff0c;然后继续用Excel做季度复盘、用PPT讲战略愿…...

community:CANN开源社区治理指南

前言 想象一下&#xff0c;你开发了一个很棒的算子&#xff0c;想贡献给CANN社区&#xff0c;但不知道从哪入手——怎么提Issue&#xff1f;怎么提PR&#xff1f;代码规范是什么&#xff1f;会不会被拒绝&#xff1f; 我刚接触CANN开源社区那会&#xff0c;就是这样的——写了个…...

别再瞎找了!AI论文写作软件2026最新测评与推荐

2026年真正好用的AI论文写作软件&#xff0c;核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测&#xff0c;千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队&#xff0c;覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 …...

用高效证书管理加固企业数字边界

在当今企业 IT 基础架构的运行中&#xff0c;数字证书已经成为不可或缺的重要组成部分。这在很大程度上源于企业逐渐将 HTTPS 作为默认的数据传输方式&#xff0c;以实现更加安全的通信环境。从安全与隐私角度来看&#xff0c;这无疑是一项积极的改变&#xff0c;因为数据在传输…...