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

matlab计算相关物理参数

   function Rx1=Jetfire1_1(di,Ct,Tf,Tj,alpha,Ma,Mf,RH,P0,P,k,Cd,elta,deltaHc,tau,directory)
%  一共15个独立变量,为了方便输入修改,所有变量存入'Jetfire1_1'excel表,
%  dj为孔口直径,m;Ct为燃料空气混合摩尔系数,可以由浓度算出Ct=1*浓度/22.4;Tf为火焰温度,K;Tj为环境温度,K;alpha为燃料空气化学反应中每摩尔燃烧物所需反应物的摩尔数;
%  Ma为空气相对分子量,g/mol;Mf为燃料相对分子量,g/mol;RH为相对湿度,%;P0为环境压力,Pa;P为容器内介质压力,Pa;k为燃料绝热指数,k=cp/cv;
%  Cd为气体泄漏系数,与孔形状有关,圆形为1.0;Rg为理想气体常数,大小为8.314;elta为热辐射系数,泄压阀压力以上为0.3,以下为0.4;deltaHc为燃料的燃烧热,KJ/Kg;
%  tau为大气传输率,若给出tau请直接输入,若没有给出,请输入0,程序可以用已有参数计算得出。
%  -----------------------------------------------------------------------------------以上参数需要输入
%  r距离热源半径,m;L为火焰长度,m;Pw为大气中水蒸汽压,Pa;m为质量流速,Kg/s;qr为热辐射量,KW/m^2;Fp为视觉因子;r3为对应辐射量计算出的半径值,m;%%  计算模块
% -----------------
dj=0.02;
Ct=0.095;
Tf=2200;
Tj=298.15;
alpha=1;
Ma=29;
Mf=16;
RH=0;
P0=100000;
P=10000000;
k=1.32;
Cd=1;
elta=0.2;
deltaHc=50000;
tau=0.8;
directory='D:\image\';
% ________________________调试参数,解释即可
x=[1.6 4 12.5 25 37.5]';
x0=length(x);
Z1=ones(x0,1);syms r;
% r = sym('r');Ta=Tj;A=pi/4.*dj.^2*Z1;M=Mf*Z1./10^3;T=Tj;Rg=8.314*Z1;dj=dj*Z1;Ct=Ct*Z1;Tf=Tf*Z1;Tj=Tj*Z1;alpha=alpha*Z1;Ma=Ma*Z1;
Mf=Mf*Z1;RH=RH*Z1;P0=P0*Z1;P=P*Z1;k=k*Z1;Cd=Cd*Z1;elta=elta*Z1;deltaHc=deltaHc*Z1;tau=tau*Z1;%变量:dj/Ct/Tf/Tj/alpha/Ma/Mf;
L=dj.*5.3./Ct.*sqrt(Tf./Tj./alpha.*(Ct+(1-Ct).*Ma./Mf));%计算火焰长度 %变量:RH
if tau==0
Pw=1-1325.*RH.*exp(14.4114-5328./Ta);
tau=2.02.*(Pw.*r).^-0.09;%计算大气传输率
end%变量:P0/P/k/Cd
P1=P0./P;P2=(2./(k+1)).^(1./(k-1));%P1,P2为中间变量
Y=(P1).^(1./k).*sqrt(1-(P1).^((k-1)./k)).*sqrt(2./(k-1).*((k+1)./2).^((k+1)./(k-1)));
if (P1<=P2.^k)m=Cd.*A.*P.*sqrt(M.*k./Rg./T.*P2.^(k+1));
else m=Y.*Cd.*A.*P.*sqrt(M.*k./Rg./T.*P2.^(k+1));%计算质量流速
endFp=1./(4.*pi.*r.^2);%计算视觉因子%变量:elta./deltaHc
qr=tau.*elta.*m.*deltaHc.*Fp;%计算热辐射强度
qr1=tau.*elta.*m.*deltaHc.*Fp-x;
qr2=vpa(qr,5);for i=1:x0
Z2=vpa(solve(qr1(i),r),4);%求解对应的半径
% Z2 = vpa(solve(qr1(i), r(1)), 4);
%qr1(i): 这是一个QR分解的结果,其中qr1是一个函数或变量,i是传递给该函数或变量的参数。QR分解是一种将矩阵分解为正交矩阵Q和上三角矩阵R的方法。
%solve函数用于求解线性方程组。在这里,它将QR分解的结果作为第一个参数,而r(1)可能是另一个矩阵或向量,表示线性方程组的右侧部分。
%vpa函数用于设置数值精度。在这里,它将solve函数的结果保留到小数点后四位有效数字。
r2(i)=double(Z2(find(Z2>0)));
end
r3=double(vpa(r2',4));
Lx=L(1);%% 离散取值模块for i=1:length(r2)   
X1=linspace(-r2(i)-L(i)/2,-L(i)/2,100);
Y1=sqrt(r2(i).^2-(X1+L(i)/2).^2);
XX1(:,i)=[X1,X1];YY1(:,i)=[Y1,-Y1];X2=linspace(-L(i)/2,L(i)/2,100);
Y2=r2(i).*ones(1,length(X2));
XX2(:,i)=[X2,X2];YY2(:,i)=[Y2,-Y2];X3=linspace(L(i)/2,r2(i)+L(i)/2,100);
Y3=sqrt(r2(i).^2-(X3-L(i)/2).^2);
XX3(:,i)=[X3,X3];YY3(:,i)=[Y3,-Y3];
ZZ(:,i)=x(i).*ones(6*length(X1),1);
endp=6*length(x)*length(X1);
Yp=[XX1;XX2;XX3];Xp=[YY1;YY2;YY3];
x1=double(reshape(Xp,p,1));y1=double(reshape(Yp,p,1));z1=double(reshape(ZZ,p,1));%%  绘图模块
warning('off')%关闭警告信息。在MATLAB中,有时会出现一些警告信息,使用这个命令可以关闭这些警告,使输出更加简洁。
[Xq,Yq,Zq]=griddata(x1,y1,z1,linspace(min(x1),max(x1))',linspace(min(y1),max(y1)),'v4');%插值
% 这是调用MATLAB的griddata函数来进行插值操作。griddata函数接受散列数据点(x1, y1, z1)和网格点的坐标范围(通过linspace函数生成),并返回插值后的网格数据(Xq, Yq, Zq)。'v4'参数表示使用双三次插值方法。
figure('visible','off');%创建一个不可见的图形窗口。这通常用于在后台执行绘图操作,而不显示图形界面。
set(gcf,'color',[1 1 1]);%设置当前图形窗口的背景颜色为白色(RGB值为[1 1 1])。gcf表示获取当前图形窗口的句柄。
mycolor=[0.6784    0.9216    1.00000.5088    0.9412    1.00000.3392    0.9608    1.00000.1696    0.9804    1.00000    1.0000    1.00000    1.0000    0.93330    1.0000    0.86670    1.0000    0.80000    1.0000    0.73330    1.0000    0.66670    1.0000    0.60000    1.0000    0.53330    1.0000    0.46670    1.0000    0.40000    1.0000    0.33330    1.0000    0.26670    1.0000    0.20000    1.0000    0.13330    1.0000    0.06670    1.0000         00.0455    1.0000         00.0909    1.0000         00.1364    1.0000         00.1818    1.0000         00.2273    1.0000         00.2727    1.0000         00.3182    1.0000         00.3636    1.0000         00.4091    1.0000         00.4545    1.0000         00.5000    1.0000         00.5455    1.0000         00.5909    1.0000         00.6364    1.0000         00.6818    1.0000         00.7273    1.0000         00.7727    1.0000         00.8182    1.0000         00.8636    1.0000         00.9091    1.0000         00.9545    1.0000         01.0000    1.0000         01.0000    0.9545         01.0000    0.9091         01.0000    0.8636         01.0000    0.8182         01.0000    0.7727         01.0000    0.7273         01.0000    0.6818         01.0000    0.6364         01.0000    0.5909         01.0000    0.5455         01.0000    0.5000         01.0000    0.4545         01.0000    0.4091         01.0000    0.3636         01.0000    0.3182         01.0000    0.2727         01.0000    0.2273         01.0000    0.1818         01.0000    0.1364         01.0000    0.0909         01.0000    0.0455         01.0000         0         0];ax1 = subplot(2,5,[1:3 6:8]);
% 创建一个2x5的子图布局,并在指定位置绘制图形
% plot(x,y);绘制x和y的数据点
plot(x,Y);
contourf(Xq,Yq,Zq,x,'ShowText','on'),xlim([1.1*min(x1),1.1*max(x1)]);ylim([0 1.1*max(y1)]); colorbar%等高线图
grid on;% 显示网格线
xlabel('x/m'),ylabel('y/m');% 设置坐标轴标签
h1=title('垂直喷射火热通量等值线图','fontsize',10);% 设置标题
set(h1,'FontName','微软雅黑');% 设置字体
colormap(ax1,mycolor);% 设置颜色映射ax2 = subplot(2,5,[4:5]);
pcolor(Xq,Yq,Zq);ylim([0 max(y1)]);shading interp,colorbar%伪彩色图
ylabel(colorbar,'热通量/kW/m^2');
h2=title('垂直喷射火热通量插值图','fontsize',10);
set(h2,'FontName','微软雅黑');
colormap(ax2,mycolor);ax3=subplot(2,5,[9:10]);
surfc(Xq,Yq,Zq);ylim([0 max(y1)]);shading interp,colorbar%三维图
view(-20,10);ylabel(colorbar,'热通量/kW/m^2');
h3=title('          垂直喷射火热通量三维图','fontsize',10);
set(h3,'FontName','微软雅黑');
colormap(ax3,mycolor);file_name=mfilename;
time=datestr(now,'yyyymmddHHMMSSFFF');
ran=rand(1)*10^4;
name=strcat(strcat(file_name,time),num2str(ran));
name(find(name=='.'))=[];
mkdir(directory);
F=getframe(gcf); 
imwrite(F.cdata,[directory,name,'.png']);Rx1=char(num2str(roundn(r3',-2)),num2str(roundn(Lx,-2)),name);

该函数实现了以下功能:

计算相关物理参数

  1. 根据输入的孔口直径dj、燃料空气混合摩尔系数Ct、火焰温度Tf、环境温度Tj、燃料空气化学反应中每摩尔燃烧物所需反应物的摩尔数alpha、空气相对分子量Ma、燃料相对分子量Mf,计算火焰长度L
  2. 依据相对湿度RH(若未给定大气传输率tau时)计算大气中水蒸汽压Pw,进而计算大气传输率tau
  3. 根据环境压力P0、容器内介质压力P、燃料绝热指数k、气体泄漏系数Cd等参数计算质量流速m
  4. 基于计算出的质量流速m、热辐射系数elta、燃料的燃烧热deltaHc等计算热辐射强度qr,并通过求解热辐射强度与给定值(x)的方程得到对应半径值r2(进而得到r3)。

离散取值

对于每个计算出的半径值r2,在特定区间内生成一系列离散的坐标点(X1Y1X2Y2X3Y3等),并组合这些坐标点和对应热通量值(ZZ),然后将这些数据进行重塑,以便后续绘图使用。

绘图

  1. 绘制垂直喷射火热通量的等高线图,包括设置图形窗口不可见、背景颜色为白色,自定义颜色映射,添加坐标轴标签、标题(字体为微软雅黑),显示网格线、颜色条等。
  2. 绘制垂直喷射火热通量的伪彩色图,设置相关绘图参数,如ylim、颜色插值、颜色条标签等,并添加标题(字体为微软雅黑)和设置颜色映射。
  3. 绘制垂直喷射火热通量的三维图,设置视角、ylim、颜色插值、颜色条标签等,并添加标题(字体为微软雅黑)和设置颜色映射。

结果保存

以当前函数名、时间和随机数生成文件名,创建指定目录,获取当前图形窗口内容并保存为png图像文件,最后将处理后的半径值r3、火焰长度Lx和文件名组合成字符串返回。

总体而言,该函数实现了一个与垂直喷射火相关物理参数计算、数据可视化及结果保存的完整流程,适用于相关领域的模拟、分析和结果展示等任务。

相关文章:

matlab计算相关物理参数

function Rx1Jetfire1_1(di,Ct,Tf,Tj,alpha,Ma,Mf,RH,P0,P,k,Cd,elta,deltaHc,tau,directory) % 一共15个独立变量&#xff0c;为了方便输入修改&#xff0c;所有变量存入Jetfire1_1excel表&#xff0c; % dj为孔口直径,m&#xff1b;Ct为燃料空气混合摩尔系数&#xff0c;可…...

nmcli、ip、ifcfg配置网络区分方法

文章目录 一、检查NetworkManager状态使用nmcli命令&#xff1a;检查NetworkManager服务状态&#xff1a; 二、检查ip命令的使用三、检查ifcfg文件查看/etc/sysconfig/network-scripts/目录&#xff1a;查看/etc/network/interfaces文件&#xff08;针对Debian系&#xff09;&a…...

第四届智能电力与系统国际学术会议(ICIPS 2024)

文章目录 一、会议详情二、重要信息三、大会介绍四、出席嘉宾五、征稿主题六、咨询 一、会议详情 二、重要信息 大会官网&#xff1a;https://ais.cn/u/vEbMBz提交检索&#xff1a;EI Compendex、IEEE Xplore、Scopus 三、大会介绍 四、出席嘉宾 五、征稿主题 如想"投稿…...

区块链样题第4套解析 后端应用开发部分

任务3-2:区块链应用后端开发 使用JAVA-SDK与区块链进行交互,通过solc2Java工具将Solidity智能合约转译为可供Java调用的文件,实现区块链编程。 前言:题目只是单纯考了对于fisco-java-sdk的简单使用 教程参考: 1.这边建议还是学习完JavaWeb课程。 黑马程序员JavaWeb...

C语言实现408考研真题2016年43题

#include <iostream> // 定义分区函数&#xff0c;返回两个子数组之和的差值 int setPartition(int a[], int n) { int pivotkey, low 0, low0 0, high n - 1, high0 n - 1, flag 1, k n / 2, i; int s1 0, s2 0; // 当low等于k-1&#xff0c;…...

2024年,Rust开发语言,现在怎么样了?

Rust开发语言有着一些其他语言明显的优势&#xff0c;但也充满着争议&#xff0c;难上手、学习陡峭等。 Rust 是由 Mozilla 主导开发的通用、编译型编程语言&#xff0c;2010年首次公开。 在 Stack Overflow 的年度开发者调查报告中&#xff0c;Rust 连续多年被评为“最受喜爱…...

三种网络配置方法nmcli、ip、ifcfg文件

文章目录 总结nmcli配置网络定义与功能&#xff1a;特点&#xff1a;示例&#xff1a; ip配置网络定义与功能&#xff1a;特点&#xff1a;示例&#xff1a; ifcfg配置网络定义与功能&#xff1a;特点&#xff1a;示例&#xff1a; 总结 nmcli&#xff1a;适合需要动态管理网络…...

AES_ECB算法C++与Java相互加解密Demo

一、AES算法 AES是一种对称加密算法&#xff0c;算法秘钥长度可为128位(16字节)、192位(24字节)、256位(32字节)。加密模式分为ECB、CBC、CTR等&#xff0c;其中ECB模式最简单够用。现给出ECB模式下C和Java的实现&#xff0c;并且可以相互加解密验证。 二、AES_ECB实现DEMO …...

H7-TOOL自制Flash读写保护算法系列,为兆易创新GD32E23X制作使能和解除算法,支持在线烧录和脱机烧录使用(2024-10-29)

说明&#xff1a; 很多IC厂家仅发布了内部Flash算法文件&#xff0c;并没有提供读写保护算法文件&#xff0c;也就是选项字节算法文件&#xff0c;需要我们制作。 实际上当前已经发布的TOOL版本&#xff0c;已经自制很多了。但是依然有些厂家还没自制&#xff0c;所以陆续开始…...

FFmpeg 深度教程音视频处理的终极工具

1. 引言 什么是 FFmpeg&#xff1f; FFmpeg 是一个开源的跨平台多媒体处理工具&#xff0c;广泛应用于音视频的录制、转换、流式传输以及编辑等多个领域。它由 FFmpeg 项目团队开发和维护&#xff0c;支持几乎所有主流的音视频格式和编解码器。FFmpeg 包含了一系列强大的命令…...

Java程序设计:spring boot(13)——全局异常与事务控制

1 Spring Boot 事务支持 在使⽤ Jdbc 作为数据库访问技术时&#xff0c;Spring Boot框架定义了基于jdbc的PlatformTransaction Manager 接⼝的实现 DataSourceTransactionManager&#xff0c;并在 Spring Boot 应⽤ 启动时⾃动进⾏配置。如果使⽤ jpa 的话 Spring Boot 同样提供…...

金和OA-C6 ApproveRemindSetExec.aspx XXE漏洞复现(CNVD-2024-40568)

0x01 产品描述&#xff1a; 金和C6协同管理平台是以"精确管理思想"为灵魂&#xff0c;围绕“企业协同四层次理论”模型&#xff0c;并紧紧抓住现代企业管理的六个核心要素&#xff1a;文化 Culture、 沟通Communication 、 协作Collaboration 、创新 Creation、 控制…...

Redis集群及Redis存储原理

Redis存储原理 Redis将内存划分为16384个区域(类似hash槽) 将数据的key使用CRC16算法计算出一个值,取余16384 得到的结果是0~16383 将这个key保存在计算结果对应的槽位 再次查询这个key时,直接到这个槽位查找,效率很高 实际上这就是"散列表" 提高查询的效率 R…...

基于Springboot的图书个性化推荐系统【源码】+【论文】

图书个性化推荐系统是一个基于Java语言和Springboot框架开发的Web应用系统&#xff0c;主要为管理员和学生提供个性化图书推荐、图书预约和管理功能。系统通过管理员和学生的不同权限设置&#xff0c;实现了图书分类管理、预约管理、退换图书管理、留言板管理等全面的功能&…...

科普 | 子母钟系统是什么?网络时钟同步的重要性?

科普 | 子母钟系统是什么&#xff1f;网络时钟同步的重要性&#xff1f; 科普 | 子母钟系统是什么&#xff1f;网络时钟同步的重要性&#xff1f; 在信息时代的今天&#xff0c;准确统一的时钟系统已广泛的应用在车站、医院、学校、机场等公共服务场所。 因此完善的时钟系统对…...

批量删除redis数据【亲测可用】

文章目录 引言I redis客户端基础操作key的命名规则批量查询keyII 批量删除key使用连接工具进行分组shell脚本示例其他方法III 知识扩展:控制短信验证码获取频率引言 批量删除redis数据的应用: 例如缓存数据使用了新的key存储,需要删除废弃的key。RedisTemplate的key序列化采…...

Vuestic 数据表格 使用demo

<template><br><div class"grid sm:grid-cols-3 gap-6 mb-6"><VaButton click"()>{for(const it in this.selectedItems){console.log(this.selectedItems);}}">参数设置</VaButton><VaButton>参数刷新</VaButt…...

考勤无忧,Zoho People助HR高效

云考勤系统提升数据准确性、无缝对接业务、节省成本、提高员工效率、保障安全。ZohoPeople作为云HRMS&#xff0c;集成考勤管理等功能&#xff0c;支持试用&#xff0c;助力企业高效管理。 一、使用云考勤管理系统&#xff0c;有哪些好处&#xff1f; 1、数据准确性得到保障 …...

已知一个法向量和一个点,求该平面的ModelCoefficients,并使用ProjectInliers将点云投影到该平面

#include <pcl/point_cloud.h> #include <pcl/point_types.h> #include <pcl/filters/project_inliers.h> #include <pcl/model_coefficients.h>// 假设法向量和一个点已知 float A 1.0; // 法向量的 x 分量 float B 0.0; // 法向量的 y 分量 floa…...

92.【C语言】数据结构之单向链表的查找,中间插入和删除,销毁

目录 1.链表的查找函数 2.链表的修改函数 3.链表的中间插入函数 1.在pos之前插入:SLTInsertBefore函数 1.借助头指针pphead 示意图 代码示例(写入SList.c) 头文件添加SLTInsertbefore的声明 main.c的部分代码改为 1.测试中间插入 2.测试头部插入 3.测试pos为NULL的…...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度​

一、引言&#xff1a;多云环境的技术复杂性本质​​ 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时&#xff0c;​​基础设施的技术债呈现指数级积累​​。网络连接、身份认证、成本管理这三大核心挑战相互嵌套&#xff1a;跨云网络构建数据…...

Appium+python自动化(十六)- ADB命令

简介 Android 调试桥(adb)是多种用途的工具&#xff0c;该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具&#xff0c;其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利&#xff0c;如安装和调试…...

练习(含atoi的模拟实现,自定义类型等练习)

一、结构体大小的计算及位段 &#xff08;结构体大小计算及位段 详解请看&#xff1a;自定义类型&#xff1a;结构体进阶-CSDN博客&#xff09; 1.在32位系统环境&#xff0c;编译选项为4字节对齐&#xff0c;那么sizeof(A)和sizeof(B)是多少&#xff1f; #pragma pack(4)st…...

STM32F4基本定时器使用和原理详解

STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...

智能仓储的未来:自动化、AI与数据分析如何重塑物流中心

当仓库学会“思考”&#xff0c;物流的终极形态正在诞生 想象这样的场景&#xff1a; 凌晨3点&#xff0c;某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径&#xff1b;AI视觉系统在0.1秒内扫描包裹信息&#xff1b;数字孪生平台正模拟次日峰值流量压力…...

零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)

本期内容并不是很难&#xff0c;相信大家会学的很愉快&#xff0c;当然对于有后端基础的朋友来说&#xff0c;本期内容更加容易了解&#xff0c;当然没有基础的也别担心&#xff0c;本期内容会详细解释有关内容 本期用到的软件&#xff1a;yakit&#xff08;因为经过之前好多期…...

Linux 中如何提取压缩文件 ?

Linux 是一种流行的开源操作系统&#xff0c;它提供了许多工具来管理、压缩和解压缩文件。压缩文件有助于节省存储空间&#xff0c;使数据传输更快。本指南将向您展示如何在 Linux 中提取不同类型的压缩文件。 1. Unpacking ZIP Files ZIP 文件是非常常见的&#xff0c;要在 …...

Razor编程中@Html的方法使用大全

文章目录 1. 基础HTML辅助方法1.1 Html.ActionLink()1.2 Html.RouteLink()1.3 Html.Display() / Html.DisplayFor()1.4 Html.Editor() / Html.EditorFor()1.5 Html.Label() / Html.LabelFor()1.6 Html.TextBox() / Html.TextBoxFor() 2. 表单相关辅助方法2.1 Html.BeginForm() …...

STM32---外部32.768K晶振(LSE)无法起振问题

晶振是否起振主要就检查两个1、晶振与MCU是否兼容&#xff1b;2、晶振的负载电容是否匹配 目录 一、判断晶振与MCU是否兼容 二、判断负载电容是否匹配 1. 晶振负载电容&#xff08;CL&#xff09;与匹配电容&#xff08;CL1、CL2&#xff09;的关系 2. 如何选择 CL1 和 CL…...

密码学基础——SM4算法

博客主页&#xff1a;christine-rr-CSDN博客 ​​​​专栏主页&#xff1a;密码学 &#x1f4cc; 【今日更新】&#x1f4cc; 对称密码算法——SM4 目录 一、国密SM系列算法概述 二、SM4算法 2.1算法背景 2.2算法特点 2.3 基本部件 2.3.1 S盒 2.3.2 非线性变换 ​编辑…...