发布网友
共2个回答
热心网友
为什么matlab中出现维度不一致的错误,什么时候加点什么时候不加点?又该怎么实现三维图的绘制?
这个问题我们可以分下列几个方面来说明:
一、为什么matlab中出现维度不一致的错误
出现这样问题的原因有,给出的数据长度不统一;数组变量同时出现行向量和列向量;数组运算没有使用好点运算符(这个是题主出现问题的主要原因)
二、什么时候加点什么时候不加点?
什么时候加点,当表达式带有数组变量运算符前需加点,根据题主提供的函数表达式,经分析使用的点运算符不完整,应为
s5=(sin(ay).*(cos(ay).^2./(cos(ay).^2.*cos(az).^2 - cos(az).^2 + 1).^2 + 1).^(1/2))./(cos(ay).*(sin(az).^2./(cos(ay).^2.*cos(az).^2) + 1))
三、怎么实现三维图的绘制?
1、确定ay、az的范围
ay=-10:10;az=-10:10;
2、对ay、az进行数据网格化
[ay,az]=meshgrid(ay,az);
3、计算s5值
4、使用surf函数,绘制其三维曲面图
5、标注坐标轴名称
xlabel('ay');ylabel('az');zlabel('s5');
6、运行结果
热心网友
当x,y,z个数不同,也就是维数不同时,可这样:
x=linspace(1,5,20);y=linspace(2,7,30);[x,y]=meshgrid(x,y);z=1./(x.^2+y.^2);mesh(x,y,z)
这样就能出图.且在乘,除,乘方,开方运算上加点.