Matlab 定期数据不';当绘制为曲面时,它似乎不是周期性的

Matlab 定期数据不';当绘制为曲面时,它似乎不是周期性的,matlab,matrix,3d,visualization,surface,Matlab,Matrix,3d,Visualization,Surface,我正在模拟一个波入射到多层球体上的问题 我有一个名为forceZ1的变量,它是另两个名为phase和frequency的变量的函数。我解了一个方程,找到了forceZ1的矩阵。我还知道频率是1*3000矩阵,相位大小相同。很明显,forceZ1将是3000*3000 在这种情况下,相位在0和2*pi之间变化,根据数据,我得出力应该是周期性的,周期为2π。这可以通过绘制forceZ1中关于角度的任何列向量来验证,例如: figure(); plot(ang1, forceZ1(:,567));

我正在模拟一个波入射到多层球体上的问题

我有一个名为
forceZ1
的变量,它是另两个名为
phase
frequency
的变量的函数。我解了一个方程,找到了
forceZ1
的矩阵。我还知道
频率
是1*3000矩阵,
相位
大小相同。很明显,
forceZ1
将是3000*3000

在这种情况下,相位在
0
2*pi
之间变化,根据数据,我得出力应该是周期性的,周期为2π。这可以通过绘制
forceZ1
中关于角度的任何列向量来验证,例如:

figure(); plot(ang1, forceZ1(:,567));
其中:

我试着画一个表面
forceZ1
frequency
phase
对比,但图中没有显示周期性行为。我做错了什么

这是我的绘图代码:

Z=forceZ1;
X=ang1;
Y=frequency;

figure
surf(X,Y,Z,'edgecolor','none')
shading interp
view(3)
xlim([0,2*pi]);
xlabel('X=phase')
ylabel('Y=nondimensional frequency')
zlabel('Z=force in Z direction')
title('Force-Frequency-Phase')
colormap jet

我上传了一个供您参考。

您的
forceZ1
矩阵似乎在途中的某个地方被转置了。正如你所说,数据确实是周期性的,但周期性的方向是你的Y

如果您这样绘制数据,它将开始有意义:

surf(X,Y,Z.','edgecolor','none');
。。。导致:

但是,由于您的数据包含相位、幅值和偏移不同的谐波,您可能希望尝试使用不同类型的图表来突出谐波的形状,例如:

。。。或者尝试制作一个动画,或者使用所示频率的滑块制作一个交互式图表


此外,您的数据可能不仅被转置,而且被翻转,因此您可能需要使用以获得正确的结果。

@Niladri谢谢:)没有足够的信息来解决此问题。首先,我们无法判断您是否正确求解/评估了方程;其次,我们不知道你是否正确地解释了你的结果;第三,我们无法判断它是否可以通过不同的绘图来解决(也许周期性行为乘以某个阻尼指数,所以它似乎不是周期性的)。如果可能-请添加创建您正在绘制的数据的代码,如果没有-请将这些数据作为mat文件上载到dropbox等。显示您正在求解的方程在这里也会有所帮助。@Dev-iL好的,我做了,现在您能帮我吗?好的,我现在看到您的数据了(那里有很多变量!)。当你说“我已经在MATLAB中打印了数据并证明了”时,你能提供这方面的代码吗?我想知道你是否只是在策划一些错误的事情。关于这件事的信息是缺乏的。如果某事物每2*pi重复一次,它就是周期性的。或8723232*pi。周期性并不意味着它会重复每一个pi,取决于频率不?很可能是我完全误解了这一点,但是这里没有关于为什么你认为事情应该是你说的那样的信息!我有问题地要求plz为我画这个曲面。因为我知道你们分享的这些技巧。谢谢:)@hossein.kh 1)我已经提供了您想要的代码来绘制它,但是没有显示输出-请看我答案中的第一行代码。2) 在我看来,一个简单的曲面图并不是可视化这类数据的最佳方式,这就是为什么我试图给你一个替代方案,以更清晰的方式显示周期性行为。
figure(); ribbon(Z(1:40:end,1:100:end));