具有符号变量的4D中的Matlab图形

时间:2017-02-08 18:49:56

标签: matlab symbolic-math

我有以下等式:

FindBurrow = .3*log(x+2)-.2
DistEffect= normpdf(y,0,6) + 0.92
VegEffect = -.006*z+1
Detection = FindBurrow*DistEffect*VegEffect

我想将检测功能可视化为4-D可视化的一部分。第四个维度将是代表检测的颜色。我看到如果我的矩阵具有真实的x,y,z值,我可以做到这一点,但我目前还没有。

我尝试使用以下内容将我的符号x,y,z值转换为真实100 x 100矩阵,但它似乎无法正常工作。

%% Conversion to "Real" Numbers
syms f(x,y,z)
f(x,y,z) = Detection;
[x,y] = ndgrid(linspace(1/10,50), linspace(1/10, 50))
z] = ndgrid(linspace(1/10,50), linspace(1/10, 50))
g = matlabFunction(Detection);
DetKernel = real(g(x,y,z)) 
%% Graphing the IPM
figure
surf(x,y,z,DetKernel) % surface map
clear title xlabel ylabel %Clears old runs index
xlabel ('Burrow Size') %x-axis label
ylabel('Distance From Line') %y-axis label
zlabel('Vegetation Effect') %z-axis label
cb = colorbar;
cb.Label.String = 'Probability of Detection';

我怀疑这是由于缺乏如何定义x,y,z值的知识,使它们像网格点一样,Matlab将用它来制作曲面或网格。图形部分似乎工作正常,只是根据X Y,Y Z,Z * X方程的实验绘图,没有形成我期望的形状。

简而言之,我有两个问题:1。我可以使用符号变量绘制4D图吗? 2.如果没有,我如何在不弄乱数据的情况下转换为实数?

作为参考,x将介于0和55之间,y介于0和25之间,z介于0和160之间。

0 个答案:

没有答案