永发信息网

matlab中Error using ==> mtimes Inner matrix dimensions must agree.

答案:3  悬赏:30  手机版
解决时间 2021-11-12 16:57
  • 提问者网友:蔚蓝的太阳
  • 2021-11-12 06:56
matlab中Error using ==> mtimes Inner matrix dimensions must agree.
最佳答案
  • 五星知识达人网友:山河有幸埋战骨
  • 2021-11-12 08:17
那个你这是一个赋值表达式吧。
t是一个矩阵吧,如果将t=1,那么可以计算出M。
但是你的t如果是一个矩阵,那么计算结果就会出错了。
例如,t=0:0.1:1,就会出现这种情况。
这涉及到一个点乘和叉乘的问题,矩阵对应元素相乘就要用点乘,叉乘的矩阵相乘的结果而不是对应元素相乘。
因此,如果t=0:0.1:1,那么在M的表达式中加入dot表示点成,
改成:
M=1/8+29/88*exp(5/2*t).*cos(1/2*7^(1/2)*t)+129/616*exp(5/2*t).*sin(1/2*7^(1/2)*t)+6/11*exp(-2*t);
注意矩阵相加也是对应元素相加,因此不用加dot,但是如果是相乘或者相除的话就要加dot了。

说明:我已加点请注意对比一下。
全部回答
  • 1楼网友:神也偏爱
  • 2021-11-12 10:12
错误使用= = >以下等式:M乘以内矩阵尺寸必须一致
如果A是一个矩阵,则A^p是指A的p次幂,而A.^p是A的每个元素的p次方,其他'和.'、+和.+、-和.-、*和.*都是这样,一个是针对矩阵本身一个是元素
  • 2楼网友:洒脱疯子
  • 2021-11-12 09:46
syms t;
M=1/8+29/88*exp(5/2*t)*cos(1/2*7^(1/2)*t)+129/616*exp(5/2*t)*sin(1/2*7^(1/2)*t)+6/11*exp(-2*t)

M =

(6*exp(-2*t))/11 + (29*exp((5*t)/2)*cos((7^(1/2)*t)/2))/88 + (129*exp((5*t)/2)*sin((7^(1/2)*t)/2))/616 + 1/8
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯