matlab出现了Error using ==> times Matrix dimensions must agree.
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/18 09:54:36
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;
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:没试过,只是大体看了一下有这个错误,改过来之后如果还不对请再问.
希望可以帮到你
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:没试过,只是大体看了一下有这个错误,改过来之后如果还不对请再问.
希望可以帮到你
matlab出现了?Error using ==> times Matrix dimensions must agree
matlab出现了Error using ==> times Matrix dimensions must agree.
matlab Error using ==> mrdivide Matrix dimensions must agree
matlab出错Error using ==> times Matrix dimensions must agree.
matlab程序Error using ==> times Matrix dimensions must agree.
Matlab中出现Error using ==> *Inner matrix dimensions must agree
matlab---出现?Error using ==> times Matrix dimensions must agr
matlab--?Error using ==> mtimes Inner matrix dimensions must
Error using ==> mtimes Inner matrix dimensions must agree 用m
matlab:Error using ==> mtimes Inner matrix dimensions must a
matlab 出错Error using ==> mrdivide Matrix dimensions must agr
matlab中 Error using ==> mtimes Inner matrix dimensions must