[讨论] 请问 关于‘Error using *’如何处理?

楼主: Ecampus (7.7)   2017-10-07 11:10:21
我code如下
t=0:1:160
t'
x=1700
D=390
M=1e+09
C = (M/4900.884539/t'.^0.5) * exp(-x.^2 /4 / D / t')
然后要求出C的时候
matlab跳出
‘Error using /
Matrix dimensions must agree.’
========================
我试过 把t'改成t 也跑不出来 照样跳出" Error using * "的结果
尝试多次其他改变 也一样
但我发现如果 把x跟t这两样参数互换 把t的参数当x输入 把x的参数当t输入
居然可以正常run =.="
作者: LiamIssac (Madchester)   2017-10-07 11:15:00
不是 .* 就是矩阵的维度没对t'是?
作者: Steven0422 (Steven)   2017-10-07 12:25:00
都跟你说维度错误了
作者: Mizar (弥瑟尔)   2017-10-07 16:36:00
这不是矩阵类型 为什么要考虑维度?
作者: LiamIssac (Madchester)   2017-10-07 21:02:00
t是阵列 所以要用.* 除非原po改成for loop
作者: s871526117 (安安)   2017-10-07 23:44:00
matlab里面*和.*不一样,原PO的状况会变成一个1*n乘上1*n的矩阵乘法,会出问题还用.*才能一个元素对一个元素乘喔
楼主: Ecampus (7.7)   2017-10-08 00:13:00
喔喔 原来是这样 已修正THX Q_Q

Links booklink

Contact Us: admin [ a t ] ucptt.com