matlab 画sigmoid,Matlab—基础绘图

基础绘图

plot()

plot()函数是matlab中用于作图的函数,常用格式为:plot(x,y),x代表横坐标,y代表纵坐标,一般情况下如果是画一组连续的图,x和y 一般都是矩阵

还有一种格式:plot(y),如果只给一个参数,那么这个参数默认是代表纵坐标,而横坐标的值是默认值。举个例子,输入plot(cos(0:pi/20:2*pi));,做出来的图是

matlab 画sigmoid,Matlab—基础绘图_第1张图片

hold on/off

如果我们写两个 plot 函数plot(cos(0:pi/20:2*pi));

plot(sin(0:pi/20:2*pi));

他不会把这两个图画出来,因为 matlab 在执行代码的时候,后面的画图会把前面的画图清空掉,如果想把这两个函数的图都画出来,应该使用hold on

matlab 画sigmoid,Matlab—基础绘图_第2张图片

plot style

我们还可以给图加上想要的样式。格式:plot(x,y,'str');,str的参数见下图

matlab 画sigmoid,Matlab—基础绘图_第3张图片

matlab 画sigmoid,Matlab—基础绘图_第4张图片

legend()

光有图,没有说明标签也不行,所以我们需要用到 legend()这个函数,以一个例子来说明,我们首先做四个函数的图像x = 0 : 0.5 : 4 * pi;

y = sin(x);

h = cos(x);

w = 1./(1+exp(-x));

g = (1/(4*pi)^0.5).*exp((-1.*(x-2*pi).^2)./(2*2^2));

plot(x,y,'bd-',x,h,'gp:',x,w,'ro-',x,g,'c^-');

matlab 画sigmoid,Matlab—基础绘图_第5张图片

这个图很不直观,因为缺少了标签说明,下面就给他加上legend('sin(x)','cos(x)','Sigmoid','Gauss function');

他会根据你plot函数的顺序,依次给对应的线标上对应的标签

matlab 画sigmoid,Matlab—基础绘图_第6张图片

title() & label()

到现在为止这个图还不算完整,缺少横纵坐标的说明,以及标题,所以接下来我们就要用到几个函数来完善它:title()、xlabel()、ylabel()、zlabel()x = 0 : 0.1 : 2 * pi;

y1 = sin(x);

y2 = exp(-x);

plot(x,y1,'--*',x,y2,':o');

xlabel('t = 0 to 2\pi');

ylabel('values of sin(t) and e^{-x}');

title('Function Plots of sin(t) and e^{-x}');

legend('sin(t)','e^{-x}');

matlab 画sigmoid,Matlab—基础绘图_第7张图片

text() and annotation()

如果我们需要在图像中加入说明性的文本和某些图形比如说箭头,就会分别用到两个函数,一个是text(),一个是annotation()

matlab 画sigmoid,Matlab—基础绘图_第8张图片

首先观察这个函数的横坐标,是从 0 到 3,所以我们要用代码 x = linspace(0,3);,这里 y 的函数我也直接给出来 y = x.^2.*sin(x);,再看图上,有一条线段 x = 2,他需要用line()函数,通常其调用格式为:line([x 起始坐标, x 终止坐标],[y 起始坐标, y 终止坐标]);,所以使用line([2,2][0,x.^2.*sin(2)])画出线段

剩下的就是图中的一段数学公式,这个需要mathjax或者letex的基础,我直接给出代码不过多解释,了解一下即可

matlab 画sigmoid,Matlab—基础绘图_第9张图片

文本有了,直接用text()函数写进去。text(x坐标, y坐标, str,'Interpreter','latex');,后面的'Interpreter','latex'这个是固定格式,填上去就行了

最后用annotation()函数画箭头,annotation('shape','x',[x 起始位置, x 终止位置],'y',[y 起始位置, y 终止位置]);,shape参数可以有很多值,具体见下表shape参数说明line线

arrow箭头

doublearrow双箭头

textarrow带文本框的箭头

这个函数中的坐标并不是我们图像里对应的坐标,而是我们进行归一化以后的坐标,假设一个图的宽 w,高 h,坐标 [x,y],归一化以后的坐标就是 [x/w,y/h]

下面给出完整代码x = linspace(0,3);

y = x.^2.*sin(x);

plot(x,y);

line([2,2],[0,2^2*sin(2)]);

str = '$$ \int_{0}^2 x^2\sin(x) dx $$';

text('Interpreter','latex','String',str,'Position',[0.25 2.5]);

annotation('arrow','x',[0.32,0.5],'y',[0.6,0.4]);

matlab 画sigmoid,Matlab—基础绘图_第10张图片

subplot()

现在要求在一个figure上,画很多不同的图,就必须用subplot()函数,其调用格式为:subplot(m,n,x);

matlab 画sigmoid,Matlab—基础绘图_第11张图片clear;

clc;

x = -10 : 0.1 : 10;

y1 = x.^2-8;

y2 = exp(x);

subplot(2,1,1);plot(x,y1);

subplot(2,1,2);plot(x,y2);

matlab 画sigmoid,Matlab—基础绘图_第12张图片

Save Figures

我们有时候花完了图,想要保存,这时候就要用saveas()函数,其调用格式为:saveas(gcf,’filename’,’formattype’);,gcf就是你当前图像的默认的名字,filename也不用多说,就是你给你保存的图像起个名字,关键是这个formattype,它其实有很多参数,见下图

matlab 画sigmoid,Matlab—基础绘图_第13张图片

你可能感兴趣的:(matlab,画sigmoid)