Vector. Change the way my program gives me the answer.

1 vue (au cours des 30 derniers jours)
Julen Vicente Pipaon
Julen Vicente Pipaon le 21 Fév 2021
This program gives me the answer like this : c =
-3
c =
4
But I want the answer like this: c =
-3 4
The program:
v = [1 2 -3 4];
n = 1;
l = length (v);
while (n < l)
a = v(n);
b = v(n+1);
n = n+1;
if (a < 0 && b > 0)||(a > 0 && b < 0)
c = [b]
end
end

Réponse acceptée

Walter Roberson
Walter Roberson le 21 Fév 2021
v = [1 2 -3 4];
n = 1;
l = length (v);
while (n < l)
a = v(n);
b = v(n+1);
if (a < 0 && b > 0)||(a > 0 && b < 0)
c(n) = b;
else
c(n) = nan;
end
n = n+1;
end
c
c = 1×3
NaN -3 4

Plus de réponses (2)

Paul Hoffrichter
Paul Hoffrichter le 21 Fév 2021
v = [1 2 -3 4];
n = 1;
l = length (v);
ii = 1;
c = [];
while (n < l)
a = v(n);
b = v(n+1);
n = n+1;
% if (a < 0 && b > 0)||(a > 0 && b < 0)
if sign(a) ~= sign(b)
c(ii) = [b];
ii = ii + 1;
end
end
disp(c);

Paul Hoffrichter
Paul Hoffrichter le 21 Fév 2021
v = [1 2 -3 4];
v( diff( sign( [v(1) v] ) ) ~= 0 )
ans =
-3 4

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by