matlab zeros和size的用法

2024-12-17 23:33:28
推荐回答(1个)
回答1:

1、Aij = zeros(ncomp, ncomp); 这里为什么要用zeros?
目的是预分配矩阵内存。这里需要将Aij初始化为一个ncomp行ncomp列的矩阵,所以就用zeros将其全部元素设为0了,下一行循环计算中再将每个元素设置为需要的值。当然你也可以用ones()将其全部设置为1。

size()函数用于获取矩阵的行、列数,ncomp = size(comp,1);中表示获取comp的行数,同理ncomp = size(comp,2);位获取列数。

2、Amix = comp'*Aij*comp; 这里为啥要转置啊?
这个不是程序的问题,转置与否取决于你的数学问题。