It seems that my MATLAB has some sort of trouble plotting anything that is over tan(x). For example, trying to plat (tan(x) + sin(x))/(2*tan(x)):
clc
clear all
x = 0:0.1:pi;
y1 = cos(x/2).^2;
subplot(1,2,1);
plot(x, y1);
y2 = (tan(x) + sin(x))/(2*tan(x));
subplot(1,2,2);
plot(x, y2);
I've tried putting it on it's own plot as well, but all I seem to get is a blank graph, but the axes are all lined up for the range I've set. The only thing that has made anything appear is removing the tan(x) on the bottom.
Answer
You should use the element-wise division operator ./
:
y2 = (tan(x) + sin(x))./(2*tan(x));
Indeed with a = (tan(x) + sin(x))
and b = (2*tan(x))
, what you wrote is:
y2 = a / b;
which is matrix division, y2 = a * pinv(b)
, a scalar number in this case.
NB: As b
cannot be inverted, matlab uses pseudo-inverse pinv
No comments:
Post a Comment