% 设置参数
L = 5; % 室内长度(m)
H = 3; % 室内高度(m)
W = 4; % 室内宽度(m)
V = L*H*W; % 室内体积(m^3)
dx = 0.2; % 离散化步长(m)
dy = 0.2;
dz = 0.2;
dt = 1; % 时间步长(s)
total_time = 3600*8; % 总时间(s)
alpha = 1.8e-7; % 热扩散系数(m^2/s)
% 初始化温度场
T = ones(L/dx, H/dy, W/dz) * 293; % 初始温度为293K
% 初始化边界条件
T(:, :, 1) = 273; % 左边界
T(:, :, end) = 293; % 右边界
T(:, 1, :) = 283; % 下边界
T(:, end, :) = 283; % 上边界
T(1, :, :) = 283; % 前边界
T(end, :, :) = 283; % 后边界
% 迭代求解
for t = dt:dt:total_time
% Block模型部分
T_mean = mean(T(:));
T = T + alpha * dt / V * (T_mean - T) * ones(size(T)); % Block模型
% Gao-Yong湍流方程部分
[Tx, Ty, Tz] = gradient(T, dx, dy, dz); % 计算梯度
Txx = diff(Tx, 2, 1) ./ dx^2; % 计算二阶导数
Tyy = diff(Ty, 2, 2) ./ dy^2;
Tzz = diff(Tz, 2, 3) ./ dz^2;
T = T(2:end-1, 2:end-1, 2:end-1) + alpha * dt* (Txx + Tyy + Tzz); % 更新温度场
end
% 可视化结果
[x, y, z] = meshgrid(dx:dx:L, dy:dy:H, dz:dz:W);
slice(x, y, z, T, L/2, H/2, W/2);
xlabel('X (m)');
ylabel('Y (m)');
zlabel('Z (m)');
colorbar;
这个Matlab代码运行不出结果
clear all
%fake inferior
finf=100;
%取样时间-0.1s到0.1s
%t=-0.1:1/fs:0.1;
T=2;
syms t tau;
%定义输入函数
s1(t)=heaviside(t)-heaviside(t-2);
s2(t)=heaviside(t)-2*heaviside(t-1)+heaviside(t-2);
%绘制
subplot(421)
fplot(s1)
title('first signal')
%xlim([-1,3])
ylim([-1,2])
grid on
subplot(422)
fplot(s2)
title('second signal')
%xlim([-1,3])
ylim([-2,2])
grid on
%定义相关函数
R1(tau)=int(s1(t)*s1(t-tau),t,-finf,finf);
R2(tau)=int(s2(t)*s2(t-tau),t,-finf,finf);
%绘制
subplot(423)
fplot(R1)
title('信号s1的自相关函数R1')
ylabel('R1(\tau)')
xlabel('\tau')
ylim([-2,3])
subplot(424)
fplot(R2)
title('信号s2的自相关函数R2')
ylabel('R2(\tau)')
xlabel('\tau')
ylim([-2,3])
%定义相关函数
R12(tau)=int(s1(t)*s2(t-tau),t,-finf,finf);
R21(tau)=int(s2(t)*s1(t-tau),t,-finf,finf);
%绘制
subplot(425)
fplot(R12)
title('信号s1与信号s2的互相关函数R12')
ylabel('R1(\tau)')
xlabel('\tau')
ylim([-2,3])
subplot(426)
fplot(R21)
title('信号s2与信号s1的互相关函数R2')
ylabel('R2(\tau)')
xlabel('\tau')
ylim([-2,3])
%对于匹配滤波器的输出为时移T后的结果
subplot(427)
fplot(R1(tau-T))
title('信号s1对应匹配滤波器的输出结果')
ylabel('R1(\tau-T)')
xlabel('\tau')
subplot(428)
fplot(R2(tau-T))
title('信号s2对应匹配滤波器的输出结果')
ylabel('R2(\tau-T)')
xlabel('\tau')
%保存图片
filename=strcat('matchedFilter.png');
saveas(gca,filename,'png')