Calculo numérico: Método de Cholesky
14 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Definir una matriz A ∈ R n×n, como:

donde h es el tamaño del paso, y n se define como n = (1/h) − 1.
Y un vector b ∈ R n, definido como: 

Estas definiciones corresponden a la discretización del siguiente problema de valores de frontera:

1. Escriba una función que reciba como entrada un valor para h y devuelva la matriz A y el vector b correspondientes.
2. Llame a la función escrita en el apartado anterior con h = 0.1. Verifique si A es simétrica y definida positiva utilizando el comando chol para obtener la factorización de Cholesky de A.
3. Resuelva el sistema Au = b utilizando la factorización de Cholesky de A. El vector solución u representa una aproximación a los valores de la solución de u(x) en los puntos h, 2h, . . . , nh.
a) Grafique, en un mismo gráfico:
• La solución aproximada u, extendida con los valores de u(0) = 0 y u(1) = 1.
• La solución analítica u(x) = 2(x^2) − 2x + 1, evaluada en 100 puntos igualmente espaciados en el intervalo [0, 1].
3 Commenti
Walter Roberson
il 1 Dic 2024
[R,flag] = chol(A);
if flag == 0
fprintf('A was symmetric positive definite\n');
else
fprintf('A not symmetric positive definite. Pivot failed at location %d\n', flag);
end
Risposte (0)
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!