matlab出现了Error using ==> times Matrix dimensions must agree.程序怎么改啊,呜呜?这是我的程序s=0:2*pi;t=0:pi;r=10000;x=r.*cos(s);y=r.*sin(s).*cos(t);z=r.*sin(s).*cos(t);surf(x,y,z);[x,y,z] = sphere(30);grid on;shading flat;axis equal
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/28 10:51:09
![matlab出现了Error using ==> times Matrix dimensions must agree.程序怎么改啊,呜呜?这是我的程序s=0:2*pi;t=0:pi;r=10000;x=r.*cos(s);y=r.*sin(s).*cos(t);z=r.*sin(s).*cos(t);surf(x,y,z);[x,y,z] = sphere(30);grid on;shading flat;axis equal](/uploads/image/z/12521982-30-2.jpg?t=matlab%E5%87%BA%E7%8E%B0%E4%BA%86Error+using+%3D%3D%3E+times+Matrix+dimensions+must+agree.%E7%A8%8B%E5%BA%8F%E6%80%8E%E4%B9%88%E6%94%B9%E5%95%8A%2C%E5%91%9C%E5%91%9C%3F%E8%BF%99%E6%98%AF%E6%88%91%E7%9A%84%E7%A8%8B%E5%BA%8Fs%3D0%3A2%2Api%3Bt%3D0%3Api%3Br%3D10000%3Bx%3Dr.%2Acos%28s%29%3By%3Dr.%2Asin%28s%29.%2Acos%28t%29%3Bz%3Dr.%2Asin%28s%29.%2Acos%28t%29%3Bsurf%28x%2Cy%2Cz%29%3B%5Bx%2Cy%2Cz%5D+%3D+sphere%2830%29%3Bgrid+on%3Bshading+flat%3Baxis+equal)
matlab出现了Error using ==> times Matrix dimensions must agree.程序怎么改啊,呜呜?这是我的程序s=0:2*pi;t=0:pi;r=10000;x=r.*cos(s);y=r.*sin(s).*cos(t);z=r.*sin(s).*cos(t);surf(x,y,z);[x,y,z] = sphere(30);grid on;shading flat;axis equal
matlab出现了Error using ==> times Matrix dimensions must agree.程序怎么改啊,呜呜?
这是我的程序
s=0:2*pi;
t=0:pi;
r=10000;
x=r.*cos(s);
y=r.*sin(s).*cos(t);
z=r.*sin(s).*cos(t);
surf(x,y,z);
[x,y,z] = sphere(30);
grid on;
shading flat;
axis equal
matlab出现了Error using ==> times Matrix dimensions must agree.程序怎么改啊,呜呜?这是我的程序s=0:2*pi;t=0:pi;r=10000;x=r.*cos(s);y=r.*sin(s).*cos(t);z=r.*sin(s).*cos(t);surf(x,y,z);[x,y,z] = sphere(30);grid on;shading flat;axis equal
很明显是逻辑错误.
s 是0:2*pi ; t 是0:pi 他们都是默认步长 那么 s 比 t 长一倍(解释的有点俗)
但是这里
y=r.*sin(s).*cos(t);
z=r.*sin(s).*cos(t);
因为 s 和 t 的原因 sin(s) 和 cos(t)值的个数不一样(就是序列长度不一致),所以没法乘,所以报错.
解决办法:
办法就是让 s 和 t 序列长度一致,可以改步长,比如s=0:0.01:2*pi; t=0:0.005:pi; 那么现在就可以了.
ps:没试过,只是大体看了一下有这个错误,改过来之后如果还不对请再问.
希望可以帮到你