发布网友 发布时间:2022-05-15 00:49
共2个回答
热心网友 时间:2023-11-17 05:18
x=-8:0.5:8;表示从-8到8以步长(间隔)0.5取数生成行数组(一行共33个数,-8 -7.5 -7.0......7.0 7.5 8)。y=x';表示y为x的转置,生成列数组(一列共33个数,与x值一样)。X=ones(size(y))*x; 中,ones函数用于生成全一数组(即数组中全部元素都是1),size(y)表示求取y的大小,其值应为[33 1];ones(size(y))就是生成一个33×1的全一列数组,X=ones(size(y))*x就是用33×1的全一列数组与行数组x做矩阵乘法,得到X为33×33的二维数组(每一行都是33个数,-8 -7.5 -7.0......7.0 7.5 8,总共33行);同理,Y也为33×33的二维数组(每一列都是33个数,-8 -7.5 -7.0......7.0 7.5 8,总共33列);R=sqrt(X.^2+Y.^2)+eps;中X.^2表示对X做数组乘方运算,即对X中的每一个元素做平方,sqrt表示开平方,eps表示机器浮点运算误差限,是一个很小的值 2^(-52),在此其作用在于不让下一步的运算(Z=sin(R)./R;)产生分母为零的情况;Z=sin(R)./R;中sin表示求正弦值,sin(R)./R表示求取R的正弦值后与R再做数组除法,即两数组对应元素一一对应做除法;mesh(Z);表示绘制Z数组的网格线条三维图像;colormap([1,0,0])表示绘图所用的色标,在这里第一个值为1应该是红色([0,10]表示绿色;[0,0,1]表示蓝色)。这个解释已经很详细了,我想不会有人再不计麻烦的打这么多字了,如还有疑问可参考matlab的帮助文档和相关参考书,编程还得靠自己钻研,类似程序分析的提问一般很难得到回答的。祝你学习进步!热心网友 时间:2023-11-17 05:19
具体哪儿不懂?