Graph appears blank but the equation and code are correct.

1 view (last 30 days)
Hi,
I'm graphing a Gaussian function that resembles the inverse impulse response, which should look like this:
However, the graph on matlab appears blank and I can't figure out the problem.
My code:
H_k_eq = @(k) (exp(-pi.*k.^2)) / (exp(-pi.*k.^2) + exp(-pi.*(4.*k).^2));
Range = -0.5:.01:0.5;
plot(Range,H_k_eq(Range))
What is wrong with my code?

Accepted Answer

Walter Roberson
Walter Roberson on 23 Sep 2022
The MATLAB / operator is "matrix right division". A/B is similar to A * pinv(B) (but not exactly that.) So when you have a row vector on the left and the right of the / operator, MATLAB does what is effectively a fitting operation, returning a scalar result
H_k_eq = @(k) (exp(-pi.*k.^2)) ./ (exp(-pi.*k.^2) + exp(-pi.*(4.*k).^2));
Range = -0.5:.01:0.5;
plot(Range,H_k_eq(Range))

More Answers (1)

KSSV
KSSV on 23 Sep 2022
H_k_eq = @(k) (exp(-pi.*k.^2)) ./ (exp(-pi.*k.^2) + exp(-pi.*(4.*k).^2)); %<-- element by element division
Range = -0.5:.01:0.5;
plot(Range,H_k_eq(Range))

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Products


Release

R2021b

Community Treasure Hunt

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

Start Hunting!