这个是我写的一个计算的一部分
>> syms x y;z=sin(x)*sin(y)+20;zx=diff(z,x,1);zy=diff(z,y,1);n=[zx,zy,-1];I=[0;0;-1];cosi1=1/sqrt(zx^2+zy^2+1);sini1=sqrt(1-cosi1^2);sini2=sini1/1.33;cosi2=sqrt(1-sini2^2);tani1=sini1/cosi1;tani2=sini2/cosi2;tani1i2=(tani1-tani2)/(1+tani1*tani2);d=(sin(x)*sin(y)+20)*tani1i2;cosphy=zx/sqrt(zx^2+zy^2);sinphy=zy/sqrt(zx^2+zy^2);A=x-d*cosphy;B=y-d*sinphy;X=0:4*pi/100:4*pi;Y=0:4*pi/100:4*pi;[x,y]=meshgrid(X,Y);surf(x,y,A)??? Error using ==> surf at 70Z must be a matrix, not a scalar or vector.
请问哪里出错了?该如何修改?谢谢了
>> syms x y;z=sin(x)*sin(y)+20;zx=diff(z,x,1);zy=diff(z,y,1);n=[zx,zy,-1];I=[0;0;-1];cosi1=1/sqrt(zx^2+zy^2+1);sini1=sqrt(1-cosi1^2);sini2=sini1/1.33;cosi2=sqrt(1-sini2^2);tani1=sini1/cosi1;tani2=sini2/cosi2;tani1i2=(tani1-tani2)/(1+tani1*tani2);d=(sin(x)*sin(y)+20)*tani1i2;cosphy=zx/sqrt(zx^2+zy^2);sinphy=zy/sqrt(zx^2+zy^2);A=x-d*cosphy;B=y-d*sinphy;X=0:4*pi/100:4*pi;Y=0:4*pi/100:4*pi;[x,y]=meshgrid(X,Y);surf(x,y,A)??? Error using ==> surf at 70Z must be a matrix, not a scalar or vector.
请问哪里出错了?该如何修改?谢谢了

