我是matlab的新手。但我确实有编码c ++,java和所有知识的知识。但是,请记住,我也不是那些专业人士。只是一个初学者。
所以..我在基于matlab的系统上工作。而且我有点困在如何在matlab中编写复杂的公式。我已经提供了算法,只是我真的不知道如何在matlab中编写它。该系统与图像识别有关。
*μ= 1 /MNΣ(i = 1)^M▒Σ(j = 1)^N▒Pij*(我直接从MsWord复制了这个,因为我无法发布图像)
我真的很感激帮助。 提前谢谢。
答案 0 :(得分:1)
在我看来,你只想平均矩阵P中的所有值。
要按字面意思执行公式中的内容,您可以使用
mu = 1/(size(P,1)*size(P,2)) *sum(sum(P));
对于任何矩阵P
,size(P,dim)沿指定维度返回其大小,即M
或N
dim=1
或2
}。对于矩阵,sum
将返回矩阵的每一列的值之和的向量,应用于向量的sum
返回其所有元素的总和。
但是,同样可以更容易实现:
mu = mean(P(:));
其中P(:)
是P被视为单列。 mean(P)
会再次计算P
每列的平均值(因此,mean(mean(P))
是另一种获得P
所有元素均值的方法。
修改:如果M
和N
的大小不是给定维度的P
,即如果您只想考虑前M行和前N列,使用P(1:M,1:N)
来引用相关的子矩阵。
答案 1 :(得分:0)
用于总和和产品的循环(没有双关语)。在synthax的提示中键入“help for”。
使用变量来保存这些总和和产品的结果,以及可选的其他可分离的子表达式。