Matlab中出现Error using ==> *Inner matrix dimensions must agree

学习 时间:2026-04-01 13:26:32 阅读:7553
Matlab中出现Error using ==> *Inner matrix dimensions must agree.程序如下:m=0:pi/50:2*pi;n=0:pi/50:pi;hold onNo=150;xn=1000*rand(No,1);yn=1000*rand(No,1);zn=1000*rand(No,1);v=109.88;t=-1;while t

最佳回答

贪玩的康乃馨

有魅力的航空

2026-04-01 13:26:32

x=r*sin(n)*cos(m)+xn(i);语句中,sin(n)和cos(m)中的n、m是个数组,当然会出现数组维数不一致的现象了。可以改为:x=r*sin(n(i, 1))*cos(m(i, 1))+xn(i);但是,您在语句m=0:pi/50:2*pi;n=0:pi/50:pi;中,规定的m、n数组的长度也不一致,要统一过来。其他的几行语句按上述方法修改就可以了。 再问: 改过后又出现???Index exceeds matrix dimensions。 指数超过矩阵维。是什么情况? 再答: 试一下以下程序,原程序中,m、n是列向量,其他数据是行向量,当然会出错了,还有plot命令只能绘制2维图像,不能绘制3维图像的。matlab是基于矩阵的运算,编程时要注意统一矩阵和向量的形式。 clear all; clc; m=0:pi/50:2*pi; n=0:pi/50:2*pi; hold on No=length(m); xn=1000*rand(No,1); yn=1000*rand(No,1); zn=1000*rand(No,1); x(No,1) = 0。0; y(No,1) = 0。0; z(No,1) = 0。0; m=m'; n=n'; v=109。88; t=-1; while t

最新回答共有2条回答

  • 干净的太阳
    回复
    2026-04-01 13:26:32

    x=r*sin(n)*cos(m)+xn(i);语句中,sin(n)和cos(m)中的n、m是个数组,当然会出现数组维数不一致的现象了。可以改为:x=r*sin(n(i, 1))*cos(m(i, 1))+xn(i);但是,您在语句m=0:pi/50:2*pi;n=0:pi/50:pi;中,规定的m、n数组的长度也不一致,要统一过来。其他的几行语句按上述方法修改就可以了。 再问: 改过后又出现???Index exceeds matrix dimensions。 指数超过矩阵维。是什么情况? 再答: 试一下以下程序,原程序中,m、n是列向量,其他数据是行向量,当然会出错了,还有plot命令只能绘制2维图像,不能绘制3维图像的。matlab是基于矩阵的运算,编程时要注意统一矩阵和向量的形式。 clear all; clc; m=0:pi/50:2*pi; n=0:pi/50:2*pi; hold on No=length(m); xn=1000*rand(No,1); yn=1000*rand(No,1); zn=1000*rand(No,1); x(No,1) = 0。0; y(No,1) = 0。0; z(No,1) = 0。0; m=m'; n=n'; v=109。88; t=-1; while t

上一篇 若a为有理数,且绝对值a等于-a,那么a是什么数?

下一篇 编写Application程序,接受用户输入的一段英文文字后,输出其中的字符数、单词数和句子数