matlab 矩阵相乘的问题

问题描述:

matlab 矩阵相乘的问题
我想定义一个函数 y=[ 1,x,x.^2 ]*[ 2;3;5 ] ,但是matlab报错.
出错信息:
>> x=linspace(1,10,10);
>> y=[ 1,x,x.^2 ]*[ 2;3;5 ]
Error using ==> mtimes
Inner matrix dimensions must agree.
请问如何解决?这里只是简化版,我要做的那个矩阵比较大,所以想要用矩阵相乘的语句减少代码量.我知道用syms x可以,但是出来的是表达式,虽然我可以把得到的表达式粘贴上去,但是我还是想知道有没有最直接的方法,不用先得出表达式再粘贴,而是直接用矩阵相乘的语句就可以定义这个函数了.
1个回答 分类:综合 2014-10-29

问题解答:

我来补答
我把其中的一段程序运行出来,你就明白了:
x=linspace(1,10,10)
z=[ 1,x,x.^2 ]
结果:
x =
1 2 3 4 5 6 7 8 9 10
z=
1 1 2 3 4 5 6 7 8 9 10 1 4 9 16 25 36 49 64 81 100
这样就不满足矩阵相乘的条件了,z矩阵是1*21
 
 
展开全文阅读
剩余:2000
上一页:求形状的题不会