能不能帮我检查一下:>> x=[0:0.01*pi:pi]; >> y=exp(0.3*x)*cos(0.5*x) 这个MATLAB语句有什么错误?输入后下面直接显示“? Error using ==> mtimesInner matrix dimensions must agree.”了

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/08 18:11:09

能不能帮我检查一下:>> x=[0:0.01*pi:pi]; >> y=exp(0.3*x)*cos(0.5*x) 这个MATLAB语句有什么错误?输入后下面直接显示“? Error using ==> mtimesInner matrix dimensions must agree.”了
能不能帮我检查一下:>> x=[0:0.01*pi:pi]; >> y=exp(0.3*x)*cos(0.5*x) 这个MATLAB语句有什么错误?
输入后下面直接显示“? Error using ==> mtimes
Inner matrix dimensions must agree.”了

能不能帮我检查一下:>> x=[0:0.01*pi:pi]; >> y=exp(0.3*x)*cos(0.5*x) 这个MATLAB语句有什么错误?输入后下面直接显示“? Error using ==> mtimesInner matrix dimensions must agree.”了
你是要对X中的每个元素按y的表达式进行计算吗?那就要用点乘了,即
y=exp(0.3*x).*cos(0.5*x)

改成这样:
y=exp(0.3*x).*cos(0.5*x) ,即乘号之间需要加个点,matlab里面向量之间的乘除运算间需要加点。这是规则而已。乘号为.* ,除号为:./

y=exp(0.3.*x).*cos(0.5.*x)
这就可以了。

你的exp(0.3*x)是一维数组,cos(0.5*x)同样是一维数组,两个都是横行的不能相乘,你可以试试用for语句让他们一个一个的相乘

x=[0:0.01*pi:pi]; 产生一个矩阵
exp(0.3*x)和cos(0.5*x) 分别产生一个矩阵,这两个矩阵都是一行n列,不可以直接做矩阵的乘法,你要算对每个x,y的值,应该改成 y=exp(0.3*x).*cos(0.5*x) (把*改成.*)