关于HCF的matlab代码编译过程中遇到的错误使用 mex MEX 找不到使用 -l 选项指定的库 ‘mwblas‘。

HCF编译过程遇到了的问题:

错误使用 mex
MEX 找不到使用 -l 选项指定的库 ‘mwblas’。
MEX 已搜索具有以下名称之一的文件:
libmwblas.a
mwblas.lib
libmwblas.lib
请验证库名称是否正确。如果该库不在
现有路径上,请使用 -L 选项指定路径。

解决办法也很简单,使用matlab的搜索功能找到mwblas,可以发现他的前面有一个-l,就把他替换为-L即可编译成功。即便就是把-lmwblas替换为-Lmwblas,再运行demo文件就可以编译了。

在这里插入图片描述

参考博客:https://gsy00517.github.io/matlab20200121194751/ 作者介绍了他是如何在网上没有找到解决办法,自己解决问题的。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Fiala模型是一个用于计算人体热舒适度和热负荷的模型,它包括计算人体核心温度和皮肤温度的过程。以下是使用MATLAB实现Fiala模型计算人体核心温度和皮肤温度的代码: ```matlab % 输入参数 M = 70; % 体重,单位kg W = 1.8; % 身高,单位m Icl = 0.6; % 服装绝热度 Tcl = 23; % 服装温度,单位℃ V = 1.2; % 运动代谢率,单位W/m^2 Met = 1.2; % 静态代谢率,单位W/m^2 Ta = 25; % 环境温度,单位℃ Rh = 50; % 相对湿度,单位% Pa = 101325; % 大气压力,单位Pa fcl = 1.0; % 服装面积系数 hcf = 8; % 服装热通量系数 % 计算参数 A = 0.202 * W^(0.425) * M^(0.725); % 体表面积,单位m^2 Mw = 0.83 * (M - 58.15); % 有效体重,单位kg Mcd = Mw * (1 - 0.01 * Icl); % 服装调节质量,单位kg Mres = Met / 58.15; % 静态代谢质量,单位kg fcltot = fcl * (1 - 0.28 * Icl); % 修正服装面积系数 hc = hcf * fcltot; % 修正服装热通量系数 PaO2 = 133.322 * exp(-0.042 * Mw / (0.5 * A)); % 平均动脉血氧分压,单位Pa Mtot = Mcd + Mres; % 总质量,单位kg Msw = 0.06 * Mtot; % 皮肤湿度调节质量,单位kg Mresw = 0.1 * Mres; % 静态代谢水分质量,单位kg Mtotw = Msw + Mresw; % 总水分质量,单位kg Rcl = 0.155 * M^(0.425) * (1 - exp(-0.622 * Rh / 100)) * A; % 服装蒸发阻力,单位m^2 Pa/W Rsw = 1 / (0.0014 * A); % 皮肤蒸发阻力,单位m^2 Pa/W hcc = 2.38 * abs(Tcl - Ta)^(0.25); % 服装-皮肤传热系数,单位W/m^2℃ % 初始化变量 Tsk = 34; % 初始皮肤温度,单位℃ Tc = 37; % 初始核心温度,单位℃ iter = 0; % 迭代次数 % 迭代计算 while true iter = iter + 1; % 计算热通量 Mresc = Met / (58.15 + 1.163 * Tc); % 核心代谢水分质量,单位kg Mtotc = Mcd + Mresc; % 总水分质量,单位kg Ediff = 0.001 * (5733 - 6.99 * Mtotc - PaO2); % 水汽分压差,单位kPa Rcc = 3.805 * 10^(-3) * (5733 - 6.99 * Mtotc - PaO2); % 肺泡通气阻力,单位kPa·L/s Rct = 0.001 * (Tc - Ta) / (0.68 * Rcc + 0.272 * Rcl); % 核心-服装传热阻力,单位m^2℃/W Rst = 1 / (hc * A); % 皮肤-服装传热阻力,单位m^2℃/W Rswt = 1 / (Rsw * A); % 皮肤-空气传热阻力,单位m^2℃/W Mswc = Mtotw / (1 + Rswt * Rct / (Rswt + Rct)); % 皮肤湿度调节质量,单位kg Ediffw = 0.00066 * (Pa - Rh / 100 * Pa) - 0.067 * Met / Mtot; % 水汽分压差,单位kPa Rctw = 1 / (0.000425 * A); % 核心-皮肤传热阻力,单位m^2℃/W Mreswc = Met / (2444 + 0.4345 * Tc) - Mresc; % 静态代谢水分蒸发质量,单位kg Mtotwc = Mswc + Mreswc; % 总水分质量,单位kg Rswc = 1 / (0.00017 * A); % 皮肤蒸发阻力,单位m^2 Pa/W Rccw = 1 / (Rcc * A); % 核心蒸发阻力,单位m^2 Pa/W Mrescwt = Met / (2444 + 0.4345 * Tc); % 静态代谢水分传导质量,单位kg Mtotcwt = Mcd + Mrescwt; % 总水分质量,单位kg Rctwt = 1 / (0.438 * A); % 核心-皮肤传导阻力,单位m^2℃/W Ereq = Mtotwc * (Ediffw / (Rswc + Rccw) + Ediff / (Rswt + Rct) + (Tsk - Tc) / Rctw) + Mrescwt * (Tsk - Tc) / Rctwt; % 蒸发热通量,单位W Creq = (Mtotc + Mtotwc) * 4186 * (Tc - 37) + Mtotw * (2501 + 1.84 * Tsk) + Mresc * 2501 + Mreswc * 2501; % 对流热通量,单位W Qreq = Ereq + Creq; % 总热通量,单位W % 计算温度变化 dTsk = (Qreq - hc * A * (Tsk - Tcl) - Rsw * A * (Tsk - Ta)) / (Mswc * 2501 + Rsw * A); % 皮肤温度变化率,单位℃/s dTc = (Qreq - Met - hc * A * (Tc - Tcl) - Rct * (Tc - Ta)) / ((Mcd + Mresc) * 4186); % 核心温度变化率,单位℃/s % 更新温度 Tsk = Tsk + dTsk * 60; % 单位转换为℃/min Tc = Tc + dTc * 60; % 单位转换为℃/min % 判断是否收敛 if abs(dTsk) < 0.001 && abs(dTc) < 0.001 break; end end disp(['皮肤温度:' num2str(Tsk) '℃']); disp(['核心温度:' num2str(Tc) '℃']); ``` 其,输入参数分别为: - `M`:体重,单位kg - `W`:身高,单位m - `Icl`:服装绝热度 - `Tcl`:服装温度,单位℃ - `V`:运动代谢率,单位W/m^2 - `Met`:静态代谢率,单位W/m^2 - `Ta`:环境温度,单位℃ - `Rh`:相对湿度,单位% - `Pa`:大气压力,单位Pa - `fcl`:服装面积系数 - `hcf`:服装热通量系数 输出结果为: - `Tsk`:皮肤温度,单位℃ - `Tc`:核心温度,单位℃ 注意,该代码实现的是Fiala模型的一个简化版本,仅用于演示计算过程,实际应用需要根据具体情况进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值