作业帮 > 综合 > 作业

请高手解释一下matlab三维图形的画图问题

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/05 10:05:56
请高手解释一下matlab三维图形的画图问题
想画一个函数的三维图形
z=x^2*(1-x-y)
然后写程序为:
[x y]=meshgrid(0:.01:1,0:.01:1);
>> z=x.^2*(1-x-y);
>> mesh(x,y,z)
画出来的就是上图的平面,明显错误!
把函数的乘法前后换了个顺序
>> z=(1-x-y).*x.^2;
>> mesh(x,y,z)
图形就变成下图的曲面
被这个问题已经困扰2天2天啦!
应该用后面的,主要是“*”和“.*”的区别,前者是主要是数字或变量相乘时用的,用于矩阵时和线性代数上矩阵相乘一样;后者主要用于矩阵相乘,与在线性代数上的矩阵相乘不同,是相对应位置的数字相乘;
在画图时,因为变量都是以一定间隔取的具体数字,可以看成是一维矩阵,应该用“.*”,其实若将上面那个式子z=x.^2*(1-x-y)改为z=x.^2.*(1-x-y),结果和下边是一样的.