如何在Scilab中绘制e^(-y)*cos(x)曲面?绘图不符求助
解决Scilab绘制e^(-y)*cos(x)曲面与GeoGebra不符的问题
问题核心是元素级指数运算的语法错误:Scilab中对矩阵每个元素做指数运算需用.^(点幂运算符),你代码里的^是矩阵乘法意义下的幂运算,会导致计算结果完全偏离预期。
修正后的代码如下:
x = [-10:0.1:10]; y = [-10:0.1:10]; [X,Y] = meshgrid(x,y); Z = (%e).^(-Y) .* cos(X); // 将%e^(-Y)改为(%e).^(-Y) surf(X,Y,Z, 'facecol','blue','edgecol','black');
关键说明:
(%e).^(-Y):对Y矩阵的每一个元素单独计算e的负该元素次方,完全匹配数学表达式e^(-y)的运算逻辑。- 原代码中的
%e^(-Y)会把-Y当作矩阵来计算矩阵幂(仅当矩阵为方阵时有效,且结果和数学期望完全无关),这就是曲面形态错误的根源。
运行修正后的代码,即可得到与GeoGebra一致的曲面效果。
内容的提问来源于stack exchange,提问作者Isadora Caetano
相关产品推荐
相关产品推荐

