Gnuplot

如何画出复指数信号e^(jwt) 和 e^(-jwt)?

可以使用gnuplot这个工具作图,还是很方便的,

$ e^{-j\omega t} 和 e^{j\omega t}$都是向着t螺旋前进的曲线,但是旋转方向不同,下面就$e^{j\omega t}$举例。

要在复频域画出来,首先定义Z轴为虚轴j,X轴为时间轴t,Y轴还是原来的Y轴,

$e^{j\omega t} = cos(\omega t) + j sin(\omega t)$

拆成$y = cos(\omega t)$ 和$z = sin(\omega t)$

就像在二维平面,$x+iy 代表的点为(x, y)$一样,此处$e^{j\omega t} = cos(\omega t) + j sin(\omega t)$代表的就是空间上的点$(t, y, z)$ 或者说$(x, y, z)$,即$(t, cos(\omega t), sin(\omega t))$,影响不大,因为我们已经把x轴作为t轴。

所以我们只要求出t取不同值的时候,$cos(\omega t)和sin(\omega t)$的值,然后进行描点画线即可。

具体参看这篇文章:Gnuplot 直接读取变量值进行描点连线

Continue reading...

Gnuplot绘制坐标轴

Continue reading...

Gnuplot 折线或平滑连接各点

数据在data文件里,内容为:

打开Gnuplot.

1.以折线图形式连接各点

2.以光滑曲线形式连接各点

smooth的全部参数如下:

其他没用上,不赘述。…

Continue reading...

Gnuplot 在三维坐标中描绘二维曲线

缺乏关键词在网上找了很久,没找到该如何在三维坐标中画二维曲线,用splot直接画,画出的都是一些3维曲面,并没有得到单纯的一条二维曲线。

上图是sin(x)在三维坐标中的曲面图,而目标是在特定的x或y值上的一条正弦曲线,还有一定差距,后来在Gnuplot的官方文档中找到了一丝端倪。如下:

这个图形已经很接近我们想要的了,只是一个是平面,一个是线,把这些平面去掉只保留曲线就是我们要找的实现方法。

通过网上查找很容易得到了Fence plots的代码示例。如下:

看的出,因为设置了函数样式为脉冲形式所以才有了曲线下方的填充,如果不设置这个属性那么我们就可以得到想要的曲线。

最后总结写出自己的代码:

生成图像如下:

实际上,这仍然是曲面来的,只不过我们限定当x在2的附近时(x-2绝对值小于0.01),让xf函数值为1,其他地方都不取值,所以剩下很小的曲面看上去便像二维曲线。…

Continue reading...

Gnuplot设置坐标轴名称 , 修改坐标轴刻度等命令记录

1.设置/显示坐标名称

2.设置坐标显示刻度

3.三维展示角度设置

4.设置绘图范围

5.绘图函数

6.设置标题

7.取消显示的标题

8.设置标题

9.设置标题偏移

10.设置legend位置为左上方

11.执行脚本时打开多个窗口和防止gnuplot闪退

执行:

结果:

 …

Continue reading...

Gnuplot描点,线性拟合,设置标题为拟合函数

假设我们有以下数据,在文件名为data的文件里。

1.终端输入gnuplot打开软件,之后输入 f(x)=a*x+b,如下

2.输入以下命令进行拟合:

其中u是using,表示用data文件里第1~2列的数据,via是指拟合变量是a,b。输入以上命令后会输出很多相关信息,不赘述。

3.求取拟合函数的字符串

4.画图

得到如下图:

5.描点

最终图像如下:

 

总的命令如下:

 …

Continue reading...