找回密码
 注册
Simdroid-非首页
查看: 190|回复: 2

问一个关于mesh和contourf的问题

[复制链接]
发表于 2010-12-8 14:01:37 | 显示全部楼层 |阅读模式 来自 加拿大
我从ansys里面倒出来了一些节点的结果,想要在matlab里面画云图。但不知道怎么能把结果mesh出来。

举个最简单的例子来说,我有四个点1,2,3,4组成正方形, 坐标分别是(0,0),(0,1),(1,0),(1,1), 然后四个点上的应力值分别为(5,6,7,8)。我现在导出来的结果分别存在三个矩阵x,y,data,分别代表x,y坐标值和数据。矩阵的排序按照数字顺序1,2,3,4排列,所以我的三个矩阵分别为
x=[0,0,1,1]
y=[0,1,0,1];
data=[5,6,7,8];

我现在想画这个正方形的云图,但是不知道该怎么mesh,如果简单的用meshgrid命令的话,X,Y就变成了4x4的矩阵了,但我实际上需要的是2x2的。

上面只是个简单的例子,实际上我的节点有一万多个,不知道有没有什么简单点的方法来把这些数据做mesh。谢谢!
发表于 2010-12-8 14:48:19 | 显示全部楼层 来自 河北廊坊
Simdroid开发平台
希望下面这段代码能给你一些启发
  1. clear;clc;close all
  2. x=[0,0,1,1];
  3. y=[0,1,0,1];
  4. data=[5,6,7,8];
  5. order=[1 2 4 3];
  6. dataSet=cat(1,x,y,data);
  7. dataSet=dataSet(:,order);
  8. f=arrayfun(@(z)reshape(dataSet(z,:),sqrt(numel(x)),...
  9.     []),1:size(dataSet),'UniformOutput',false);
  10. mesh(f{:})
复制代码

评分

1

查看全部评分

回复 不支持

使用道具 举报

 楼主| 发表于 2010-12-8 21:16:29 | 显示全部楼层 来自 加拿大
太谢谢了! :)
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2026-1-7 23:42 , Processed in 0.028212 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表