MATLAB中如何生成对角线元素属于区间(0,1]的复数正定矩阵?

In MATLAB, how to generate a complex positive definite matrix whose diagonal elements belong to the interval (0,1]?

我目前正在使用以下代码生成大小为 n 的实数正定矩阵。

A = (mvnrnd(zeros(n,1), eye(n), n))';

如何生成具有所有对角线元素都在 (0,1] 之间的相同约束条件的复杂条目?

我尝试了一些东西并得到了这个:

A = (mvnrnd(zeros(n,1), eye(n), n))'
A = A+A'
A = A + 4*n*eye(n)
C = rand(n)
C=C-C'
D = A+i*C
chol(D)

使用您的分布参数生成随机 A 矩阵。使这个对称,在主对角线上添加元素,创建复杂的部分,对它们求和。这描述了获得正定义矩阵的 4sigma 概率区间。 但是我的方法有一个弱点——它基于对称和斜对称矩阵。你还好吗?