MATLAB和origin用三列数据画三维图

花费我一下午,用三列数据画三维曲面图我去,最后没想到是因为excel里格式的错误显示不完整,以后从别的地方复制到excel里时检查下格式是否正确,不然到别的软件不显示,怎么办

matlab程序

A=xlsread('halfwave.xlsx');
x=A(:,1);
y=A(:,2);
z=A(:,3);
xmax=max(x);
xmin=min(x);
ymax=max(y);
ymin=min(y);
[X,Y]=meshgrid(xmin:0.4:xmax,ymin:0.004:ymax);
Z=griddata(x,y,z,X,Y);
mesh(X,Y,Z)
xlabel('L/um');ylabel('W/um');zlabel('couple phase/°');

 

origin

第一步: 将数据转化为矩阵格式:worksheet  → convert to Martrix → XYZ Gridding 

第二步:选择 X Y Z的参数

第三步:在矩阵界面下

3D surface → color Map Surface

 

### 将Matlab生成的三维图导出并在Origin中打开 #### 数据准备与保存 为了在Origin中处理或展示由Matlab创建的三维图,首先需将数据Matlab环境中导出至外部文件。通常推荐使用`.csv`或`.txt`格式来存储这些多维数组,因为这两种格式易于被其他应用程序读取。 ```matlab % 假设已有一个名为dataMatrix的三维矩阵示Z轴上的数值, % XY分别是对应的坐标向量。 X = linspace(-pi, pi, 100); Y = linspace(-pi, pi, 100); [Xgrid,Ygrid] = meshgrid(X,Y); R = sqrt(Xgrid.^2 + Ygrid.^2); dataMatrix = sin(R)./R; % 使用writematrix函数可以方便地把矩阵写入CSV文件 filename = 'threeDData.csv'; writematrix(dataMatrix,filename,'Delimiter',','); ``` 上述代码片段展示了如何利用Matlab内置命令`linspace()`定义范围内的均匀间隔样本点,并通过计算得到相应的高度值形成一个网格状结构的数据集;最后采用`writematrix()`方法将其转换成逗号分隔符形式并存盘[^2]。 #### 导入到Origin 一旦完成了来自Matlab数据导出操作,下一步就是在Origin里加载这个新产生的文件。对于ASCII编码类型的纯文本文件(如前面提到过的`.csv`),可以通过以下路径完成导入: - **菜单栏**: File -> Import Single ASCII... - 或者直接拖拽目标文件进入Origin的工作区窗口内[^3] 当选择了正确的文件之后,会弹出一个小对话框让用户指定更多细节选项,比如列名识别、缺失值标记等。按照实际需求调整设置后确认即可成功引入所需资料用于后续分析作图。 #### 创建三维图形 有了原始数据的支持,在Origin内部构建三维视图变得相对容易许多。具体来说,可以选择如下几种常见的达方式之一来进行呈现: - **面图(Surface Plot)**: 类似于地理信息系统里的地形模型,能够直观反映出各位置处的高度变化趋势; - **轮廓线图(Contour Plot)**: 提供了一种二维平面上映射第三维度信息的有效手段,特别适合用来观察复杂面上的关键特征分布情况; - **散点云图(Point Cloud)**: 当面对离散型测量结果时尤为适用,它能很好地保持个体间的位置关系而不至于造成视觉混淆。 每一种类型都有其独特的应用场景以及优缺点所在,可以根据个人喜好或是研究目的挑选最合适的展现模式[^1]。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值