时域和频域分析师自动控制原理里非常重要的内容,也是《热工过程自动控制》里的基础内容。首先分析一个常见的RC网络电路:
不难写出其传递函数(1/sC)/(R+(1/sC)),即:
我们算出其单位脉冲响应,输出函数的拉氏变换计算如下:
则其拉氏反变换为:
假设RC=1,将输出函数绘图,得到输出信号:
绘制代码如下:
1. <!DOCTYPEhtml>
2. <htmlstyle="height: 100%">
3. <head>
4. <metacharset="utf-8">
5. </head>
6. <bodystyle="height: 100%; margin: 0">
7. <divid="container" style="height: 100%"></div>
8. <scripttype="text/javascript" src="http://echarts.baidu.com/gallery/vendors/echarts/echarts.min.js"></script>
9. <scripttype="text/javascript">
10. var dom = document.getElementById("container");
11. var myChart =echarts.init(dom);
12. var app = {};
13. option= null;
14. var xData = [];
15. var yData = [];
16. for (var i = 0; i <= 200; i++) {
17. var x=i/25;
18. var y=1-Math.exp(-x);
19. xData.push(x);
20. yData.push(y);
21. }
22. option= {
23. xAxis:{
24. type:'category',
25. data:xData,
26. },
27. yAxis:{
28. type:'value'
29. },
30. series:[{
31. data:yData,
32. type:'line'
33. }]
34. };
35. ;
36. if (option&& typeof option === "object") {
37. myChart.setOption(option,true);
38. }
39. </script>
40. </body>
41. </html>
虽然不如MATLAB工具箱一行代码就搞定,但这里每一步意义都很鲜明。我们接着进行频域分析。比如这个电路的幅频特性,将上述传递函数中的s替换为jω,不难得到幅频特性:
将其绘图(这里同样假设RC=1):
显而易见,这是个低通滤波器。绘制代码如下:
1. <!DOCTYPEhtml>
2. <htmlstyle="height: 100%">
3. <head>
4. <metacharset="utf-8">
5. </head>
6. <bodystyle="height: 100%; margin: 0">
7. <divid="container" style="height: 100%"></div>
8. <scripttype="text/javascript" src="http://echarts.baidu.com/gallery/vendors/echarts/echarts.min.js"></script>
9. <scripttype="text/javascript">
10. var dom = document.getElementById("container");
11. var myChart =echarts.init(dom);
12. var app = {};
13. option= null;
14. var xData = [];
15. var yData = [];
16. for (var i = 0; i <= 200; i++) {
17. var x=i/25;
18. var y=1/Math.sqrt(1+x*x);
19. xData.push(x);
20. yData.push(y);
21. }
22. option= {
23. xAxis:{
24. type:'category',
25. data:xData,
26. },
27. yAxis:{
28. type:'value'
29. },
30. series:[{
31. data:yData,
32. type:'line'
33. }]
34. };
35. ;
36. if (option&& typeof option === "object") {
37. myChart.setOption(option,true);
38. }
39. </script>
40. </body>
41. </html>
[结语]:纸上得来终觉浅,绝知此事要躬行。通过功能强大的MATLAB可以方便的分析各种时域和频域问题,但我们这里使用js编程也可以直观的体会分析的过程,而不仅仅是一个结果。
本文分享自 传输过程数值模拟学习笔记 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!