Borrar filtros
Borrar filtros

Compare elements from two matrix.

1 visualización (últimos 30 días)
Nikita Zyk
Nikita Zyk el 13 de Mayo de 2020
Comentada: Nikita Zyk el 15 de Mayo de 2020
Hi!
I want to compare elements for two matrix and then create another matrix with maximal element (comparing abs(x1) i abs(x2), not x1 i x2).
I wrote this:
But maybe it's possible to do it quicker and more efficient?
for i = 1:numel(x1)
if (abs(x1(i)) > abs(x2(i)))
x(i) = x2(i);
else
x(i) = x1(i);
end
end

Respuesta aceptada

Tommy
Tommy el 13 de Mayo de 2020
How about this?
x = x1;
idx = abs(x1) < abs(x2);
x(idx) = x2(idx);
  6 comentarios
Tommy
Tommy el 14 de Mayo de 2020
Ah okay thank you for the explanation!
It's not very pretty, but how well does this do?
function x = minroot(a,b,c)
sdel = sqrt(b.^2 - 4*a.*c);
idx = b < 0;
x(idx) = 2*c(idx)./(-b(idx) + sdel(idx));
x(~idx) = (-b(~idx) - sdel(~idx))./(2*a(~idx));
x2(~idx) = 2*c(~idx)./(-b(~idx) - sdel(~idx));
x2(idx) = (-b(idx) + sdel(idx))./(2*a(idx));
idx = abs(x) > abs(x2);
x(idx) = x2(idx);
end
Nikita Zyk
Nikita Zyk el 15 de Mayo de 2020
It's good! Thank you so much! ;)

Iniciar sesión para comentar.

Más respuestas (1)

Olawale Ikuyajolu
Olawale Ikuyajolu el 13 de Mayo de 2020
new_matrix = max(abs(x1),abs(x2);
  3 comentarios
Nikita Zyk
Nikita Zyk el 13 de Mayo de 2020
Unfortunetly, it has less efficiency. ;(

Iniciar sesión para comentar.

Categorías

Más información sobre Line Plots 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