matlab矩阵转入tecplot,利用Tecplot导入MATLAB计算结果数据进行三维可视化
前言
對于(坐標,物理量)這類數據的可視化(云圖)一直在探索,二維數據選擇用matlab處理,因為matlab的imagesc函數可以根據數據值的大小用不同顏色來顯示。但是對應的三維數據(x,y,z,物理量)的數據處理一直沒找到合適的方式。多次搜索發現tecplot可以做,但是都沒有詳細的步驟,因此寫這篇博文詳細展示一下導入的過程。物理量可以多個,在添加變量處多添加就行。
準備工作
將數據存入Excel,按照x坐標、y坐標、z坐標、物理量排成四列,我使用的是Tecplot 360 EX2016 r2(為啥不更新?因為其他版本總是有問題,這個版本最聽話……)
步驟如下:
1.導入data.xls(可能需要點兩次導入)
2.選擇 自定義
3.選擇 custom模式
4.添加變量:包括 x,y,z,物理量
在add new variable欄寫變量名,再選擇數據類型,點擊添加,就能成功添加一個變量
5.添加zone 定義數據范圍(例如我導入的是Excel中從A1-D8000的數據),IMAX含義為網格數。
6.點擊完成
這樣就能在tecplot處理數據了,具體的細節就是tecplot操作的問題,這里不再贅述。
另一種更便捷的方法
將數據導出成dat格式,并在前面增加說明,Tecplot就可以直接讀取了。MATLAB導出代碼如下:
filename=['address' num2str(l/Nout) '.dat'];
% address是儲存位置,這里的num2str是為了在循環輸出dat數據文件中使用,如果只有一個文件可以忽略
fid=fopen(filename,'wt');
fprintf(fid,'%s \n','variables= "x", "y", "z", "variable name"');
fprintf(fid,'%s \n','zone t="Frame " i=50,j=50,k=50,f=point');
%這里的ijk是三維方向xyz劃分量
[m,n]=size(data);%data就是包含x,y,z和變量的數據矩陣
for i=1:1:m
for j=1:1:n
if j==n
fprintf(fid,'%g\n',data(i,j));
else
fprintf(fid,'%g\t',data(i,j));
end
end
end
fclose(fid);
總結
以上是生活随笔為你收集整理的matlab矩阵转入tecplot,利用Tecplot导入MATLAB计算结果数据进行三维可视化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 为什么有些女性会选择贷款买房?
- 下一篇: 筑方装饰集团装修整屋包括玄关吗?