使用Matlab绘制y = -log(sin(x))

时间:2018-01-23 19:03:27

标签: matlab matlab-figure

我试过了:

x=linspace(-2*pi,2*pi);
y=-log(sin(x));
plot(x,y)
grid on
axis([-2*pi,2*pi,-5,10])

产生这个情节:

enter image description here

如何防止Matlab在返回复数的区间内仅绘制解的实部?

2 个答案:

答案 0 :(得分:2)

您可以通过分别使用real functionimag function分隔实部和虚部来实现这一点。完成后,您所要做的就是在同一轴上执行两个单独的绘图:

x = linspace(-2*pi,2*pi);

y = -log(sin(x));
y_real = real(y);
y_imag = imag(y);

h1 = plot(x,y_real);
grid on;
axis([-2*pi,2*pi,-5,10]);

hold on;
h2 = plot(x,y_imag);
hold off;

legend([h1 h2],'Real Part','Imaginary Part');

在最终结果之下:

Result

答案 1 :(得分:0)

看起来我找到了一个简单的方法:

syms x
fplot(-log(sin(x)),[-2*pi,2*pi],...
    'LineWidth',1)
axis([-2*pi,2*pi,0,8])
grid on

产生此图像:

enter image description here