【问题标题】:MATLAB - Only plot a spherical section of data set which is cubicMATLAB - 仅绘制立方数据集的球形部分
【发布时间】:2015-05-08 20:37:55
【问题描述】:

我有一个物理模型,可以模拟球坐标中物体周围 5000 公里半径内的一些事物。我发现没有办法在 MATLAB 中插入球坐标,所以我用 sph2cart 函数将它们更改为笛卡尔坐标。然后我使用带有 10000 x 10000 x 10000 公里网格的分散插值函数来插值数据。我想绘制这些数据,但只绘制半径 5000 公里的球体。有没有很好的方法来绘制特定数量的数据?

【问题讨论】:

    标签: matlab plot interpolation


    【解决方案1】:

    如果您只想“球形”删除部分数据,您可以这样做

    作为 x,y,z 您的几何数据和 v 值:

    level=5000; %km (or whatever value it is in your data)
    V(sqrt(X.^2+Y.^+Z.^2)>level)=0;
    
    %or depending in the plotting functions.
    
    V(sqrt(X.^2+Y.^+Z.^2)>level)=NaN; 
    
    % plot things
    

    【讨论】:

    • 不,问题是scatterinterpolant 函数会推断球体之外的所有内容,它非常不准确,这就是为什么我不希望它显示在图上的原因。请参阅接下来的两个链接了解我现在拥有的情节imageupload.co.uk/image/ZPAaimageupload.co.uk/image/ZPAN
    • 我的代码中已经将设置值设置为零选项,但是当您想以对数刻度绘制时,您会遇到错误,但我从未想过 NaN !非常感谢:D
    • @Terranees 顺便说一句,那里有很棒的情节。这看起来真的很科学
    • 仅供参考 - 火卫一(火星月亮)位于中心并被太阳风粒子击中。由于这些太阳风粒子,它会从表面丢失粒子。这些丢失的粒子受到重力等力的影响,并在它们离开时跟随,这就是图中所显示的内容:)顺便说一句,在更高的分辨率和现在的样子上做了一个很好的图,再次感谢:D imageupload.co.uk/image/ZPPH跨度>
    猜你喜欢
    • 1970-01-01
    • 2018-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-28
    • 2011-02-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多