
矩阵间的数乘以及乘方要加点:
Z=0.8*(1-X)+0.7444832*X*Y^(-1/2)*fix(4.65302*Y^(-1/2))改为
Z=0.8*(1-X)+0.7444832*X.*Y.^(-1/2)*fix(4.65302*Y.^(-1/2))
错误X, Y, Z, and C cannot be complex.是说X,Y,Z,C中有复数。
估计是你的y里面有小于零的数,所以Y有小于零的数,所以Y.^(-1/2)中含有复数。
解决办法是把 x 和 y 改为正数。
另外,矩阵间的数乘以及乘方要加点,表示对应矩阵的对应元素进行乘法或乘方运算。
修改后为
x=0:0.01:1;
x=0:0.01:1;
[X,Y]=meshgrid(x,y);
Z=0.8*(1-X)+0.7444832*X.*Y.^(-1/2)*fix(4.65302*Y.^(-1/2));
surf(X,Y,Z);
shading interp
