How to find pythagorean triangle's hypotenuse in a matrix?
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Ashfaq Ahmed
el 8 de Nov. de 2021
Respondida: Sean de Wolski
el 8 de Nov. de 2021
Hey guys,
I have two 4x4 matrices a and b. I want a third c matrix of 4x4 size where all the values will be c = sqrt(a.^2+b.^2).
For example, the first row of c will be [13 10 13 5];
How can I do this using a for loop?
a = [5 8 12 3; 8 12 63 20; 9 84 144 20; 24 11 15 180];
b = [12 6 5 4; 15 35 16 21; 40 13 17 99; 7 60 112 19];
0 comentarios
Respuesta aceptada
C B
el 8 de Nov. de 2021
a = [5 8 12 3; 8 12 63 20; 9 84 144 20; 24 11 15 180];
b = [12 6 5 4; 15 35 16 21; 40 13 17 99; 7 60 112 19];
c=[];
for i =1 : size(a,1)
c(i,:) = sqrt(a(i,:).^2+b(i,:).^2)
end
0 comentarios
Más respuestas (2)
Sean de Wolski
el 8 de Nov. de 2021
This will be the most numrically stable.
a = [5 8 12 3; 8 12 63 20; 9 84 144 20; 24 11 15 180];
b = [12 6 5 4; 15 35 16 21; 40 13 17 99; 7 60 112 19];
hypot(a,b)
0 comentarios
Chunru
el 8 de Nov. de 2021
Editada: Chunru
el 8 de Nov. de 2021
a = [5 8 12 3; 8 12 63 20; 9 84 144 20; 24 11 15 180];
b = [12 6 5 4; 15 35 16 21; 40 13 17 99; 7 60 112 19];
c = sqrt(a.^2 + b.^2)
% Using for loops should be avoid for such problem in matlab
c = zeros(size(a));
for i=1:size(a,1)
for j=1:size(a, 2)
c(i,j) = sqrt(a(i,j)^2 + b(i,j)^2);
end
end
c
2 comentarios
Chunru
el 8 de Nov. de 2021
MATLAB excels on the matrix computations. "c = sqrt(a.^2 + b.^2)" is much neater and more efficient that the codes with loops.
Ver también
Categorías
Más información sobre Logical en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!