You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Matlab中绘制3D热衰减图?附数据与参考样式

Matlab绘制指定样式的3D热衰减图

数据定义

首先整理你提供的原始数据,注意温度数据有5行,对应5个时间点,因此取时间数组的前5个元素匹配:

% 空间点数据
x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
% 时间点数据(匹配温度数据的5行)
t = [10, 20, 30, 40, 50];
% 温度数据(每行对应一个时间点,每列对应一个空间点)
y = [
    500, 400, 600, 700, 800, 500, 600, 800, 300, 200;
    400, 300, 600, 700, 200, 500, 900, 800, 300, 800;
    300, 600, 600, 700, 800, 500, 600, 900, 300, 200;
    200, 400, 300, 600, 500, 100, 900, 800, 300, 700;
    400, 400, 600, 300, 800, 500, 600, 600, 200, 200
];

基础3D热衰减图实现

下面的代码直接生成符合你轴要求(x=空间点,y=温度,z=时间)的3D曲面图,匹配参考样式:

% 生成二维网格,适配3D绘图函数
[X, Z] = meshgrid(x, t);

% 绘制3D曲面图,参数顺序对应x(空间)-y(温度)-z(时间)
surf(X, y, Z);

% 设置轴标签
xlabel('空间点');
ylabel('温度');
zlabel('时间');

% 使用热色映射,直观体现温度高低
colormap jet;
% 添加颜色条,关联温度数值
colorbar;

% 调整视角,匹配参考图的倾斜角度
view(30, 30);

% 添加图标题
title('空间点随时间的温度热衰减图');

可选:平滑曲面优化

如果需要更平滑的视觉效果,可以对原始数据进行插值处理:

% 生成更密集的插值网格
[X_interp, Z_interp] = meshgrid(linspace(min(x), max(x), 50), linspace(min(t), max(t), 20));
% 三次插值生成平滑温度数据
y_interp = interp2(X, Z, y, X_interp, Z_interp, 'cubic');

% 绘制平滑后的曲面图
surf(X_interp, y_interp, Z_interp);
xlabel('空间点');
ylabel('温度');
zlabel('时间');
colormap jet;
colorbar;
view(30, 30);
title('平滑后的空间点温度热衰减图');

内容的提问来源于stack exchange,提问作者SSS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 22:10:28