RandCondMat

Generates a random square matrix of given size, condition number, and optionally - norm.
1,2K descargas
Actualizado 17 ago 2006

Sin licencia

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.

Citar como

Ofek Shilon (2024). RandCondMat (https://www.mathworks.com/matlabcentral/fileexchange/11782-randcondmat), MATLAB Central File Exchange. Recuperado .

Compatibilidad con la versión de MATLAB
Se creó con R2006a
Compatible con cualquier versión
Compatibilidad con las plataformas
Windows macOS Linux
Categorías
Más información sobre Creating and Concatenating Matrices en Help Center y MATLAB Answers.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Versión Publicado Notas de la versión
1.0.0.0

warning remarks added, support for positive + non-symmetric restored (using a different algorithm).