I have two sets of values, A and B. and I would to write a Heaviside function such that it returns 0, when A is less than B, and returns 1, when A is greater than B.

 Akzeptierte Antwort

Star Strider
Star Strider am 19 Feb. 2018

0 Stimmen

I am not certain what result you want.
Try this:
A = randi([2 3], 1, 30); % Create ‘A’
B = randi([2 3], 1, 30); % Create ‘B’
T = 1:numel(A); % Create Time Reference
HF = @(a,b) (a > b); % Function
figure(1)
plot(T, A, T, B)
hold on
plot(T, HF(A,B), 'LineWidth',2)
hold off
ylim = [-0.1 3.1];
legend('A', 'B', 'HF(A,B)', 'Location','E')

4 Kommentare

Brian
Brian am 19 Feb. 2018
Thanks Star. My result would 1 or 0 depending on my input (as described in the question). Thanks again!
Star Strider
Star Strider am 19 Feb. 2018
My pleasure.
My code does what you described in your question.
Please run it. If it does not produce the result you want, please provide an example of sample inputs and desired output.
Brian
Brian am 19 Feb. 2018
The code runs perfectly. Thank you
Star Strider
Star Strider am 19 Feb. 2018
My pleasure.
If my Answer helped you solve your problem, please Accept it!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Numerical Integration and Differential Equations finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by