Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何用matlab获得正确的曲面图?_Matlab_Plot_Matlab Figure_Figure - Fatal编程技术网

如何用matlab获得正确的曲面图?

如何用matlab获得正确的曲面图?,matlab,plot,matlab-figure,figure,Matlab,Plot,Matlab Figure,Figure,我想画三样东西,alpha,temp和Ea。所有这些都是相同长度的,即81,这是我使用的代码 clear all clc alp=[xlsread('3ddata.xlsx','Sheet1','A:A')] temp=[xlsread('3ddata.xlsx','Sheet1','B:B')]; Ea=[xlsread('3ddata.xlsx','Sheet1','C:C')]; surf([alp, temp,Ea]) axis tight xlabel 'Alpha' ylabel '

我想画三样东西,alpha,temp和Ea。所有这些都是相同长度的,即81,这是我使用的代码

clear all
clc
alp=[xlsread('3ddata.xlsx','Sheet1','A:A')]
temp=[xlsread('3ddata.xlsx','Sheet1','B:B')];
Ea=[xlsread('3ddata.xlsx','Sheet1','C:C')];
surf([alp, temp,Ea])
axis tight
xlabel 'Alpha'
ylabel 'temp'
zlabel 'Ea'
当我得到图时,x轴标记为1到3,而实际上它是从0.1到0.9(数据),类似地,y轴在图上显示为1到80,而实际上它是从374到394,z轴(Ea)也一样,在图上显示为从-600到200,而实际上它是从-619到-591。。(α从0.1到0.9,温度从374到394,Ea从-619到-591)

图表附在这里

如果要将
Ea
(z轴)绘制为
alp
(x轴)和
temp
(y轴)的函数,请尝试


要使其工作,大小必须类似于:
alp
81 x 1<代码>温度81 x 1
Ea
81 x 81(给出
alp
temp
的每个组合的值)。

您使用
surf
的方式没有真正意义。只有一个输入参数,整个矩阵就是一个高度图。没有您的数据,我只能猜测:尝试
plot3(alp、temp、Ea)
。这是否提供了正确的输出,只是缺少了中间的曲面

您也可以尝试:

tri = delaunay(alp,temp);
trisurf(tri,alp,temp,Ea)

您能提供输入数据吗?

您想将哪个变量作为其他变量的函数来绘制?所有变量的确切大小是什么?我想把Ea画成temp和alp的函数。请看下图以供参考。这是我想要得到的示例图,这是我的输入数据。我怀疑
[xlsread('3ddata.xlsx','Sheet1','C:C')]
是否返回矩阵。@DanielR你说得对。如果它们都是向量,
plot3
可能是正确的选择。@LuisMendo当我使用surf(alp,temp,Ea)时,我使用surf(第75行)得到以下错误Z必须是矩阵,而不是标量或向量。这是我想要得到的一个样本数据,这是我的输入数据,感谢大家。输入数据如下:alp Temp Ea 0.1391.58-618.689 0.2 390.802-514.175 0.3 389.908-440.807 0.4 388.939-389.19 0.5 387.836-351.683 0.6 386.432-329.766 0.7 384.461-334.504 0.8 381.028-382.355 0.9 374.9 374.102-594.966我向您发送了excel文件或屏幕截图。这是我想要得到的一个样本图,这是我的输入数据。你的数据描述了三维空间中的一条线,但不是一个曲面。
tri = delaunay(alp,temp);
trisurf(tri,alp,temp,Ea)