matlab问题!Error using ==>

问题描述:

matlab问题!Error using ==>
matlab问题!
>> clear all
>> t=-1:0.02:1;
>> g=t*t;
Error using ==> mtimes
Inner matrix dimensions must agree.
这什么回事我初学者,照着书打的代码出这种问题,所用符号都是半角的,
1个回答 分类:综合 2014-10-11

问题解答:

我来补答
改成g=t*t';
t=-1:0.02:1;表示一个1*n的矩阵,你用t*t显然不符合矩阵乘法啊!
比如a=[1 2],b=[3 4],a乘以b你能写成a*b吗?显然不行,你要用a*b’(a乘以b的转置).
初学matlab一定要注意,matlab里的数据都以矩阵形式存储,尤其是运算时,一定要注意是不是满足矩阵运算!
比如下面这个程序就有问题:
n=0:36;
x=cos(2*pi*0.1*n/1.5);
z=0.42-0.5*cos(2*pi*1*(n+3)/37)+0.08*cos(4*pi*1*(n+3)/37);
c=x*z;
要把cc=x*z变成c=x.*z,因为它们是矩阵,要满足矩阵乘法.而c=x.*z则是点乘.
 
 
展开全文阅读
剩余:2000