【物理应用】气象参数计算综合指标和IAQI【含GUI Matlab源码 2116期】

在这里插入图片描述

⛄一、获取代码方式

获取代码方式1:
完整代码已上传我的资源:【物理应用】基于matlab GUI气象参数计算综合指标和IAQI【含Matlab源码 2116期】
点击上面蓝色字体,直接付费下载,即可。

获取代码方式2:
付费专栏Matlab物理应用(初级版)

备注:
点击上面蓝色字体付费专栏Matlab物理应用(初级版),扫描上面二维码,付费29.9元订阅海神之光博客付费专栏Matlab物理应用(初级版),凭支付凭证,私信博主,可免费获得1份本博客上传CSDN资源代码(有效期为订阅日起,三天内有效);
点击CSDN资源下载链接:1份本博客上传CSDN资源代码

⛄二、空气质量分指数(IAQI)

城市空气质量指数 (AQI) 、点位空气质量指数 (AQI) 每日 (24h) 、每时的计算结果是由测得的几项污染物的日平均值、小时平均值空气质量分指数中最大的值作为每日、每时空气质量的指数和首要污染物, 因此, 想要知道AQI值必须将各项污染物的分指数 (IAQI) 计算出来。

1 空气指数分指数 (IAQI) 计算公式
在这里插入图片描述
IAQIP-污染物项目P的空气质量分指数;
CP-污染物项目P质量浓度值;
BPHi-表1中与CP相近的污染物浓度限值的高位值;
BPLo-表1中与CP相近的污染物浓度限值的低位值;
IAQIHi-表1中与BPHi对应的空气质量分指数;
IAQILo-表1中与BPLo对应的空气质量分指数。

2 分步理解公式含义
2.1 首先理解几个差值的含义

IAQHi-IAQILo的含义是某种浓度污染物在表1中对应的空气质量分指数高、低之差值, 是一个无量纲的数, 它的每一级别值均是一个固定值。

BPHi-BPLo的含义是表1中与某种浓度污染物CP相近的污染物浓度限值的高、低位值之差值, 它的单位与浓度单位一样, 而且它的每一级别值也是一个固定值。

CP–BPLo的含义是表1中与某种污染物浓度与CP相近的污染物浓度限值的低位值之差, 它的单位也是与浓度单位一样, 它不是一个固定的值。

2.2 理解公式右面第一部分的含义
在这里插入图片描述
2.3 理解公式右面第二部分的含义
公式右面第二部分是+IAQILo, 即加各级别一个起点的指数, 第一部分与第二部分加在一起即可计算出该浓度污染物的空气质量分指数, 即公式左面IAQIP。

⛄三、部分源代码

function varargout = workfun(varargin)
% WORKFUN MATLAB code for workfun.fig
% WORKFUN, by itself, creates a new WORKFUN or raises the existing
% singleton*.
%
% H = WORKFUN returns the handle to a new WORKFUN or the handle to
% the existing singleton*.
%
% WORKFUN(‘CALLBACK’,hObject,eventData,handles,…) calls the local
% function named CALLBACK in WORKFUN.M with the given input arguments.
%
% WORKFUN(‘Property’,‘Value’,…) creates a new WORKFUN or raises the
% existing singleton*. Starting from the left, property value pairs are
% applied to the GUI before workfun_OpeningFcn gets called. An
% unrecognized property name or invalid value makes property application
% stop. All inputs are passed to workfun_OpeningFcn via varargin.
%
% *See GUI Options on GUIDE’s Tools menu. Choose “GUI allows only one
% instance to run (singleton)”.
%
% See also: GUIDE, GUIDATA, GUIHANDLES

% Edit the above text to modify the response to help workfun

% Last Modified by GUIDE v2.5 2-Sep-2022 14:47:08

% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct(‘gui_Name’, mfilename, …
‘gui_Singleton’, gui_Singleton, …
‘gui_OpeningFcn’, @workfun_OpeningFcn, …
‘gui_OutputFcn’, @workfun_OutputFcn, …
‘gui_LayoutFcn’, [] , …
‘gui_Callback’, []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end

if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT

% — Executes just before workfun is made visible.
function workfun_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% varargin command line arguments to workfun (see VARARGIN)

% Choose default command line output for workfun
handles.output = hObject;

% Update handles structure
guidata(hObject, handles);

% UIWAIT makes workfun wait for user response (see UIRESUME)
% uiwait(handles.figure1);

% — Outputs from this function are returned to the command line.
function varargout = workfun_OutputFcn(hObject, eventdata, handles)
% varargout cell array for returning output args (see VARARGOUT);
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

% Get default command line output from handles structure
varargout{1} = handles.output;

function edit1_Callback(hObject, eventdata, handles)
% hObject handle to edit1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,‘String’) returns contents of edit1 as text
% str2double(get(hObject,‘String’)) returns contents of edit1 as a double
edit1=str2num(get(hObject,‘String’));
if (isempty(edit1))
ste(hObject,‘String’,‘’)
end
guidata(hObject,handles)
% — Executes during object creation, after setting all properties.
function edit1_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,‘BackgroundColor’), get(0,‘defaultUicontrolBackgroundColor’))
set(hObject,‘BackgroundColor’,‘white’);
end

function edit2_Callback(hObject, eventdata, handles)
% hObject handle to edit2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,‘String’) returns contents of edit2 as text
% str2double(get(hObject,‘String’)) returns contents of edit2 as a double
edit2=str2num(get(hObject,‘String’));
if (isempty(edit2))
ste(hObject,‘String’,‘’)
end
guidata(hObject,handles)

% — Executes during object creation, after setting all properties.
function edit2_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,‘BackgroundColor’), get(0,‘defaultUicontrolBackgroundColor’))
set(hObject,‘BackgroundColor’,‘white’);
end

function edit3_Callback(hObject, eventdata, handles)
% hObject handle to edit3 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,‘String’) returns contents of edit3 as text
% str2double(get(hObject,‘String’)) returns contents of edit3 as a double
edit3=str2num(get(hObject,‘String’));
if (isempty(edit3))
ste(hObject,‘String’,‘’)
end
guidata(hObject,handles)

% — Executes during object creation, after setting all properties.
function edit3_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit3 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,‘BackgroundColor’), get(0,‘defaultUicontrolBackgroundColor’))
set(hObject,‘BackgroundColor’,‘white’);
end

function edit4_Callback(hObject, eventdata, handles)
% hObject handle to edit4 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,‘String’) returns contents of edit4 as text
% str2double(get(hObject,‘String’)) returns contents of edit4 as a double
edit4=str2num(get(hObject,‘String’));
if (isempty(edit4))
ste(hObject,‘String’,‘’)
end

⛄四、运行结果

在这里插入图片描述

⛄五、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]刘萍.如何理解空气质量分指数(IAQI)计算公式并速算[J].黑龙江环境通报. 2014,38(02)

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

  • 22
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: O3的IAQI计算公式如下: IAQI(O3) = [(O3) - (O3)低] / [(O3)高 - (O3)低] x (I高 - I低) + I低 其中,(O3)为O3的浓度值,(O3)低和(O3)高分别为O3的浓度限值下限和上限,I低和I高分别为与(O3)低和(O3)高相对应的空气质量分指数下限和上限。 以中国环境空气质量标准(GB3095-2012)为例,O3的浓度限值为100μg/m³(日均8小时平均值),对应的空气质量分指数下限为101,上限为150。因此,如果一天内O3的浓度值为120μg/m³,则其IAQI为: IAQI(O3) = [(120) - (100)] / [(150) - (101)] x (150 - 101) + 101 ≈ 118 因此,O3的空气质量指数为118,属于轻度污染级别。 ### 回答2: O3的IAQI计算公式如下: 首先,根据监测到的O3浓度值(C)通过插值法在O3浓度与相应的空气质量指数(AQI)之间建立映射关系。通常,这种映射关系是根据一组先前监测数据和对应的AQI值得出的。 然后,根据映射关系,计算出O3的AQI低浓度值(P0)和高浓度值(P1)的指数值,这两个指数值都是通过线性插值得到的。 接下来,根据监测到的O3浓度C和较低浓度值(P0)及高浓度值(P1)之间的关系,通过插值计算得到O3的AQI。 最后,将O3的AQI限制在0到500的范围内,这就是O3的IAQI值。IAQI即为AQI值除以AQI上限(500)再乘以100,用来表示O3的空气质量。 需要注意的是,以上计算公式可能会因为地区和国家的不同而有所调整,以适应当地的监测情况和相关标准。因此,在使用时最好参考相关文献和政府规定,确保准确性和可靠性。 总之,O3的IAQI计算公式是根据监测到的O3浓度值与AQI之间的映射关系,通过线性插值计算出O3的AQI值,并将其转化为0到500之间的IAQI值。这个过程用于评估O3对空气质量的影响程度。 ### 回答3: O3的IAQI(室外空气质量指数)计算公式可以通过以下步骤进行: 1. 首先,确定O3的浓度值(C)以及对应的分指数(Ii)范围。 O3的浓度值常以微克/立方米(μg/m³)作为单位,可以根据监测数据或气象部门提供的数据得出。 2. 然后,根据O3的浓度值C与其对应的分指数范围,使用线性插值公式计算得出O3的分指数(Ii)。 分指数的计算公式为:Ii = [(IHi - ILo)/(CHi - CLo)] * (C - CLo) + ILo 其中,IHi和ILo分别表示浓度值范围的高端和低端对应的分指数,CHi和CLo分别表示浓度值范围的高端和低端的浓度值。 3. 接下来,根据各个污染物的分指数,使用对应的加权公式计算得到O3的IAQI。 O3的IAQI计算公式为:IAQI = [(Ii - ILo)/(IHi - ILo)] * (BHI - BLO) + BLO 其中,Ii表示O3的分指数,ILo和IHi分别表示分指数范围的低端和高端,BHI和BLO分别表示空气质量指数范围的高端和低端。 以上步骤按照计算IAQI的标准流程进行,可以根据每个分指数对应的范围和加权公式计算出O3的IAQI值,从而评估室外空气中O3的污染程度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Matlab领域

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值