I am having a problem plotting the following function in Matlab:
x = 10*((sin(pi*f*0.1))/(pi*f*0.1))^2;
I am using this code:
You need to use element-wise division (./) rather than mrdivide (/
) which attempts to solve a linear system. Similarly, you need to use the element-wise power (.^) rather than the matrix power, mpower (^).
x = 10 * ((sin(pi * f * 0.1)) ./ (pi * f * 0.1)).^2;
The .
in the operator is subtle and not necessary when working with scalars; however you must use it if you want element-wise behavior when working with multi-dimensional arrays.
Also to be consistent with common conventions, I'd recommend switching f
and x
so you have a function f(x)
x = -50:0.1:50;
f = 10 * ((sin(pi * x * 0.1)) ./ (pi * x * 0.1)).^2;
plot(x, f)