Line 37: Parse error at A: usage might be invalid MATLAB syntax.
7 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Ques.) Use Householder's method to place the following matrices in tridiagonal form.

I had a basic code provided by the tutor which I adapted to the problem above. However, when I run the I get the error in Line 37(the second last line) - Parse error at A: usage might be invalid MATLAB syntax.
% Test with the given matrix
A = [4.75 2.25 -0.25; 2.25 4.75 1.25; -0.25 1.25 4.75];
hh_tridiag(A);
function hh_tridiag(A)
n = size(A, 1);
for k = 1:(n-2)
% Calculate t and alpha
t = sqrt(sum(A((k+1):end, k).^2));
if A(k+1, k) ~= 0
alpha = -sign(A(k+1, k)) * t;
else
alpha = -t;
end
% Calculate r and w
r = sqrt((alpha^2 - A(k+1, k) * alpha) / 2);
w = zeros(n, 1);
w(k+1) = (A(k+1, k) - alpha) / (2 * r);
for j = (k+2):n
w(j) = A(j, k) / (2 * r);
end
disp(['alpha = ', num2str(alpha), ', r = ', num2str(r), ', w = ', num2str(w')]);
% Calculate Householder matrix P
P = eye(n) - 2 * (w * w');
disp(['P^(', num2str(k), ') =']);
disp(P);
% Update A
A = P * A * P';
disp(['A^(', num2str(k+1), ') =']);
disp(A);
end
end
2 Kommentare
Dyuman Joshi
am 16 Mär. 2024
The code runs without any error (see the edit above).
Make sure if you are running this as a script, the function is placed at the bottom of the script.
Antworten (0)
Siehe auch
Kategorien
Mehr zu Logical finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!