Skip to content
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(不使用皮肤)
  • 不使用皮肤
折叠
CFD中文网

CFD中文网

  1. CFD中文网
  2. Fluent
  3. fluent数据处理成二维数组

fluent数据处理成二维数组

已定时 已固定 已锁定 已移动 Fluent
3 帖子 3 发布者 2.7k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • 深蓝深 离线
    深蓝深 离线
    深蓝
    写于 最后由 编辑
    #1

    问题: fluent结果怎么处理为二维数组
    详述: fluent导出的结果为(坐标,坐标,值)的格式,(值)是一个一维数组,但是在神经网络训练的时候需要(值)为二维数组,请问怎么才能转换?示意图如下:
    微信截图_20220214144723.png

    难点:
    1、数据量很大,大概有几万个点
    2、fluent导出的数据很不规矩,(比如x=1的时候应该有y=a,y=b,y=c,x=2的时候应该有y=a,y=b,y=c),但是fluent导出的数,x=1的时候有y=a,y=b,y=c,x=2的时候可能只有y=c(不好解释啊:135: )。二维数组非常稀疏,如下图微信截图_20220214150241.png

    其实我就想要个二维数组来表示二维的物理量场,请大哥大姐们帮帮忙啊:chouchou:

    1 条回复 最后回复
  • M 离线
    M 离线
    mengqiang
    写于 最后由 编辑
    #2

    可以试试matlab后处理:chouchou:

    1 条回复 最后回复
  • N 离线
    N 离线
    Noah
    写于 最后由 编辑
    #3

    不知道当时的问题是否解决了,我去年做的一部分工作里面也需要相关的处理。当时采用的Matlab对导出的数据进行处理,不过在数据处理之前需要将 x,y当中一些极小的值变成0,比如10的负十几次方的值,因为这些fluent输出的值可能会对处理产生影响,然后导入程序就可以变成矩阵形式了,程序大概如下。供以后有需要的朋友们参考。

    data1 = xlsread('D:\User.....');

    % 获取X、Y坐标和密度值的向量
    X = data1(:, 1);
    Y = data1(:, 2);
    density = data1(:, 3);

    % 确定X和Y的唯一值,并按升序排列
    unique_x = unique(X);
    unique_y = unique(Y);

    % 创建行列编号映射表
    x_mapping = containers.Map(unique_x, 1:length(unique_x));
    y_mapping = containers.Map(unique_y, 1:length(unique_y));

    % 初始化矩阵
    num_rows = length(unique_y);
    num_cols = length(unique_x);
    densityMatrix1 = zeros(num_rows, num_cols);

    % 将密度值填充到矩阵中
    for i = 1:length(X)
    row = y_mapping(Y(i));
    col = x_mapping(X(i));
    densityMatrix1(row, col) = density(i);
    end

    1 条回复 最后回复

  • 登录

  • 登录或注册以进行搜索。
  • 第一个帖子
    最后一个帖子
0
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]