sym 转化double

clear;clc;
x = -4:0.01:4;
y = -4:0.01:4;
[X,Y] = meshgrid(x,y);
syms x y
g = atan(y.(pinv(x));
g1 = atan(y.
(pinv(x+1)));
g2 = atan(y.(pinv(x-1)));
r = (x.^2+y.^2).^0.5;
r1 = ((x+1).^2+y.^2).^0.5;
r2 = ((x-1).^2+y.^2).^0.5;
ux = -13/50
(0.4*((r1.r2).^0.5.cos((g1+g2)/2)-r.cos(g))-r.^2.pinv((r1.r2).^0.5).sin(g).sin(g-(g1+g2)/2));
ax = diff(ux,x);
ay = diff(ux,y);
axy = 0.5
(ax+ay);
bx = (50/5.2)
(0.7
ax+0.3
ay);
by = (50/5.2)
(0.7
ay+0.3
ax);
bxy = (50/5.2)0.4axy;
c1 = 0.5*(bx+by)+[bxy.^2+0.25*((bx-by).^2)]^0.5;
c2 = 0.5*(bx+by)-[bxy.^2+0.25*((bx-by).^2)]^0.5;
cxy = 0.5*(c1+c2);
figure
mesh(X,Y,c1)

无法将sym转化为double,不满足mesh条件出不了图,试了其他函数等等依然转不过来,有谁帮指示一下吗?因为是初学,基础不好

img

我想知道的是这种求导之后,sym如何转化成double,之前x和y在没有sym之前,ux的值也是801×801double,现在所有算出来的都是sym

c1现在算出来只是个标量,是否正确?mesh的参数必须都得是大小一致的向量,先学习一下mesh的使用方法。