chatGPT,帮我写个PID
今天上难度
昨天用chatGPT写了控制灯的PLC程序,
朋友们说太简单,
那好,
今天上难度。
PID是工业领域常用的一种算法,
我还没有自己写过,
让它帮我写一下试试~
既然昨天试过了,
那么今天就着昨天的聊天,
继续问,
我还不太放心,
先英文问一句:
程序太长了,
截了好几次图才截下来。
比我想的要完美。
有注释,
结构清晰,
考虑了两个限制条件,(使能和输出限制)
挺好!
而且速度快,
这个长度的程序,
自己写得写一阵子吧,
chatGPT一秒就可以。
这就结束了吗?
不,
甲方依然可以提要求!
上面生成的,
是经典的PID算法,
中规中矩。
但是,
还有些更极端的条件。
比如说积分饱和。
英文叫winding up,
来让它试一下:
完美解决,
没难住它,
看来这一课之前学过了。
还是要承认,
我自己写这部分,
是写不出来的,
估计得查资料写半天,
它已经超越我了。
那又怎样,
甲方可以继续提要求!
我查了查资料,
发现PID算法还可以加戏,
例如,
我们可以让它加上前馈控制,
恩,
总之就是一种额外的算法:
顺利给出了答案,
看来这个它也会。
还有点小瑕疵,
要求它改一下:
恩,
按照要求改了,
不过,
程序怎么越来越短了?
对比了一下,
发现开始的两个条件丢了,
(使能和输出限制)
这有点健忘呀,
改了这里,
忘了那里,
甲方不高兴了!
让它把忘记的,
统统补回来:
恩,又改了一遍,
还差了一点,
再来!
几个回合下来
甲方又拿到了满意的结果。
这次还给加了中文注释,
因为我和它对话时,
一会英文,
一会中文,
所以它也时不时的,
随机切换。
PID写的有点快了,
这么快完成,
意犹未尽,
再写个滤波器吧~
我也不知道自己想要什么滤波器,
先来一个再说:
不错哦,
再随便打听打听:
卡尔曼和斯特林看起来高大上,
来一个,
斯特林像不像过年放的加特林~
这个确实超纲了,
有点难为它了,
人家也不容易,
难度降一降吧:
你看,
人家也说了,
“这应该是一个良好的起点,
帮助您了解如何编写均值滤波器的功能块。”
这个起点,
已经省很多力气了。
而且,
就算不完美,
也没关系,
毕竟,
还可以继续提要求不是?
我们再换个类型:
指数滤波器,
均值滤波器,
中位数滤波器,
这三种餐后甜点,
还可以吧?
昨天把灯打开和关上的程序,
属于逻辑程序;
今天的PID和滤波器,
属于工艺类型的;
我们算是测试了两大类型的程序。
我认为,
结果还不错,
您看呢?
朋友们说,
还是不能直接拿来就用,
还会丢三落四,
没有想象的好。
我想说,
它能给我们一个很好的起点,
启发我们的思路,
而且,
我们还能反复提要求。
有没有发现,
反复提要求的过程,
chatGPT反复给回答,
让我这个“甲方”越来越明确,
自己想要什么。
必须承认,
有的时候,
我们不知道自己想要什么,
chatGPT可以记住之前的对话,
允许用户不断纠正,
从而,
帮助我们明确想要什么。
好像有点跑题了,
打住,
感谢大家阅读:)