RandCondMat
Keine Lizenz
A = RANDCONDMAT(n, cond, options)
Generates a random n x n matrix with the condition number equal to cond.
A = RANDCONDMAT(...,'symmetric')
Generates a symmetric A.
A = RANDCONDMAT(...,'positive')
Generates a positive definite (either symmetric or not) A.
A = RANDCONDMAT(...,'norm', nrm)
Forces A's matrix norm to equal nrm. Defaults to 1.
This utility can be useful in various tests of numerical algorithms. Example:
n=100;
nchecks = 100
t=zeros(nchecks,1);
er=zeros(nchecks,1);
for i=1:nchecks;
cnd = 30*i;
A = RandCondMat(n,cnd,'symmetric','positive');
b= rand(n,1);
tic; x = pcg(A,b); t(i)=toc;
er(i) = norm(b - A*x);
end
plot ([er,1000*t]); legend('absolute error','time (ms)')
REMARK:
Do not make any assumptions about the distribution of the drawn matrices - specifically, it is not uniform with respect to the induced Lebesgue measure in R^(n^2). The most that can be said is that any matrix in a specified category (e.g., symmetric+positive) is reacheble in principle, using the implemented algorithms.
Zitieren als
Ofek Shilon (2024). RandCondMat (https://www.mathworks.com/matlabcentral/fileexchange/11782-randcondmat), MATLAB Central File Exchange. Abgerufen .
Kompatibilität der MATLAB-Version
Plattform-Kompatibilität
Windows macOS LinuxKategorien
Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Live Editor erkunden
Erstellen Sie Skripte mit Code, Ausgabe und formatiertem Text in einem einzigen ausführbaren Dokument.
Version | Veröffentlicht | Versionshinweise | |
---|---|---|---|
1.0.0.0 | warning remarks added, support for positive + non-symmetric restored (using a different algorithm). |