早教吧 育儿知识 作业答案 考试题库 百科 知识分享

求解释matlab语言,看不懂什么意思,>x=-8:0.5:8;y=x';X=ones(size(y))*x;Y=y*ones(size(x));R=sqrt(X.^2+Y.^2)+eps;Z=sin(R)./R;mesh(Z);colormap([1,0,0])

题目详情
求解释matlab语言,看不懂什么意思,>x=-8:0.5:8;y=x';X=ones(size(y))*x;Y=y*ones(size(x));R=sqrt(X.^2+Y.^2)+eps; Z=sin(R)./R; mesh(Z); colormap([1,0,0])
▼优质解答
答案和解析
x=-8:0.5:8;表示从-8到8以步长(间隔)0.5取数生成行数组(一行共33个数,-8-7.5-7.0......7.07.58)。y=x';表示y为x的转置,生成列数组(一列共33个数,与x值一样)。X=ones(size(y))*x;中,ones函数用于生成全一数组(即数组中全部元素都是1),size(y)表示求取y的大小,其值应为[331];ones(size(y))就是生成一个33×1的全一列数组,X=ones(size(y))*x就是用33×1的全一列数组与行数组x做矩阵乘法,得到X为33×33的二维数组(每一行都是33个数,-8-7.5-7.0......7.07.58,总共33行);同理,Y也为33×33的二维数组(每一列都是33个数,-8-7.5-7.0......7.07.58,总共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的帮助文档和相关参考书,编程还得靠自己钻研,类似程序分析的提问一般很难得到回答的。祝你学习进步!