Heaviside function in Matlab.

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.

 Accepted Answer

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 Comments

Thanks Star. My result would 1 or 0 depending on my input (as described in the question). Thanks again!
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.
The code runs perfectly. Thank you
My pleasure.
If my Answer helped you solve your problem, please Accept it!

Sign in to comment.

More Answers (0)

Categories

Find more on Numerical Integration and Differential Equations in Help Center and File Exchange

Asked:

on 19 Feb 2018

Commented:

on 19 Feb 2018

Community Treasure Hunt

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

Start Hunting!