matlab建模入门指导
本文以水池中鸡蛋温度随时间的变化为切入点,对其进行数学建模并进行MATLAB求解,以更为通俗地进行数学建模问题入门指导。
一、问题简述
一个煮熟的鸡蛋有98摄氏度,将它放在18摄氏度的水池中,五分钟后鸡蛋的温度为38摄氏度,假定没有感到水变热,问鸡蛋的温度是怎样随着时间进行变化的,达到20摄氏度又需多长时间?
二、牛顿冷却定律
牛顿冷却定律(Newton's Law of Cooling)是热传递领域的一个基本定律,用于描述物体温度随时间变化的规律。该定律指出,物体温度变化的速率与其自身温度和周围环境温度之间的差值成正比。这个定律在工程、物理和日常生活中都有广泛的应用,例如在烹饪、制冷、医学和环境科学等领域。
牛顿冷却定律可以用以下数学公式表示:
其中T 是物体在时间 t 时的温度;Ta 是周围环境的温度;k 是一个正的比例常数,称为冷却系数;dtdT 是物体温度随时间变化的速率。
-
温度差T−Ta 表示物体与环境之间的温度差。当物体的温度高于环境温度时,T−Ta 为正,物体失去热量;当物体的温度低于环境温度时,T−Ta 为负,物体吸收热量。
-
冷却系数:k 是一个正的比例常数,它取决于物体的材料、形状、大小以及周围环境的条件。k 越大,物体的温度变化速率越快。
-
微分方程:这个方程是一个一阶线性微分方程,可以通过分离变量法或使用积分因子来求解。
对于上述微分方程,我们可以求解得到物体温度随时间变化的函数:
其中T0 是物体在t=0 时的初始温度。这个解表明,随着时间的推移,物体的温度会逐渐接近环境温度 a。当 t 趋向于无穷大时,e−kt 趋向于 0,因此T(t) 趋向于Ta。
下面是一个使用MATLAB实现牛顿冷却定律的简单示例。这个示例将模拟一个物体从初始温度 T0 开始冷却到环境温度 Ta 的过程,并绘制温度随时间变化的曲线。
% 牛顿冷却定律的MATLAB实现% 参数设置
T0 = 100; % 初始温度,单位:摄氏度
Ta = 20; % 环境温度,单位:摄氏度
k = 0.05; % 冷却系数
t_final = 100; % 最终时间,单位:分钟
dt = 0.1; % 时间步长,单位:分钟% 时间向量
t = 0:dt:t_final;% 初始化温度向量
T = zeros(size(t));
T(1) = T0;% 使用欧拉方法求解微分方程
for i = 1:length(t)-1dT = -k * (T(i) - Ta);T(i+1) = T(i) + dT * dt;
end% 绘制温度随时间变化的曲线
figure;
plot(t, T, 'LineWidth', 2);
xlabel('时间 (分钟)');
ylabel('温度 (摄氏度)');
title('牛顿冷却定律模拟');
grid on;
运行这段代码后,你将看到一个温度随时间变化的曲线图,展示了物体从初始温度冷却到接近环境温度的过程。
三、数据分析
牛顿冷却定律描述了物体温度随时间变化的过程,描述了物体与环境之间的温差与温度变化的速率之间的物理关系,根据逆向思维亦知该定律也适用于加热过程,其公式如下:
其中T 为物体的温度,Tenv 为环境温度,k 为冷却常数,表示冷却速率,t 为时间。
该方程表明,物体的温度变化速率与物体温度和环境温度之间的差异成正比。对该方程进行积分,可以得到物体温度随时间的变化关系:
其中,T0 为物体的初始温度,T(t) 为时间 t 时物体的温度,k 为冷却常数。
根据题意,鸡蛋初始温度为98°C,环境温度为18°C,经过5分钟后,鸡蛋的温度降至38°C。假设水池的温度变化可以忽略不计,即水池的温度保持稳定不变,则有条件归纳如下:
带入求解可解k≈1.386/5=0.2772/min,联立T(t)=20摄氏度,可求解t≈3.689/0.277≈13.3min。
四、MATLAB求解
为了模拟鸡蛋在水池中冷却过程并根据牛顿冷却定律计算降温所需的时间,我们可以用 MATLAB 编写代码进行数值计算和绘图,其代码如下:
cleark=5/(log(20)-log(80));c=log(80)*(-k);t=[0:0.5:20]+eps;for i=1:length(t)T(i)=exp((t(i)-c)./k)+18;endfigure,plot(T,t,'d-');xlabel('time');ylabel('temperture');
运行之后可得到下图所示温度与时间的曲线图。
如图所示,在13min时鸡蛋温度为20.1764摄氏度,在13.5min时鸡蛋温度为19.8964摄氏度,更为直观的展示了鸡蛋的温度是如何随着时间进行变化的。
相关文章:

matlab建模入门指导
本文以水池中鸡蛋温度随时间的变化为切入点,对其进行数学建模并进行MATLAB求解,以更为通俗地进行数学建模问题入门指导。 一、问题简述 一个煮熟的鸡蛋有98摄氏度,将它放在18摄氏度的水池中,五分钟后鸡蛋的温度为38摄氏度&#x…...

微搭低代码入门03函数
目录 1 函数的定义与调用2 参数与返回值3 默认参数4 将功能拆分成小函数5 函数表达式6 箭头函数7 低代码中的函数总结 在用低代码开发软件的时候,除了我们上两节介绍的变量、条件语句外,还有一个重要的概念叫函数。函数是执行特定功能的代码片段…...

零基础Java第十六期:抽象类接口(二)
目录 一、接口(补) 1.1. 数组对象排序 1.2. 克隆接口 1.3. 浅拷贝和深拷贝 1.4. 抽象类和接口的区别 一、接口(补) 1.1. 数组对象排序 我们在讲一维数组的时候,使用到冒泡排序来对数组里的元素进行从小到大或从大…...

【css】html里面的图片宽度设为百分比,高度要与宽度一样
场景:展示图片列表的时候,原始图片宽高不一致。 外层div的宽度自适应,图片宽度不能固定数值,只能设置百分比。图片高度也不能设置固定数值。 如何让图片的高度与图片的宽度一样呢? html代码 : <div cl…...

前端三大组件之CSS,三大选择器,游戏网页仿写
回顾 full stack全栈 Web前端三大组件 结构(html) 样式(css) 动作/交互(js) --- 》 框架vue,安哥拉 div 常用的标签 扩展标签 列表 ul/ol order——有序号 unordered——没序号的黑点 <!DOCTYPE html> <html><head><meta charset"…...
sqlsever 分布式存储查询
当数据存储在不同的服务器上的时候怎么取出来进行正常管连呢?比如你有 A 和B 两个服务器 里面存有两个表 分别是 A_TABLE、B_TABLE 其中 他们的关联关系是 ID 互相关联 1.创建链接服务器如果在B数据库要访问A数据库 那么 就在B数据库创建 -- 创建链接服务器 EXEC sp_addlink…...

deeponet(nature原文部分重点提取)
论文链接:Learning nonlinear operators via DeepONet based on the universal approximation theorem of operators | Nature Machine Intelligence 原文部分重点提取 DeepONets 会产生小的泛化误差 隐式类型算子还可以描述我们对其形式没有任何数学知识的系统 De…...

LeetCode【0036】有效的数独
本文目录 1 中文题目2 求解方法:python内置函数set2.1 方法思路2.2 Python代码2.3 复杂度分析 3 题目总结 1 中文题目 请根据以下规则判断一个 9 x 9 的数独是否有效。 数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线…...

Typecho登陆与评论添加Geetest极验证,支持PJAX主题(如Handsome)
Typecho登陆与评论添加Geetest极验证,支持PJAX主题(如Handsome) 起因 最近垃圾评论比较多,为了防止一些机器人,我给博客添加了一些评论过滤机制,并为评论添加了验证码。 原本使用的插件是noisky/typecho…...

前端入门一之ES6--面向对象、够着函数和原型、继承、ES5新增方法、函数进阶、严格模式、高阶函数、闭包
前言 JS是前端三件套之一,也是核心,本人将会更新JS基础、JS对象、DOM、BOM、ES6等知识点,这篇是ES6;这篇文章是本人大一学习前端的笔记;欢迎点赞 收藏 关注,本人将会持续更新。 文章目录 JS高级 ES61、面向对象1.1…...

脑机接口、嵌入式 AI 、工业级 MR、空间视频和下一代 XR 浏览器丨RTE2024 空间计算和新硬件专场回顾
这一轮硬件创新由 AI 引爆,或许最大受益者仍是 AI,因为只有硬件才能为 AI 直接获取最真实世界的数据。 在人工智能与硬件融合的新时代,实时互动技术正迎来前所未有的创新浪潮。从嵌入式系统到混合现实,从空间视频到脑机接口&…...
RoseTTAFold MSA_emb类解读
MSA_emb 类的作用是对多序列对齐(MSA)数据进行嵌入编码,同时添加位置编码和查询编码(调用PositionalEncoding 和 QueryEncoding)以便为序列特征建模类。 源代码: class MSA_emb(nn.Module):def __init__(self, d_model=64, d_msa=21, p_drop=0.1, max_len=5000):super(…...
2411C++,C++26反射示例
参考 namespace __impl {template<auto... vals>struct replicator_type {template<typename F>constexpr void operator>>(F body) const {(body.template operator()<vals>(), ...);}};template<auto... vals>replicator_type<vals...>…...

Ubuntu上搭建Flink Standalone集群
Ubuntu上搭建Flink Standalone集群 本文部分内容转自如下链接。 环境说明 ubuntu 22.06 先执行apt-get update更新环境 第1步 安装JDK 通过apt自动拉取 openjdk8 apt-get install openjdk-8-jdk执行java -version,如果能显示Java版本号,表示安装并…...
C语言 精选真题2
题目要求:将形参s所指向的字符串转换为整数并且返回 知识点: 将字符1转化为整数1 int fun(char *s) {int flag1,n0; if(*s-) //先根据第一个符号来判断是正负;然后读取第二位{flag-1;s; }else if(*s){s;}while(*s>0&&…...
Netty篇(WebSocket)
目录 一、简介 二、特点 三、websock应用场景 四、websocket案例 1. 服务端 2. 处理器 3. 页面端处理 五、参考文献 一、简介 没有其他技术能够像WebSocket一样提供真正的双向通信,许多web开发者仍然是依赖于ajax的长轮询来 实现。(注ÿ…...

云原生-docker安装与基础操作
一、云原生 Docker 介绍 Docker 在云原生中的优势 二、docker的安装 三、docker的基础命令 1. docker pull(拉取镜像) 2. docker images(查看本地镜像) 3. docker run(创建并启动容器) 4. docker ps…...

MySQL数据库:SQL语言入门 【上】(学习笔记)
SQL(Structured Query Language)是结构化查询语言的简称,它是一种数据库查询和程序设计语言,同时也是目前使用最广泛的关系型数据库操作语言。(95%适用于所有关系型数据库) 【 SQL是关系型数据库通用的操作…...

重学 Android 自定义 View 系列(六):环形进度条
目标 自定义一个环形进度条,可以自定义其最大值、当前进度、背景色、进度色,宽度等信息。 最终效果如下(GIF展示纯色有点问题): 1. 结构分析 背景圆环:表示进度条的背景。进度圆环:表示当前…...

nodejs 020: React语法规则 props和state
props和state 在 React 中,props 和 state 是管理数据流的两种核心机制。理解它们之间的区别和用途是构建 React 应用程序的基础。 一、props 和 state的区别 特性propsstate定义方式由父组件传递给子组件的数据组件内部管理的本地数据是否可修改不可变ÿ…...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件
今天呢,博主的学习进度也是步入了Java Mybatis 框架,目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学,希望能对大家有所帮助,也特别欢迎大家指点不足之处,小生很乐意接受正确的建议&…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序
一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...

3-11单元格区域边界定位(End属性)学习笔记
返回一个Range 对象,只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意:它移动的位置必须是相连的有内容的单元格…...

JVM 内存结构 详解
内存结构 运行时数据区: Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器: 线程私有,程序控制流的指示器,分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 每个线程都有一个程序计数…...
【无标题】路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论
路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论 一、传统路径模型的根本缺陷 在经典正方形路径问题中(图1): mermaid graph LR A((A)) --- B((B)) B --- C((C)) C --- D((D)) D --- A A -.- C[无直接路径] B -…...

Chromium 136 编译指南 Windows篇:depot_tools 配置与源码获取(二)
引言 工欲善其事,必先利其器。在完成了 Visual Studio 2022 和 Windows SDK 的安装后,我们即将接触到 Chromium 开发生态中最核心的工具——depot_tools。这个由 Google 精心打造的工具集,就像是连接开发者与 Chromium 庞大代码库的智能桥梁…...
在树莓派上添加音频输入设备的几种方法
在树莓派上添加音频输入设备可以通过以下步骤完成,具体方法取决于设备类型(如USB麦克风、3.5mm接口麦克风或HDMI音频输入)。以下是详细指南: 1. 连接音频输入设备 USB麦克风/声卡:直接插入树莓派的USB接口。3.5mm麦克…...

Sklearn 机器学习 缺失值处理 获取填充失值的统计值
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 使用 Scikit-learn 处理缺失值并提取填充统计信息的完整指南 在机器学习项目中,数据清…...

Axure 下拉框联动
实现选省、选完省之后选对应省份下的市区...

Neko虚拟浏览器远程协作方案:Docker+内网穿透技术部署实践
前言:本文将向开发者介绍一款创新性协作工具——Neko虚拟浏览器。在数字化协作场景中,跨地域的团队常需面对实时共享屏幕、协同编辑文档等需求。通过本指南,你将掌握在Ubuntu系统中使用容器化技术部署该工具的具体方案,并结合内网…...