Why the function or variable A is not recognized?

1 visualización (últimos 30 días)
function [L, U] = lu_nopivot (A)
n = size(A, 1);
L = eye(n);
for k = 1 : n
L(k + 1 : n, k) = A(k + 1 : n, k) / A(k, k);
for l = k + 1 : n
A(l, :) = A(l, :) - L(l, k) * A(k, :);
end
end
U = A;
end

Respuesta aceptada

Walter Roberson
Walter Roberson el 26 de Mayo de 2022
You have not defined A in the base workspace, so it does not exist for you to be able to pass its value into the function.
  3 comentarios
Walter Roberson
Walter Roberson el 26 de Mayo de 2022
Example:
A = magic(11)
A = 11×11
68 81 94 107 120 1 14 27 40 53 66 80 93 106 119 11 13 26 39 52 65 67 92 105 118 10 12 25 38 51 64 77 79 104 117 9 22 24 37 50 63 76 78 91 116 8 21 23 36 49 62 75 88 90 103 7 20 33 35 48 61 74 87 89 102 115 19 32 34 47 60 73 86 99 101 114 6 31 44 46 59 72 85 98 100 113 5 18 43 45 58 71 84 97 110 112 4 17 30 55 57 70 83 96 109 111 3 16 29 42
[Lout, Uout] = lu_nopivot(A)
Lout = 11×11
1.0000 0 0 0 0 0 0 0 0 0 0 1.1765 1.0000 0 0 0 0 0 0 0 0 0 1.3529 2.0000 1.0000 0 0 0 0 0 0 0 0 1.5294 3.0000 -Inf 1.0000 0 0 0 0 0 0 0 1.7059 56.7436 Inf NaN 1.0000 0 0 0 0 0 0 0.1029 -5.0833 NaN NaN NaN 1.0000 0 0 0 0 0 0.2794 -4.0833 -Inf NaN NaN NaN 1.0000 0 0 0 0 0.4559 -3.0833 -Inf NaN NaN NaN NaN 1.0000 0 0 0 0.6324 2.7115 Inf NaN NaN NaN NaN NaN 1.0000 0 0 0.8088 3.7115 Inf NaN NaN NaN NaN NaN NaN 1.0000 0
Uout = 11×11
68.0000 81.0000 94.0000 107.0000 120.0000 1.0000 14.0000 27.0000 40.0000 53.0000 66.0000 0 -2.2941 -4.5882 -6.8824 -130.1765 11.8235 9.5294 7.2353 4.9412 2.6471 -10.6471 0 0 0 -121.0000 110.0000 0 0.0000 0 0 0 11.0000 NaN NaN NaN -Inf Inf NaN Inf NaN NaN NaN Inf NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
A2 = randi([-9 9], 11, 11)
A2 = 11×11
6 4 -8 2 3 1 3 9 2 -2 4 3 -9 4 1 4 4 -9 -8 -7 7 6 -9 -1 0 1 2 -3 9 2 -6 -6 1 -3 -8 6 2 -6 2 2 5 7 -2 -6 -8 -8 3 -9 -7 0 -2 7 -7 3 -6 -8 6 -7 4 -7 2 9 -3 -7 8 -8 -6 -9 3 -6 -3 0 -2 0 -9 -6 -4 -1 0 -4 6 -6 6 8 -5 2 3 4 1 4 1 -9 -8 -9 6 0 -3 9 7 -6 -4 -6 8 -8 9 -8 -7 -2 -8 -5
[Lout2, Uout2] = lu_nopivot(A2)
Lout2 = 11×11
1.0000 0 0 0 0 0 0 0 0 0 0 0.5000 1.0000 0 0 0 0 0 0 0 0 0 -1.5000 -0.4545 1.0000 0 0 0 0 0 0 0 0 -0.5000 0.5455 0.2826 1.0000 0 0 0 0 0 0 0 -1.3333 0.2424 1.1486 -5.8450 1.0000 0 0 0 0 0 0 -1.3333 -1.0303 1.1268 1.1550 -0.0040 1.0000 0 0 0 0 0 -1.0000 0.4545 1.0326 -4.3488 0.7409 -0.1543 1.0000 0 0 0 0 -0.1667 -0.0606 0.5797 2.1473 -0.1257 0.8994 -4.4725 1.0000 0 0 0 0.1667 -0.3030 -0.5688 -3.7752 0.5683 -1.2929 4.4751 0.1036 1.0000 0 0 -1.0000 0 1.6739 1.7674 0.0608 1.3914 8.6670 -1.8582 -1.2231 1.0000 0
Uout2 = 11×11
6.0000 4.0000 -8.0000 2.0000 3.0000 1.0000 3.0000 9.0000 2.0000 -2.0000 4.0000 0 -11.0000 8.0000 0 2.5000 3.5000 -10.5000 -12.5000 -8.0000 8.0000 4.0000 0 0 -8.3636 4.0000 7.6364 0.0909 8.7273 9.8182 -6.6364 -5.3636 8.8182 0 0 0 1.8696 -8.0217 0.5652 6.7609 13.5435 14.2391 -5.8478 -8.6739 0 0 0 0 -59.2636 3.6841 34.0388 89.9147 88.4554 -29.6260 -62.4632 0 0 0.0000 0 -0.0000 6.1988 -15.3254 -30.2266 -21.1917 26.2558 1.2876 0 0 0.0000 0 -0.0000 -0.0000 -1.4198 -7.8365 -3.3907 -5.5297 -2.1692 0 0 -0.0000 0 0.0000 -0.0000 0.0000 -35.5902 -9.8650 -33.2539 -0.2894 0 0 0.0000 0 -0.0000 0.0000 -0.0000 0.0000 -17.2532 65.6044 26.7188 0 0 -0.0000 0 0.0000 0.0000 0.0000 0.0000 0 40.9618 52.5214
function [L, U] = lu_nopivot (A)
n = size(A, 1);
L = eye(n);
for k = 1 : n
L(k + 1 : n, k) = A(k + 1 : n, k) / A(k, k);
for l = k + 1 : n
A(l, :) = A(l, :) - L(l, k) * A(k, :);
end
end
U = A;
end
Pierre Hansel Malihan
Pierre Hansel Malihan el 26 de Mayo de 2022
I see thank you very much sir, it was very helpful.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Characters and Strings en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by