MATLAB简单三维曲面的绘制

MATLAB数据处理

MATLAB数据处理方面有

1.插值方法介绍,以及获取插值后所得二维、三维图像的信息,并存入EXCEL中。
2.迭代方法,单元迭代以及二元迭代
3.matlab与c#混合编程相关问题解决,比如符号工具箱的函数无法被封装成dll,等。

三维曲面的绘制是基础

三维曲面绘制

surf函数

三维曲面的绘制需要三个变量。这里是两个自变量,一个因变量。
先上代码。

I=xlsread("D:.xlsx"); %读取excel文件
y=I(1:17,9:26); %这里是把矩阵赋值给了y,17*18的矩阵
s=[100	90	80	70	60	50	40	30	20	10	8	6	4	2	1	0.5	0.25]; %变量1,17个数
t=[286.15 287.15 288.15:3:318.15 319.15 320.15 321.15 322.15 323.15]; %变量2,18个数
surf(t,s,y); %绘制三维曲面
title(''); %设置标题
xlabel('t'), ylabel('s'), zlabel('y'), % 三个坐标轴的命名
axis([285 325 0 100 0 0.0004]); %对X,Y,Z轴范围的控制

这里变量t,s的个数分别对应着矩阵y里的行数和列数,这个方法里,用到了两个向量,一个矩阵(这个矩阵是与两个向量相对应的),直接就可以surf了。
那么画曲面就必须要准备好一个矩阵吗?y要是向量就不可以了吗?
是可以的。
但是这时候由于两个自变量不是等距取点(一般情况下,自变量哪有互相对应着等距取点的?),为了达到等距取点的目的,就要用到meshgrid函数,即利用插值作图。

上代码

s = data(:, 1);
t = data(:, 2);
y = data(:, 3); %可以看到,这里两个自变量,一个因变量都是向量形式。
[T,S]=meshgrid(min(t):0.1:max(t),min(s):0.1:max(s)); %将两个自变量等间距取点,确定网络坐标,并返回给T,S
Y=griddata(t,s,y,T,S,'cubic');               %在网格点位置插值求Z 。这里用到了插值方法,我之后会在分享个详细的讲插值的。
surf(X,Y,Z)                                  %绘制曲面

by the way
绘制曲面的时候除了用surf函数,还有用mesh函数的,具体区别不知道,我只知道插值插得太密,mesh直接黑白曲面图,而surf却是彩色的,由此我只用surf。
如此,便是matlab根据三个变量画曲面的简单小方法,希望可以帮助到你。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值