五哥开年王炸,不讲武德,你一不小心打一句口令,不是一张图,是一整套 u i, 再点一下,不是预览,是交互,干得漂亮!再点一下,不是效果图, 是可以直接生成 app u i, 自己找出来,交互自己动起来,页面自己跑起来。关键是,免费!免费!完全免费! google 就是 这么好!我靠,牛逼!关注我每天一个 ai 小 技巧。
粉丝1.9万获赞47.1万

昨天呢,有一个粉丝问我说,我介绍的这个可视化的一自动 mini 器啊,他写出来的程序的原代码怎么样?方便修改吗?那我今天给大家看一下他们生成出来的代码的情况。 首先呢,这是一个非常简单的一个程序啊,大概就是两个模块去执行的,那我们点击这个 mq 四啊,去生成一下这个原代码,那我们去这个下载这里打开这个原代码可以看一下, 那么理论上来讲,这是一个非常简单的程序,对吧?他的代码呢,应该非常的少才对。那么实际上我们看到了是这样的一个情况,稍等一下啊, 对,这个是打开的原代码,我们看一下他这个代码总共有多少行啊?这里已经有,因为太长了,我帮你往下拉一下,这里 总共有四千啊,四千多行,四千六百多行,这就很奇怪对吧?我明明就用了两个模块啊,为什么洗出来了一个这么长的一个程序啊?看起来的话呢,好像跟我写的也没有什么关系,这个原因就是这样的,因为他这个是一个模块画的, 呃,这个编辑器对吧?所以理论上来讲,他左侧所有的这些功能模块,虽然他没有使用,没有被你调用,但其实呢,他的功能是已经写在程序里面的, 那么他真正这个程序运行的时候呢,是根据这个模块的顺序去和你的这个逻辑的连接线去进行调用的。所以这种源代码啊,对于咱们自己会写程序人来讲的话,他的可读性是非常差的,一个很简单的程序,他写了几千行,而且中间大部分是不用的,你要去找他的这个逻 逻辑的相关关系其实是很困难的。那么所以如果说想通过这个可视化的业余工具去写出一个代码的框架,然后你再去去优化的话呢,这个其实是不是一个合理的一个路径,或者说是一个比较好的一个选择? 他这样的一个工具哈,他针对的是不会写代码的人士,对吧?不会编程的人士,所以他生成出来的代码的话,本来就没有想着去给别人去看原代码, 也没有想着让你去改原代码啊啊,对于不会写这个编程的人来讲的话,他看能看了,这个原代码他也看不懂,所以他就不需要把这个程序的可读性写的很强,他关键是能 啊,通过这种简单的拖拽和连线的方式,让你去实现对应的功能啊,这是他的核心的优势。那反过来呢,他也带来另外一个意外的惊喜,就是 有一些人会拿去破解 ea 嘛,比如说把你写的 ea 呢,拿去做个反编译破解出来啊。那么对于他来讲的话,他写这个程序这么复杂,一个很简单的一个程序有几千行,而且背后的逻辑呢,很不清晰。 那对于那些反编译破解 ea 人来讲的话呢,他可能破解出来,他也研究了半天,研究不明白,他就增加了这个 ea 被被破解的一个难度,这倒是一个意外的窒息。 所以呢,今天呢,就给大家展示一下我们通过这个可视化的业余自动编辑器,我可以生成这个原代码,那么生成了原代码的情况是怎么样的?那么对于啊,我目前针对的这些群体就是没有编程基础来讲,其实你不需要去关心这个原代码的问题, 你只需要这里写好了你的逻辑之后,生成这个 e x 四的可执行文件,放到这个图标里面加载加载在这个 m p 图标里面就可以运行了啊,这个是他的核心的优势,咱们就不需要学习写代码了。好了,那么关于我对于我介绍的这个可视化的 ea 的自动编辑器,如果感兴趣的话呢,可以加入我的抖音粉丝群啊,在我的主页点击我的群聊就可以加入了,那么有什么问题的话呢,都可以在群里面 这个提问。同时呢,我也录制了线上的课程啊,同时有线下的课程会定期的去举办,如果是确实对这个东西感兴趣,想要快速上手哈,提高学习效率的话呢,可以考虑跟我咨询一下我的课程。 好了,以上就是本期视频的内容啊,我是 harry, 一个只讲行业干货的博主,记得点赞关注。

又见面了,我是小袁,上个视频,大叔用 ai 学了英语,效果还不错吧。这次他要用 ai 来编程,而且他要用全球最强的两个 ai 来作对比,是哪两个?一个是 open ai 公司的 chat gpt, 另一个则是微软的 copilot。 编程语言用什么呢?大叔想用全球外汇投资者常用的 mp 四来世,一是比较实用,二是比较中立,因为有些开发语言是微软自家或擅长的。 好了,准备开测。首先我们在网页上同时打开 chat gpt 和 copilot, 分左右两边,我会用相同的指令请求来进行测试, 知道你们看不清楚,一会我会放大镜头,就像这样。 好,我们先从抠拍了开始。我先问他,你了解 m p 四吗?我想写一些 e a 代码,并且要用指定的旧版本语法编写,你能做到吗?他的回答也都是肯定的。然后我们提交具体需求,我想在 e a 里写一个功能,最好封装成模块,传递参数,方便调用。 具体功能要求是实现改指定方向订单的止损位是所有同方向订单,要先算出所有订单的持仓均价,然后统一按设置的点数去设置止损位,并且对模块做优化。在模块执行的过程中,不接受外部第二次传入的同向修改请求,这样来节约运算资源,也防止重复请求的错误。 第一次生成代码,我发现并没有按均价去设止损,继续提交问题,叫他修改,然后他改了。这次虽然按持仓均价设损了,但多空单设损的价格却是同一个 算法,这是不对的。多头应该是低于均价损,空投高于均价损又叫他改。最后这次算是可以勉强达到想要的功能了。但第一个要求里的优化代码的要求,他却像是装傻,没有看见,代码里完全没体现, 而且代码里面没有备注信息,我检查起来很是费劲。我检查出他两次错误,相当于我自己重写了两遍代码,搞不清是他在协助我呢,还是我在协助他了。 轮到 check g p t, 相同的指令要求传入,他理解要求后开始生成代码。代码是在一个框里的,方便区分和复制。 代码很严谨,每一部功能都有中文备注,检查起来容易定位很多。他对要求的功能全部都响应了,代码也全部符合要求,包括优化的部分,他自主的设计了六十秒内只接受一次改损。 nice 很有想法,之前偷拍了他的错误, 他这里一个都没犯。注意哦,是相同的指令粘贴过来的,不存在说不同的话导致理解偏差的事情。这次测试 check gpt 完胜。 接下来我有两个高级语法的地方看不懂,粘贴出来问 g p t, 他给出了详细的回答和解释。第一个是在模块内定义的变量能达到和全局变量一样的控制效果吗? 他详细答疑了,静态变量的作用我学到了新知识。第二个是区分多空单不同止损架在同一句代码完成的高级写法,真的很高级。看完回答,我又长知识了。 理论上, ai 将来可以协助我们编写任何语言、任何功能的程序代码,你只要会表达,会提示,能让他理解就行了。也就是说,想要做到什么,环境和框架是你要先确定的,确认 ai 理解后那些繁琐的逻辑和 写代码的泪时,他却可以轻松的胜任,是不是完美的组合?在未来的 ai 时代,你还要傻乎乎的去官网查阅功能语句详解,或者是付费上一些知识库上去找功能例子吗?或者是出 but 时傻傻地去查找 but 的原因? 对了,对于调试代码的过程出什么样的 bug, 你只要把原码和 bug 提示粘给 ai, 他就能轻松找出问题的原因并给出解决方案。 因为篇幅原因,这里就不做展示了。这个我试过,完全可靠。这次的测试是 g p t 完美胜出,他理解的能力和智能程度是超过 copilot 的。虽然 copilot 号称也用的 g p t 四的内核,但是各圆形的算力和净化程度还是有差别的。 就比如你我都用同一家公司的环境和资源,但在业绩和能力上却表现出不同的差别,这就是个体原型本身的差异,用相同公司资源来说是是没有参考意义的。这期学习就到这,我是小圆,下次见。

把想法跑代码,写 e a, 有 章法,上手有难度,多练就顺了。 e a 就 像写作,有框架,有词汇,有句式。那本期咱来聊聊 e a m q 幺语言的九大基础知识。那首先第一,数据类型,那常用的四大金刚, integer, double、 bo, string, i n t, integer 管整数, double 管小数, bo 管对错,那 string 管文字。不常用的还有两 daytime 管时间, color, 管颜色。接下来第二块表达式, 那程序会根据符号来运算。表达式啊,是等于操作数加运算符号,那这里运算符号大家可以截图保存。接下来第三块变量,变量有四大类,初使化、静态变量、常量和输出变量。首先初使变量是给一个起始值, 比如起始资金,起始手术。注意了,这里一定要给变量出使值,否则程序可能会出现随机行为,那风险就大了。 接下来静态变量,那是有记忆力的,能记住上一次的运行值,比如累积利润,包括寄出上一次的订单,防止重复下单,那场量就是固定值,就像咱上期所说的 magic number, e a 的 身份证,写了就不能改,就是固定值。 最后输入变量,那就是咱可以调整的参数,有时候咱们拿到别人写好的模板,可以自己调节数据,比如 macd 的 快线由十二改成九。咱也可以记个口诀啊, 初识给起点,静态记过去,呈量永不变,输入条策略,那这就是本期相关的知识点,咱下期来聊一聊函数,可以点赞关注一下。

咱们经常会刷到这些比较好看的这种学科类的知识卡片,嗯流量呢也很不错,而且呢图片的质量也非常的高,非常的好看。其实制作起来呢很简单,只需要一个提示词就可以, 咱们进入咱们的生图知识库,以后呢可以直接找相关的提示词,也可以进入知识库呢去进行提问。比如咱们输入生成学科知识卡片的提示词, 然后 ai 呢,就会根据咱们知识库里面的内容去寻找相关的提示词,因为咱们内置了很多提示词,现在呢它会给咱们生成相关的提示词模板,咱们只需要复制这个提示词模板, 然后打开任意的 ai 绘图工具,将提示词粘贴进去,然后再输入你想要生成的主题,很快就可以生成这种优质的学科知识卡片图片了,非常的简单,知识库里面还有超多的生图提示词,都可以随意的使用,非常的方便。

e a。 这一波春节促销真是贝斯炸了!以下神作通通新史低、口碑绝佳的星战动作游戏星球大战,绝地陨落的武士团,以光剑战斗和原理运用为核心,剧情紧凑,有沉浸感。原一百九十八,现仅十五点八。 同系列续作星球大战,绝地幸存者开放度大幅提升,新增多种光剑形态与跑酷技能。原二百九十八,现三十五 三 a 狩猎动作冒险狂野之妻,主打东方背景下打造技巧,对抗巨型怪物。原二百九十八,限二十点六,双人合作越狱神作升天,扮演囚犯携手越狱,配合完成前行、射击等任务。原一百五十八,限十五 e a。 游戏就离不开 e a p p 最近不少倒霉蛋遇到 e a p p 打不开报错问题, 这里教大家快速解决,同时按下键盘上的 v i p p。 打不开报错问题,这里教大家快速解决!同时按下键盘上的 v i p p, 点击它,点击卸载, 接下来选择修复,这样等到修复完成, e a。 登录窗口就会顺畅跳出来了。登录前记得打开 u u 加速器,搜索 e a p p, 一 键加速,加速后登录即可避免错误代码,轻松唱完打折打坐啦!

来呀, 用了 deep sea 深层看一下效果。 deep sea 现在还是有点慢。 你的心我很清楚,是谁我可不知道。一个这么美丽的山也不卖我就我。 其实没错,不要传给他看就是个骗子,反而他会一直看着你,直到热了都会。 屏幕上没有肖像的阻碍,他自己都是谎言,不管你在那里还能看到一切,并且能受到你的力量,还会运用什么,他只会让大家想见到他的人看见他,如果你有可能看到了,那一切都看管。不是 你看见他,而是他发现你,所以千万不要相信他,而是他发现你,所以千万不要相信他的花言巧语。你要和他说什么,因为你想。

你有没有发现, ai 写出来的网站功能都对,但就是一眼模板位。问题可能不在代码,而在第一步就错了。传统做法是直接丢给 codex。 一 句话,帮我做一个干净的猫咖网站,它确实能做出来,有标题、有按钮、有图片区,但大概率像临时 demo chase skill 的 思路。反过来,先用 gpd image 二生成一张像样的网站设计图,再 让 codex 逐项分析里面的布局、字体间距、配色和动效,最后再输出 html、 css、 js 或者 react view sweat 项目。 这一步很关键,因为图片不是拿来当海报的,它是给 ai 写代码前看的审美目标。这个项目把这套流程封装成了一组开源 skills, 比如 design taste frontend 负责通用高级前端, image to code 负责图像优先流水线, redesign existing projects 负责改造旧项目 image and frontend web 和 mobile 专门生成网页。移动端参考 图安装也很直接, npx skills add, 后面接 github 仓库地址,想单独装某个技能,也可以用 skill 名指定。 所以它真正解决的不是 ai 会不会写 css, 而是 ai 在 写 css 之前有没有先看到一个好设计。当然,别把它理解成一行命令包治百病。它 更像给 coding agent 加了一个设计总监,先定视觉方向,再执行代码还原。如果你经常用 ai 做官网落地页、个人主页,这个流程值得是评论区说说,你现在是先让 ai 画图,还是直接让它写代码?

e a 语句七大条,几句掌握逻辑跑那本期咱来看看 e a 代码的七大语句。那第一定义句, 让程序记住价格,例如买的时候 buy price 看 ask, 卖的时候看 beat, 后续让程序更方便操作。第二条件句, if 满足条件才能执行交易。 比如如果买家突破一百发送订单 odyscent, 那 具体情况就要看小括号里的参数了。那 symbol 是 当前交易的品种, open buy 是 买入指令,首数为零点一, ask 是 买入价,那划点为三,那最后两个为止盈止损价 零表示暂不设置。那输入这些参数之后,满足条件就可发送订单。第三复合句,用大括号表示打包执行动作,就像用一根绳子把一系列动作捆绑起来。比如这里额外加了一个 print, 买单已发送表示执行,下单后会把该信息打印到网址窗口, 显示买单已发送,那下单和打印信息,这两个动作一气呵成。那第四,循环句, four 表示连续检查市场,那结合刚才一百的价格,程序式会循环检查,只要突破一百就买入。 i, 这里表示循环计数器。 i 等于零表示从零开始计数。 i 小 于五是循环条件,表示循环五次就停。 i 加加表示每次循环结束后计数去加一。总而言之,这个循环就是让 e a 连续尝试下五次买单,就像检查邮件一样,隔一会看一次,有重要邮件就立即处理。第五,控制循环 break 和 continue 语句, break 是 停止交易,通常用于资金不足的情况,比如这里账户余额低于一千, e a 就 直接踩刹车停止交易,防止亏太多,那 continue 是 跳过信号 不下单,这里买入价小于等于一百,条件不足就直接跳过不下单了。第六 return 语句,达成目标就结束。比如这里盈利超过一百,目标达成停止 e a, 那 完成 kpi, e a 就 要下班了。第七空语句,用分号表示,意味着等待行情, 就像 ea 要等咱们这个领导批示文件,啥也不做,耐心等待消息。做 ea 就 像小助手,守规矩,管风险,赚完米就收工,还能耐心等待机会, ok, 这就是本期的内容了,如果你也喜欢我的视频,欢迎点赞关注一下。

不到一分钟生成一个量化 ea, 以后啊,不用再花冤枉钱了, 啪的一声,你看几十秒,一个完整的 ea 代码就出来了,这就是 ai 的 力量。 以前呐,做一个量化 ea 呢,要学编程,学代码,学语法,现在啊,这些都不需要了, 只要你把策略说出来,比如说 macd 金叉均线过滤,止损五十点,只研一百个点,三十秒钟代码就给你,可以回测,可以实盘 关注我,下期手把手教你零代码用 ai 做量化 ea。

大家好,欢迎收看 matelab 教学视频系列,这里是我的 qq 号和微信号,欢迎大家加我为好友一起探讨 matelab 问题。今天我给大家讲解的是 matelab 当中二维图形的绘制以及锯饼操作, 这里是我们今天的教学内容。首先给大家讲解一下绘图函数 plot 的 基本用法, 然后给大家演示一个单条曲线的绘图实例,接着是一个多条曲线的一个绘图实例,通过以上这两个实例给大家引导出 matelab 当中图形聚饼体系的基本概念。 最后再通过两个具体的实例给大家演示一下 matelab 当中一些基本的聚饼操作。 很多初学 matelab 的 同学可能都是从啊函数绘图都是从基本的绘图开始学起的。然后我们在绘制二维图图形的时候,啊使用的是 plot 这个函数, 下面给大家介绍一下 plot 这个函数的一些基本的调用格式和一些基本的用法。当我们需要看一个函数它的具体的用法的时候,最好的这个老师是 matelab 的 help 文件。好,我们进入到这个 help 文档里面, 我们搜一下 plot, 我 们来看一下这个 plot 的 一些基本的解释。 好,这边是说了它是绘制啊,用来绘制二二 d 的 这个啊曲线的,然后下面的话是它的一些啊调用的格式,然后下面有每一种格式它的一个具体的描述。 description 啊,首先这个地方是说啊, plot 括号 x y, 它是绘制二维的曲线,然后横坐标的话是 x, 纵坐标的话是 y。 然后下面它分几种情况,首先第一种情况,如果 x 和 y 都是向量的话,那这个其实这个时候就很简单了,那就直接是 x 为横坐标, y 为纵坐标,然后会指 x y 的 这个曲线。 然后第二种情况,如果 x 和 y 都是矩阵的话,那么 x 和 y 必须有着相同的, 然后这时候我们 type 来绘制曲线的话,它是以 x 的 每一列为横坐标, y 的 每一列为纵坐标,这样绘制出来一系列的这个啊图形。 然后第三种情况,如果 x 和 y 当中有一个量,它是啊向量,然后另外一个量是矩阵的话,那么这时候它有个要求,就是说啊矩阵的行或者列 这两个尾数当中至少有一个,这个尾数是需要和这个向量的长度相等的。然后对于啊这一大这一大段英语可能可能啊读起来比较绕人,我们直接在 mathlab 当中来看一个例子,可能这样的话大家可以更好的去理解 好。我们生成一个 x, 比如说我们生成一个十,间隔是一到十四,这样 x 它是一个向量, x 的 长度是啊六,就说 x 里面有六个元素,然后我们再生成一个 y, y, 我 们生成一个随机矩阵, 啊,我们生成一个,比如说四行六列的 好,这时候我们就生成了 x 向量和 y y 的 这样一个矩阵,然后我们来 plot 一下 x 和 y。 好, 大家注意一下,如果 x 和 y 当中有一个是向量的话,它是要求矩阵当中的某一个尾数需要和这个向量当中的这个长度是需要相等的。比如说对于 y 这个矩阵来说, 它列这一维,比如说它是有一二三四五六,它是有六列的,就是列这个维数上刚好和 x 的 长度是相等的,因为 x 是 有六个数值的,所以说这时候可以用 plot x y 来绘制成图线, 这样的话大家可以来看一下,我们可以看一下这个上面有几条线,一条、两条、三条、四条,这时候有四条线, 其实很好理解啊,其实这四条线它的横坐标都是十、十一、十二、十三、十四、十五,就是横坐标都是 x, 它的纵坐标的话 就是分别是 y 的 第一行是跟 x 构成一条线,然后 y 的 第二行和 x 再构成第二条线。类似的就是说有四条线,因为有四行,四行分别和这个 x 就是 x 这个横坐标来构成这样一个 x, y 的 一条线,所以说这里面会的是四条 线,然后还有它还有一些啊另外的一个调用格式,比如说这个 line spec, 它这边是说这个时候是在绘图的同时,它是设置这个线型啊记号的这个形状以及线的颜色。然后我们可以点一下这个 line spec, 它跳到了这样的一个表里面,然后这里面给了一个例子,比如说这是啊两个短线,然后中间是 o, 然后是 r, 它代表的一个意思是这样的,首先两条短线代表的是虚线,就是这个线型, 然后 o 我 们接着看, o 其实代表的是一个 mark, 就是 它这个记号是一个圆圈,然后这个 r 可以 继续往下看, r 的 话它代表红色,也就是绘制的线是红颜色的。 当然大家可以从这个表里面啊,比如说从这个线形的里面任意去选一个出来,从这个记号里面任意的去选一个标记出来, 然后从颜色里面去选出来任意的一个啊颜色符号出来,然后就可以构成这样的一个字串, 这个字串呢就用来定义这个线形 line style, 然后这个记号的形状叫 marker symbol, 以及线的这个颜色。后面我们会通过具体的实例来啊给大家演示一下,就是说这个地方的一个用法。 好,我们刚刚看的是前两种的这个调用格式,当然 plot 它还支持就是啊多组的曲线的一个绘,比如说第一组曲线就是 x y 一 是第一组,然后 x 二, y 二,第二组等等等等,一直到 x n y n d n 组, 然后同样呢,我们在可以绘制每组曲线的时候,给它添加一个这个啊,添加这个曲线的它的一些颜色啊,一些记号啊,这样的一些啊属性, 这样这样的话类似的是每一组每一组的这样的话 x y 一 lines pack 一, 这是第一组类似的第 n 组是 x n y n lines pack n。 另外 plot 还支持单个的这个变量,就是单个的输入参数,比如说 plot y, 这时候它绘制这个 曲线的时候,纵坐标就是 y, 然后横坐标的话就是一二三四五六七这样的一系列的一个整数。类似的还可以 plot y, 然后再设置一下我们这个曲线, 然后具体的这些内容,大家可以在这个 plot 的 这个 help 文档里面可以仔细的去阅读,然后这个里面还给出了很多的一个例子,然后同学们都可以自己去试了,像这些地方对这个现行啊颜色啊做了一些设置, 然后 help 文档是一个很好的这一个啊学习的一个工具,希望大家可以啊充分的去利用好这个 help 文档。然后这里面的英文都是都不难的,其实都是比较简单的英文,大家可以啊 结合着像有道词典啊这些比较好的一些工具,然后去仔细的去阅读一下这个这个 help 文档,然后读着读着,大家对这个里面的单词慢慢的就会熟悉了,然后也会读着读着这些啊,读着这些英文的时候,也可以同时提高自己的英语水平, 然后阅读的话,其实是越轻松的,越读越觉得这个 help 文档好。 我们刚刚看完了这个 plot 函数的这个用法啊,下面我们就来啊做一个具体的实例,我们绘制一个零到二派上的一个鱼弦曲线, 我们新新建一个 m 文件,我们写程序的时候养成一个好的习惯,第一行我们做一下一个触式化的一个工作,就是 clear c, l, c close all。 然后第二行的话,我们再开始正式写我们的这个代码, 首先我们定义横坐标是零到二 pi, 然后到二 pi, 然后纵坐标的话就是 find x, 这样我们就把横坐标和纵坐标定义好了,然后使用 plot, 我 们会制一下 x y 的 这个曲线。然后刚刚我们在这个 help 文档里面看过这个 linespec, 好,我们这时候就是在这个 plot 里面,我们就将这个啊这条图形的一些啊线型,它的一个这个记号的形状以及它的颜色,我们将它定义好,就是用 linespec 的 这个格式来给它定义好。首先我们来看一下,我们选线型的话,我们就选选这个虚线, 好,所以是两个短,两个短横代表这个线型是虚线。然后第二个属性的话是这个记号的形状,我们选这个星号,就是每个坐标点的这个形状,我们选星号,这边写上星号, 然后颜色的话我们写定义成红色,红色的话就是 r, 我们运行一下这个程序,先将这个程序保存一下,这个是我们的第七期视频,所以就是 m 零七杠一。 好,通过这几句简单的代码,我们就会制出了这样的一条鱼线曲线,大家可以看一下我们的这个设置啊,首先它这个线型是虚线,然后这个坐标点的这个记号是这个星号,然后颜色的话是红色, 然后对于这一幅图的话,它是一个比较原始的,我们一般去做论文或者去做报告的话,是需要在这个图上面去加一些啊,比如说加一些注视性的一些文字啊,比如说给 x 轴上啊,写一个注视, y 轴写一个注视,然后再加标题之类的 啊。呃,其他的情况可能就是说我对这个啊,这个线的这个颜色啊,包括这个啊记号的这个形状啊,我不是很满意,我想啊有更多的一些选择和设置,这时候啊,我们就需要对这个图形来对它进行一些操作, 然后在 matelab 当中我们来设置这个图形的话,可以通过啊写代码的方式,也可以通过手动操作的这个方式来对这个图形进行一些设置。 当然对于初学者来说的话啊,用直接用代码来对图形做一些设置的话,可能会有一些困难 啊,所以说啊,在今天的这一个视频里面,我会先啊给大家演示一下,就是用手动操作的办法来对这个图形啊,对这个坐标轴啊,我们来做一些设置, 然后利用 matelab 啊自动生成代码的这样的一个功能,然后我们就可以啊反向的来得到对应的这个设置的它的这个 matelab 代码,然后我们在这个自动生成的代码上面,我们做一些基本的一些啊修改,然后就可以得到自己的代码。好, 下面我们就先用手动操作的办法来对这个啊图形,我们来进行一些必要的一些编辑,将它最大化,我们点击这个箭头,这个上面显示了 edit plot, 也就是说你点这个箭头就是让你编辑这个啊图形的,我们点一下, 然后这时候大家可以看到这边被选中了,这个背景被选中了,我们双击一下这个背景,这时候下面会跳出一个框,然后这个框里面,然后我们可以看一下,首先是 figure name, 也就是这个图形窗口的名字,我们将它写成鱼线曲线, 然后我们将这个背景的颜色大家看一下,这时候是灰的,我们将它改成这个白色的背景。好,这时候大家看它这个背景的颜色变成了白色的了,然后同时这个上面有一个 flag 有 个名称了,叫鱼线曲线。 好,然后我们再单机一下这个坐标系,我们这时候可以将给这个坐标系添加一个 title, 就是 标题,我们这个标题叫绘制与弦曲线, 然后我们可以设置一下这个 x 坐标的这个范围,我们将它设置成零到六点五。 好,这样,这样的话大家可以看到这时候它的坐标轴的这个啊,最大的坐标就是到了六点五就截止了。然后我们还可以给 x x 轴添加一个注士,我们写一个叫 x 值吧,简单一点。好,这样的话我们就将 x 轴做了一些必要的一个设置, 然后我们再来设置一下 y 轴,首先我们将 y 轴的范围,我们将它改成负的一点二到正的一点二, 大家可以看到坐标轴的这个范围已经变了。好,这个 y 轴我们也给它做一个注示,叫 y 值, 好,这时候 x 值, y 值包括标题它都有了,然后把这个网格线打开,这样的话看图的话会更容易一点,更方便一点。 然后我们把这个 box 关掉,大家可以看一下这一块的变化,这时候它是有这个,有这个框线,我们把这个 box, 把它把它去掉。好,这时候就是这个框就没了。 好,我们接着来做设置,我们可以看一下这时候啊 x 轴,它这个坐标间隔是一比较大,我们将它这个坐标的 x 轴的这个坐标间隔,我们将它设成零点五 点到 x axis 这个属性里,然后我们点一下这个 tickets, tick, tick, 好, 我们点开, 点开之后,这时候它是啊自动的,就是 x 的 这个这个间隔啊,或者这个标签啊,它是一个自动的,一个状态都是自动的。那这时候我们选这个 step by, 我 们将它的间隔改成零点五。 好,然后 apply 一下。好,这时候大家可以看到这个 x 轴的坐标间隔就是零零点五一,就是间隔都是零点五了,更密了。 ok, 那 同样呢,我们将这个 y 轴的这个坐标间隔,我们也可以去设一下,因为这时候大家可以看一下负一点二和正一点二,它没有在上面显示 到 y 轴这个里面去,也去给它做一个设置,同样点这个 step by 就 说呢,大家可以看一下。我们没做设置之前,它是从负一开始的到一结束的,就说它这个坐标标签显示的这个值,然后 step by 一下,将这个间隔,我们将将它改成零点二。 好,再 apply 一下,大家可以看到它是最最小的,是负一点二,然后到下面的正一点二,然后这个这个地方其实是零啊,因为这个是 e 的 负十六次方,很小很小的一个值,大家不用去管,它就基本上是零了。然后, ok, 好, 这样的话,我们就将啊 x 轴的间隔和 y 轴的间隔,我们也设置成我们想要的这样的一个结果。 好,设置完坐标轴之后,我们就可以来设置这个啊,设置我们的这个线条了,那我们鼠标点击一下这个线条。好,大家可以看一下下面的这个 property edit, 就 变成了这个线,这时候我们可以对这个线来做一些啊属性上的一些编辑。 首先我们将这个线型来改一下,之前是虚线,我们将它改成这个中心线,然后线宽之前是默认的零点五,我们将它改的粗一点,改成二,所以大家可以看一下。线变变粗了,然后线的颜色,我们将它改成这个品红色 变掉了,然后这个标记原来是星号,然后我们将这个标记也改一下,改成一个方块,就是大家可以看一下变成了方块, 然后方块的大小之前是默认了一个六,让他改的大一点,改成十。好,再看一下方块也变大了,然后之前的方块里面啊填充色是是白色的,其实是看不出来这个填充色的,这时候我们给这个里面这个方块加一个填充色,我们将填充色改成绿色, 可以看一下,这时候看每个方块里面的填充的颜色都是绿色。好,还可以将这个方块的这个边框将它改成一个黑色的边框,这时候大家去看一下,感受一下这个效果。 好,这时候方块它的填充色是绿色,然后它的边框是黑色。好,通过我们上面手中的这些操作,我们就将这幅图啊我们去给它编辑了一下,编辑成了一个我们想要的一个它的一个显示的一个状态。 然后然后刚刚也给大家说过,我们可以通过 matelab 自动生成代码的形式,然后得到我们刚刚所做的这些操作,它对应的 matelab 代码,这个是 matelab 里面可以自动生成的,然后我们点一下这个 file, 然后这个里面有一个 generate code, 就是 自动生成代码。好,我们来点一下,好,这时候它在自动生成代码,大家可以看一下啊, 生成的代码是一个函数的形式,是一个 function 的 形式,是一个函数的形式,然后这边的话就是对应的这些代码,比如说我们最早的对这个啊图形窗口所做的一个操作,就是将图形窗口命名成鱼线曲线,然后将它的这个背景颜色改成白色, 白色的话就是 color 颜色属性,然后颜色的话它这边用的是一个 rgb 的 这样的一个颜色一,一的话在 rgb 这个里面其实代表的就是白色。好,所以这个是设置这个图形窗口的名称和背景色, 然后紧接着是这个坐标系 axis, 然后 axis 的 这个啊 parent 就是 他的这个父亲是 figure 一, 也就说是 axis 这个坐标系,它是在这个 figure 一 里面, figure 一 就是上面的这个图形窗口, 然后紧接着它设置了这个 y tick 这个属性,比如说是负一点二,然后负一其实就是间隔是零点二了,然后紧接着是将这个 y 的 这个啊网格将它打开,然后 x 的 这个啊 x 的 这个 tick, 也就说它这个间隔 x 轴上面的这个间隔是零点五,同样的将啊 x 的 网格线将它打开, 然后下面的话这个这个他将他啊注视掉了。其实我们也做过这个设置,就是 x 的 范围, x 轴的范围是零到六点五, y 轴的这个范围是负一点二到一点二。 好,紧接着是绘图的这个命令,然后上面是啊这个我们这个记号块,就是 这个图形的这个啊,标记它的一些设置,比如说标记的这个啊颜色,标记的填充色啊,这个标记标记边边框的这个颜色啊,比如零零零就是代表这个边框是黑色, 然后这个标记的这个大小标记的形状是方块 square, 然后我们这个线的这个线宽是二,然后线型的话是一个中心线,然后线的这个颜色 定义了这样的一个 rgb 的 这样的一个啊颜色的这样的一个定义,然后后面的话是创建这个标题,然后给 x 轴添加注时,给 y 轴添加注时,这个都是我们刚刚所做的操作, 我们做的所有的操作都在这个代码里面啊有所体现,就是说我们的操作通过这个自动生成代码的方式,它它都有对应的代码跟它对应的, 当然这个代码的话,它是 matlab 自动生成的,它这个啊,包括你看起来啊,以及有些写法上啊,都是啊,都都不那么完美,所以我们可以在这个自动生成的代码上,我们来做一些修改,然后得到我们自己的一个代码, 我们将这个代码,我们将它拷走 到我们刚刚自己写的这个这个 m 文件里面,将它拷进来,我们将我们需要的部分,我们将它留着。 首先我们是定义了这个啊图形窗口的名称以及背景。好,这个我们是需要的。这个之后我们是来做一个坐标轴的一些设置, 然后这一句话呢,这这个 parent 点号,这个这个 parent, 然后 figure 一, 这个我们可以删掉, 因为这时候我们只有一个,在这整个绘图的这个窗口里面,我们只有一个图形窗口,就是 figure 一, 所以说没有必要再给他指定他的他的父亲是谁, 将它删掉就可以了。 好,我们在设置这个啊坐标轴间隔的时候,我们习惯上是先设置 x 的 坐标,然后再设置 y 的 坐标,所以我们将这一个先先给它减上来。 好, xt, 我 们其实是将它的间隔设成啊零点五的,大家可以看一下,这边是一个啊,其实是一个向量的值了,也就是零到六点五,然后中间间隔是零点五,没必要这样去写,直接是零到 零点五,然后再到六点五,然后接着我们再设置这个 y 的 这个 tick, 然后呢我们将这一句话将它拷上去,好类似的,其实这个就是负一点二,然后间隔是零点二,然后再到一点二, 它自动生成的代码,它比较傻,会把整个这个项链都给你显示出来,其中你可以用这种方法来写 好。下面的话,打开 x 网格和打开 y 网格,这个我们不要在这里面设置,我们可以直接用 great on 这个命令来写,没必要写的这么麻烦。 这个之后我们就可以加上 great on, 就是 把 x, y 的 网格都给它打开, 下面的话,我们将这一句将它保留,然后我们再设置一下 x 轴的这个范围和 y 轴的范围,这一句是设置 x 轴的范围,然后再设置 y 轴的范围。 设置完之后我们就来绘图了, 大家注意一下,我们刚刚是这个自动生成的代码,它是一个函数的形式,所以这边的话我们要 x, y, 要写上我们这个 m 文件里面具体的这个 x 和 y, 是 x 和小 x 和小 y。 我们在做绘图设置的时候,一般习惯性的是先设置线型,然后再设置这个标记 mark, 所以 我们来先设置一下这个啊线的这一这一些属性。首先是 line style, 就是 线型,将线型设置成中心线, 然后再是线宽是二, line width 是 二。接着我们再来设置一下线的颜色, 这样的话我们将这个啊限行的属性,我们就将它设置好了, 我们换一换一行吧,三个这这个逗号之后后面加三个点号,然后回车就代表换行,换行之后我们再来设置我们这个啊标记的一些属性,首先是我们的标记的形状, mark 是 square, 就是 方块,然后再来设置这个标记的大小, mark size, 将它设置成十好逗号之后我们再换一个, 然后我们再来设置一下它这个填充色和边框色, 这样的话我们将啊绘的绘制出来的这个它的相关的属性,我们也将它设置好了。 好,最后我们来添加标题,添加 x 轴的一个注视, 添加 y 轴的这样一个注视,这样的话我们在自动生成的这个代码的基础上,我们做一些必要的修改,就得到我们自己的代码了,我们来运行一下看看这个效果 好,可以看一下啊, 这边多出来了一个窗口,因为这边我们这个地方绘制了一次,所以我们将它删掉。 下面这个地方已经有 plot, 所以 我们最早绘制出来的那个就不需要了,所有的这个图形的绘制都是在这个 plot 里面。完成好,再来运行一下这个代码, 这样的话我们通过这个写代码的这个方式,一样的就得到我们刚刚用手来设置的这样的一个图形,就是说当你写代码的时候,我不知道怎么写的时候,就可以到这个 到这个编辑器里面自己用啊手动操作的办法来啊,得到你想要的这样的一个显示结果,然后再通过反向生成代码的这个方式, 然后你就可以得到你的这些操作所对应的这个代码,然后对这个自动生成的代码,我们来做一些啊修改和简化,这样的话就可以得到啊,就是就可以相当于说自己来写出这样一个对图形设置的这样一个代码了,有这样的话啊, 会比较的方便,当我写程序一筹莫展的时候,我就可以用这种办法,然后去解读一下自动生成的代码,可以做一个更深刻的一个理解,这个我们就不需要了,将它关掉。 我刚看的是单条曲线的,是比较简单的,下面我们看一个稍微复杂的,我们来绘制一下这样的一个 sin cosine, cosine 加 cosine 这样一个啊三条曲线,然后我们对这三个曲线来做一个设置, 我们生成一个新的 m 文件 一样的,我们先定义 x 轴的,这样 x 轴的 x 的, x 的 很,就是我们先来定义横坐标,也就是 x 坐标零到零点二,然后到二排, 然后我们定义 y 一 是三 x, y 二是三 x, 然后 y 三等于三 x 加三 x, 也就是 y 一 加 y 二了, 然后我们将这个 y 一 y 二 y 三,我们将它写到一个矩阵里面,我们这个矩阵叫小 y, 我们将这个 y 一 y 二 y 三作为矩阵的行,这样的话我们就生成了一个矩阵,矩阵里面的第一行是 y 一, 第二行是 y 二,第三行是 y 三,来运行一下这个代码 叫 m 零七杠二 来看一下这个 x 和 y, 好,首先 x 的 话它是一个横向量,大家可以看一下,一乘三十二,就是它里面有三十二个元素啊,一行三十二列,就是一个三十二个元素的这样的一个横向量, 然后我们再看看小 y, 大家可以看一下啊,它是有三行的,然后是三十二列,三行三十二列, 然后第一行的话其实是 y 一 就是三 e x, 第二行 y 二是 cosine x, 第三行是 y 一 加 y 二,也就是 cosine x 加 cosine x, 这时候我们 plot x y 的 话,我们之前在解读 plot 这个函数的用法的时候已经知道,这时候绘的话,绘制图的话 x 为啊横坐标,然后 y 当中的每一行作为一个纵坐标,然后它里面有刚好有三行,所以说会绘制出来三条线,分别就是啊,第一行的 sign x, 第二行的 sign x, 第三行的 sign x 加 sign x 来绘制一下, 好运行一下这个代码看一下,这时候我们就绘制出来了这样的三条的曲线, 好类似的,这个曲线是一个很初始的一个状态,我们来先用手动操作的办法来对这个曲线进行一些必要的美观化的一个设置。 好我们这些啊 figure 这个图形窗口的这个背景啊,它的这个背景里面我们就不设置了,就让它是默认的这个灰色吧。然后我们第一步设置的话,我们就从坐标轴开始设置起, 我们先来给这个这个图形添加一个标题,叫多条曲线的绘 好,来设置一下 x x 轴的一个范围,还是设置成零到六点五, 然后我们给给它添加一个标题,标题我们还是叫 x 值 y 轴,我们添加一个注式,就是 y 值 y 轴的范围,我们将它设置成负二到二 一样的,我们把这个 box 跟它去掉,然后打开 x 网格线和 y 网格线。 好,这样的话我们做了一个基本的设置,这个图啊变得有一些美观了。然后大家看一下我们这时候是三条曲线,其实我们用肉眼来去区分这三条曲线,就是分别它是什么的话, 比如说我,我想一眼看出来哪一条线是三 x 加三 x 的 话,就不是那么容易,这时候我们可以用添加图例的这样的一个办法,然后在图上就很容易的来看出来,就是哪条线它对应于哪一个量。 好,我们来添加一个图例,图例在这个地方 insert legend, 就是 添加图例的意思,点一下, 好,这时候大家看到了,这时候这边会多出来一个窗,多出来了一个啊,跳出来了一个窗口,然后放在了这个上面,然后比如说这个蓝颜色的这条实线就是 date 一, 然后绿颜色的这条线是 date 二,红颜色的话是 date 三。 虽然这时候有图例了,但是它这边啊是默认的,像 date 一、 date 二、 date 三这样的一些字母,就是我们还是没有办法区分哪个是三 e x, 哪个是三 e x, 以及哪个是三 e x 加三 e x, 所以 说我们可以通过对这个文字我们给它做一个编辑。 好,我们点击一下这个图例,然后这时候大家可以看到这边出来的话是这个图例的编辑器就是 legend 的 edit, 然后我们点到这个 more properties 里面,点一下, 好,然后看一下这个 string 这个属性,大家可以看一下它的这个属性值,是一个一乘三的这个单元素组,好,我们点击一下这个这个填字的这个记号, 这时候大家可以看出来这边就是刚刚图例上显示的这三个字母, data 一, data 二, data 三, 然后我们画图的时候大家还记得吧,我们第一行是三 x, 第二行是三 x, 第三行是三 x 加三 x, 它分别对应于这个三个这个字串,所以我们将这个啊默认的这个 data 一, data 二, data 三这个字串,我们将它改掉就可以了。我们第一行是三 x, 这边我们直接写 sign 吧,简单一点,第二个其实就是第二行就是我们的 cosine, 然后第三行是 sign 加 cosine, 好, 这样的话我们就将它改掉了。 ok, 好, 这时候我们再回到这个图里面去看一下, 这时候这边的字母串就变掉了,变成 sine, cosine 和 sine 加 cosine, 所以 我们通过这个图例我们就可以一眼看出来,比如说绿色的这条线,绿色的这条线它是 cosine x, 然后红色的这条线 cosine x 加 cosine x, 这样的话,有这个图例的话,我们就很容易的来啊,区分出这个多条曲线,它每一条曲线代表什么? 下面我们来,对啊,每一条曲线我们来设置,就是说每一条曲线它的这样的一个显示的一个啊形貌。我们先来设置一下这个 蓝色的这条线,就是 sign 这条线,我们点击到 sign 这条线上,我们将这个线型,我们将它的颜色改成这个虚线,将它的颜色改成平红色。 好,线宽我们保持不变,然后这个标记的话,我们将它改成圆圈, 然后我们来设置 cosine 这条线,我们点到这个绿色的这条线上面,然后我们将它的线型改成中心线,同样呢我们线宽不做处理,然后将它的颜色改成蓝色, 我们将它的这个标记改成下三角,下三角。 然后接着我们再来设置 sign 加 sign 的 这条线 好,颜色是红色,我们保持不变。然后我们就改一个标记,让它标记改成下三角,我们将它标记改成菱形,当 cosine 的 话,这个标记是下三角,我们将 cosine 的 这个标记,我们将它改成菱形, 这时候我们就将这三条线的啊这个显示的这个效果,我们也将它做了一些修改, 这个就是我们啊最终修改得到的这样的一个曲线。 好类似的,我们可以通过反向生成代码的这个方式,我们将我们刚刚的这些操作,它所对应的这个啊 messlab 代码将它自动的生成出来, 这时候可以大家同样的自己可以去看一下这个代码,然后同样的这个代码里面,呃是自动生成的,我们需要对它做一些基本的一些修改,然后得到我们自己的一个代码。 好,我们将这些生成的代码,我们将它拷到我们刚刚的 m 文件里, 这个 plot 就 不要放在这个地方,放在后面。 好,首先我们生成一个图形窗口, 然后是创建这个坐标系, 然后坐标系它的啊坐标系是在这个 figure 一下面的, 其实这时候是没有必要的,因为这时候我们只有这一个作标题,所以这一句这个可以直接去掉,然后打开 x 网格,打开 y 网格,我们也没必要在这个 x axis 这个里面来对它做这个打开的这个操作,直接用 grid on 就 可以了, 所以说这些都都不需要了 哦,为了说那个后面的锯饼操作,我们刚刚的那一句还是保留吧,不然可能大家理解起来可能会跳跃的太快。 我们将这个打开网格的操作,我们将它删掉,然后 x s 的 话还是将它的就是说 x s 它的这个啊,我们这个 x s 一 这个坐标系还是在 fake 一 里面的。好,这一句我们将它保留, 然后我们再来设置这个啊, x 轴的这个范围是零到六点五,然后 y 轴的范围是负二到二, 然后这边话我们需要打开网格 gray 哦, 紧接着的话我们就来绘图, 大家看一下啊 plot, 然后这个里面我们是定义横坐标是我们的 x, 然后大家可以看一下啊,它的纵坐标其实是一个矩阵,也就是说是这个 y 因为会制这三条线,所以这时候我们小 y 是 矩阵, 然后它是在这个 axis 一 里面来绘制,就是说这个啊,这三个图形,它的父亲是啊,坐标轴 axis 一, 所以说就是说将这个三条线绘制在 axis 一 这个坐标里面。 好,紧接着的话 set 这个函数可能大家是比较陌生的, 这个其实就是啊,它的一些锯饼操作了,这个我们在后面马上就会讲到。好,我们就保留这一些这个 set 里面的这些保持不变,因为我们也我们也不确定它现在还不确定这个 set 是 用来干嘛的,这个不要换行了吧,让它写成一行, 这个地方长度还是够显示的,程序会更紧凑一点, 大家可以看一下啊,然后这边的话其实是是在设置这个 限行啊,它的这个记号的形状啊以及颜色啊这些这些属性,然后包括这个 display name, 就是 说啊是 sign, 然后显示第二个显示的话是 cosine, 然后第三个 display name 显示的话是 cosine 加 cosine, 也就是图例上的那些显示的那些内容了。 好,然后再添加这个标题,然后给 x 轴添加注视,给 y 轴添加注视, 然后最后再生成我们的这个图例。好,通过这样的一些啊简化和修改,我们就得到了自己的这个代码,我们来运行一下这个代码,来看一下效果, 再运行一下。好,可以看一下我们通过这个啊代码的这个啊,我们通过这个自动生成的这个代码,我们将它做一些必要修改,我们就得到了自己的代码, 然后我们运行这个代码之后呀,的确就是得到我们刚刚跟我们手动设置的图是一样的这样的一个结果,大家可以来看一下啊,这个是 sign 曲线,然后是 sign 曲线,然后 sign 加 sign 曲线, 我们再来回顾一下,就是这个生成多条曲线的这个代码,我们来回顾一下这个,我们将它关掉,我们来回顾一下这个代码,我们看一下啊,比如说从这个地方开始看这个 figure 是 生成一个图形窗口,但是它有个返回值叫 figure 一, 然后 x 链就是设置 x 轴的范围, 它是它的第一个变量,是 xce, 就是 上面刚刚的这个坐标系的这个返回值,然后同样的 y 轴的这个啊,范围 它的第一个,第一个这个啊,第一个参数也是刚刚生成的这个啊,坐标系的这个返回值,然后类似的, 然后包括这边我们在绘图的时候 plot x y, 然后他的父亲就是 parent 是 xs 一, 也就是说他是在 xs 一 这个里面来做这个绘图进行操作的,也就是说所有的都用到了刚刚的这个返回值。 然然后同样的对于 plot 这个这个绘图的这个命令,他也有一个返回值,叫 plot 一, 然后大家再看一下这个 plot 一, 又放到了这个 set 这个函数的第一个,这第一个输入参数里面,然后它还是 plot 一 括号一,然后 plot 一 括号二, plot 一 括号三。好像很奇怪,然后 plot 一 我们可以去看一下, 将这个 plot 一 拿出来看一下,哦,的确它是一个啊,它是一个项链,然后它是有三行的三行一列,它里面有三个元素,有三个啊值,第一行,第二行,第三行有三个值, 大家可以看一下啊, plot 它有个返回值, plot 一, plot 一 里面有三个值,然后我们绘图的时候,其实我们绘制的是三条线, 然后它刚它这个里面刚好又有三个值,然后在设置这个,我们在设置限行的时候,又分别用了 plot 一 里面的第一个值, plot 一 里面的第二个值,有 plot 一 里面的第三个值,然后所有的这些返回值像 plot 一, x x 一, figure 一, 哎,这些是什么呢? 可能刚学啊 matlab 的 同学对这个可能是有一头雾水的,其实这个就是啊,说到了这里的话,就是我们今天这一讲的一个核心的一个内容,就是图形聚丙的一个概念, 就是我们在绘图的时候,当我们有多条曲线需要进行设置的时候,这时候 matlab 里面它自动生成的代码,它是用这个啊,是这种 图形锯饼的这样的一个方式来来做一个操作的,然后用到了 set 这个函数来设置这一些取这些啊线的这些这些啊线上面的一些颜色啊,一些记号啊这些属性。 所以说我们很有必要去知道什么是 fig 一, 什么是 x 一, 什么又是 plot 一, 这些都代表什么?这个就是我们下面所要说的一个内容。 下面来讲一下这个啊图形聚饼体系,我们将这个代码运行一下,我们对到着这个图来说,这个图形聚聚饼体系 好,我们看一下啊,当前的话是一个屏幕,然后屏幕上面呢有这样的一个图形窗口叫 figure 一, 然后这个图形窗口里面大家再看有一个坐标系,这地方是一个坐标系,对吧?然后坐标系里面有什么呢?三条线,一个图例,还有什么?还有这三个文字,这三组文字 这个其实是很清晰的,从屏幕到图形窗口再到坐标系,然后再到坐标系里面的曲线以及文字,这个是一层一层往下的一个关系。 我们刚刚所说的那些啊关系的话,就是这个里面的蓝颜色文字的一个内容,首先是我们的计算机屏幕,然后计算机屏幕下面呢是一个图形窗口,那图形窗口下面呢?接着又是一个坐标系对象, 然后坐标系里面呢又包含我们的这个啊线条,还有一些文字好,是这样的一个从上而下的这样的一个关系,同样也是包含和被包含的这样的一个关系, 这其实就是我们 maclab 当中的图形聚丙体系。当然啊对于 图形窗口的话,它下面的话不止不只是可以有这个坐标系,它还会还可能会有像这个啊 ui control 就是 界面控制对象和界面菜单对象,然后这两个对象的话是在我们这个做界面设计的时候会用到,就是我们在做 g u i 设计的时候会涉及到这两个对象,然后我们今天的这一讲里面 只涉及到坐标系,就是我们的 figure 下面我们只看坐标系的这种情况,然后在坐标系下面的话,其实它可以有很多对象,除了我们刚刚看到的线条对象和文字对象以外,它还可以有矩形对象、表面对象、光源对象、图像对象和贴面对象。 那今天的话我们只涉及这个线条和文字,然后刚刚我们也看到从计算机屏幕一直往下到线条和文字对象,其实他是从上到下的一个关系,然后 从上而下我们来看的话就是副对象和子对象的关系,其实子对象是包含在副对象里面的, 比如说这两个是子对象,他的副对象就是坐标系,他是包含在坐标系里面的,然后坐标系的他的副对象呢就是图形窗口对象,当然坐标系也是被包含在这个图形窗口里面的,然后顶层的这个对象其实就是我们的计算机屏幕。 好,这个是说了就是整个这个图形里面它的一些对象,它之间的一个啊,从上而下的这样的一个啊,包含和被包含的这样的一个关系。 然后我们再回到这个啊图形窗口里面,我们再回到这个图形窗口对象,以及坐标系对象和这些曲线对象,线条对象和文字对象,我们回到这个对象里, 大家可以看一下啊,我们所有的每一层里面的这个东西,它都叫对象,对象,对象,都是对象对吧?好,但这边还有两只大象对象对吧? 好,都叫对象。那这时候会有一个问题,我们有这么多的对象,而且不同的对象他在的层级也不一样,有的是副对象,有的是子对象。有这么多对象, 那我们的 matelab 怎么样才能把这些对象区分开来?因为都是对象,这时候就涉及到对象的区分和识别, 然后在 matelab 里面,它其实是啊,通过给每一个对象进行一个编号,做一个唯一的一个啊编号,然后用这个编号来代表不同的这个对象, 然后这时候我们给这个,给某一个对象所做的这个编号,就叫图形锯饼, 这时候我们引出了锯饼的这个概念了,就是对象的编号,对象的编号就叫锯饼,这是对象对吧?一对大象对象,它的一个唯一的一个识别的一个编号,就叫做这个对象的锯饼。 因为对象本身我计算机是,你是没有给他量化的,所以说他没有办法去识别你。但是一旦我给这个对象,给某一个对象,比如说我给这个线条对象,给这个文字对象,我给他了一个唯一的一个识别号, 可以看一下啊,比如说我们这个 plot 一 里面是有三个线条的,对吧?所以说这时候我给这三个线条给他了三个三个编号,就是说这三这三组数就分别对应这三个线条的编号, 这时候我这个编号就是我这三个线条的距比,就分别这三个编号就是我三个线条的它的这个距比, 这三个线条它的它的编号分别在这个地方,所以说这时候它的编号我们在 matelab 里面就叫做锯饼,其实这些值就是这些三个线条的它的这个锯饼, 这时候我们就建立起来了聚丙的这样的概念,同样的我们还有 x、 x, 对 吧?我们的坐标系它也是一个对象,我们可以看看坐标系的这个对象,它的编号是 x、 x 一, 同样的它也是一个数值,对吧?所以说 坐标系对象它的这个编码在这个地方,也就是叫做这个坐标系对象,它的聚丙。 好。讲了一圈,其实就是在说一个问啊,说一个概念就什么是聚丙?聚丙就是对象在 matelab 当中的一个唯一的一个编号就是聚丙。 好,我们来类比一下,对于人来说,我们有有,中国有十三亿人,有很多很多人,对吧?然后我们怎么来识别每一个人呢?公安系统里面是 给每一个人给他一个身份证号,也就是说给这个人给他身份证号是他的唯一的一个识别号,然后通过身份证号呢,我们就可以啊识别出这个人是谁。 然后聚丙其实也是类似的,我们有各种各样的对象,然后我们怎么来识别和区分这些对象呢?啊?就就给他一个编号,这个编号就叫聚丙值啊,聚丙值和人的身份证号其实他是一个啊,相似的这样的一个一个东西,对吧? 然后对象和人是这样一个相似的,这样的一个是是有相似性的,身份证号和聚丙有一个相似性, 然后对于人来说,他身份证号和人是一一对应的这样一个关系,并且身份证号是具有唯一性的。那么对于对象和聚丙来说,一样的 锯柄,锯柄和对象它也是一一对应的,然后锯柄的值呢也是有唯一性的,我只要知道一个,知道了一个锯柄,然后我就其实在计算机它就知道这个锯柄代表的是哪个对象,就是这样的一个关系。 然后后面我们在对啊对象的属性去做一些啊设置的时候,那我们就是通过这个对象的编号,也就说这个对象的距来找到这个对象,然后对这个对象来做设置, 然后我们下面来看一下这个啊对象的属性,我们知道对于一个人来说,他有身高、体重、肤色等等属性, 那么同样的对于啊不同的对象来说,它也也有一系列的属性值。比如说我们来看一下啊 figure 这个对象它的属性,也就是图形窗口的属性,它首先有名称,有背景色, 然后对于坐标系啊这个对象它的属性,它有 x 轴的范围, y 轴上面显示的刻度, y 轴上面显示的刻度等等。 然后对于一条线来说呢,它的属性,比如说有线型线宽线的颜色,标记的形状,标记的填充色,标记的边框色等等。然后对于一个文字来说,它的这个属性, 比如说包含有这个文本里面的这个文字的内容啊,它的字体字号是多少啊?以及文字的颜色是什么?这些都是文本的一些属性。 好,我们以这个图为例,我们来看一下就是不同对象的它的这个啊属性查看器。我们以刚刚啊最早画的这个曲线为例, 我们运行一下这个第一个代码,像这个这个 这个图形,将它复制出来,然后我们来看一下不同对象的属性。首先我们来看一下这个 figure 的 属性,我们点这个箭头,我们啊单击一下,双击一下这个图形窗口的这个背景, 双击之后它就会跳出来这个属性查看器,对吧?我们点击这个 more properties, 这时候大家可以看到这是一个查看器,属性查看器查看的对象是这个 figure, figure 对 象就是图形窗口对象,然后这边的话 列出了这个我们这个 figure 图形窗口这个对象它的所有的属性名称属性值,左边是属性名称,右边是属性值, 比如说我们刚刚设置过的这个啊,图形窗口的这个名称这个属性啊,当然还有背景色这个属性,比如说背景色,它的属性名称是 color, 颜色是白色。 然后我们再给大家看一下坐标系这个啊对象的它的这个属性。好,我们点击到这个坐标系上面,同样的去点 more properties, 这时候这个属性查看器就变成了我们的这个坐标系对象了。好,一样的,这边是属性名称,右边是属性值, 比如说我们之前设置过的 x 轴的范围这个属性,来看一下它的属性名称是什么,比如 x li, 对 吧? x 的 范围是零到六点五,这个属性名称叫 x li, 它的值是零到六点五, 类似的,我们可以看线它的所有的属性一样的属性名称属性值, 当然你可以去点击文字 properties, 那 这时候查看的话就是 text 是 是啊,文本的它的这个所有的这个属性名称和属性值。 前面给大家介绍了这个四种对象,图形窗口对象、坐标系对象、线条对象和文本对象。 在 matlab 当中,它提供了一些相关的命令,用来创建图形窗口,比如用 figure 这个命令来创建一个图形窗口对象,用 xs 这个命令来创建一个坐标系对象,用 line 来创建一个线条对象,但是 line 这个函数一般用的比较少,我们 多数情况来画,绘制这个二维曲线的时候,我们是用 plot 这个这个函数的功能会更加的强大, let 用的比较少,所以我们后面的例子都是 plot, 直接用 plot 来绘制这个线条这个对象。 然后创建文本对象的话,通用的方法是用 text 这个函数,同样的 text 用的也比较少,我们一般绘图的时候就是设置 x 坐标, y 坐标和标题,它都有啊,专用的这个函数来给你生成一些啊,这个 x 轴的注视, y 轴的注视和标题,其实生成的都是文本对象。 好,通过前面的介绍啊,我们已经知道就是对象以及对象的聚丙它是什么了。在 matlab 当中啊,有三个比较特殊的,这个啊,对象聚丙叫当前对象聚丙, 比如说我们当前的图形窗口锯饼,我们要获得这个当前的图形窗口锯饼的话,用 gcf 这个命令, gcf 它的全称就是 get current 的 figure gcf 就 可以获取当前图形窗口对象它的这个锯饼值,然后如果获取当前坐标系的锯饼呢?就是 gca get current axis, 然后还有一个叫啊,最近被鼠标单机过的这个对象矩阵就叫 t c o get current object, 然后之前我们在这个代码里面也已经看过啊,用 set 函数, set 函数来它的一些用法我们已经看过了,其实这个是设置这个啊,设置这个线条它的一些属性值,我们用的都是 set 函数, 我们在 matelab 当中来设置一个对象的属性值的时候,我们就使用 set 函数, 然后 set 函数里面的第一个输入参数就是对象的锯柄 h 杠 object, 然后 h 其实就是锯柄的英文单词 h handle, h 是锯饼的英文单词 handle 的 第一个字母,所以说啊,我们一般用,一般很多时候就是说我们来定义这个锯饼的时候,我们前面会习惯性的给它加一个 h, 代表这个是一个锯饼, 这个变量是锯柄,所以说 h 杠 object 就是 一个对象的锯柄,这个里面大家注意一下,英文里面 handle 就是 锯柄的意思,所以说我们一般定义锯柄的时候,前面会加一个 h, 但你也可以不加,这只是书写习惯的一个问题。 然后设置一个对象的属性值的时候,用 set 函数, set 里面的第一个参数就是这个对象的距饼值,其实这个对象的距饼就代表这个对象刚刚已经说过。然后第二个的话写你你想要设置的这个啊对象的属性名称, 然后第三个你去写这个对应属性名称,它的这个属性值大概大概是这样的一个啊,这样的一个 书写的一个一个方法,当然这个里面我们只列了一组,对吧?你后面还可以接着来加很多组,加很多很多组的 property name 和 property value 成对的出现,往后面加就可以了。 好,说了这么多,我们还是来啊做练习,然后这样的话大家理解起来会更深入。 其实啊,最终你理解了之后,还是需要通过啊写代码的方式才能掌握这个用法,才能啊学到真正的东西。所以下面的话,我们来来做一个案例, 做一个会制一个单条曲线,我们先从简单的单条曲线的这个居民操作先来学起,然后再过渡到多条曲线的这样的一个设置。 好,我们来绘制这样的一条曲线啊,这个曲线的这个表达式就是它的输出 y 其实是一个二阶系统的一个时域输出了,这个学过控制理论,或者甚至说机械振动啊这一些 啊,这些同学应该对这些公式至少有所印象吧,有没有印象的话也没有关系,我们只只要根据这个公式去把这个 y 把它定义好了就可以了。 有这样的一个公式,然后这个里面的话, theta, omega, n 和时间 t 都是作为已知已知参数的, 就 theta 和 omega n 是 已知的两个参数,然后 t 的 话是一个时间序列,这些都是已知的量。而有了这些已知量的话,这个其实 这个等式的右边就是可以直接通过这个已知的量将它计算出来。比如说 omega d, 通过两个已知的量, omega, n 和 zeta 可以 直接算出来,这个象脚可以通过 zeta 也可以直接算出来。然后 t 的 话,我们给定的一个时间序也是已知的,直接单进去算就可以算出来这个 y, 因为这个这个 y, t, 这个这个公式还是有一点复杂的,所以说为了我们后面来写代码的这个简洁和方便,我们将 这个公式,我们将它分装到一个函数里,做成一个函数的形式,然后我们再来写这个代码的时候,直接调用这个函数就很容易的啊,将这个 y, t, 将它简单简单明了的将它生成出来。 这时候顺便给大家看一下,就是说怎么来写一个函数来定义刚刚的这个函数,定义刚刚的这个公式,我们用 function 的 形式来给它定义好, 它的这个输出值就是我们想要的这个输出的变量是小 y t, 所以 说输出参数是 y。 然后我们给这个公式起个名字,我们叫二阶系统,用汉语拼音来代替二阶系统, 它的输入参数和已知量是 zeta, omega, n 和 t, 所以 说这三个已知量我们作为一个输入参数, zeta, omega n 和时间 t, 然后我们根据这个公式来计算就可以了。先计算一下 omega d 等于 omega n 乘以根号下,乘以根号下 e 减 z, 它的平方 根号下,根号开,根号就是 s, q, r, t 这个函数 z 它的平方, 这 omega, n 就 将它定义出来了。完了再定义一下这个象角 five octane 的 这个 好,我们将这样就将 omega, d 和 five 就 定义好了,都是通过已知的参数 omega, n 和 theta 直接可以算出来这个 omega, d 和 five, 然后再将 omega, d 和 five 带到上面的这个公式里面,以及输入的这个时间 t 带上去之后,就可以将这个 y 将它算出来了。 来定义 y, 首先是一个指数,指数函数或者 z 乘以 omega 乘以 t, 然后除以根号下, 除完了之后再乘三, omega, d 乘以 t, 加上 five, 这样的话我们就将这个函数定义好了,大家检查一下这个公式,防止大家写错。那注意一下,这边是点乘啊,是点乘,因为这个 t 是 一个,会是一个向量,这边我们要用数组的乘法,所以是点乘。 大家检查一下这个 y t 这个公式,防止写错。 写好的时候我们保存一下保存的文件名,一定要和这个函数名一样,就是一 g x t 二 g 系统, 这样我们就将刚刚的那个公式就定义到这个函数里面去。 好,我们再来新建一个 m 文件, 我们定义一个 zeta 等于零点三, 来定义 omega, n 等于二十。再定一个时间序列,从零开始,零点零二的间隔,再到一点五, 然后我们调用刚刚的那个函数二阶系统, 好,我们就可以计算出来一组吧, 我们运行一下这个代码,零七杠三 看一下啊,好,我们计算出来一组 y 还一组 t, 对 吧? t 的 长度和 y 的 长度是一样的,两个都是向量,都是七十六个,所以我们这时候可以 plot 来看一下效果,这我们就画出来了这样一条曲线, 大家注意一下啊,我们 plot 这个函数的话,我们绘制的话其实是会记这样一条曲线的,这样的一个命令,绘制这样一个线条对象的这样一个命令。但是我们在绘制线条对象的时候,大家有没有发现 它自动会把这个图形窗口对象,就是飞格对象和这个坐标器对象,它将它自动的创建出来了。 其实这个也很容易去理解,因为我们这个图形对象或者这个线条,我们这个线条对象一定是要在这个坐标系对象这个下面的,然后坐标系对象一定又是在这个图形窗口对象下面, 就是我们刚刚说的这个 matlab 当中的这个图形聚平体系,我们的这个线条对象一定是要在坐标系对象下面,然后坐标系对象的这个负对象,它是图形窗口对象。所以我们刚刚虽然我们只只用 plot 这个命令来创建了线条对象, 但是他会把默认的这个默认的会把他的这个线条对象的副对象就是坐标系对象,以及作坐标系对象的这个副对象, figure 对 象,然后将他自动的甚至创建出来。其实这个也很好理解,他是儿子吗? 没有脑子哪有儿子,对吧?同样的 axis 就是 figure 的 儿子,对吧?没有 figure 这个老子,哪有 axis 这个儿子?所以说你即便创建了拉引这个孙子,对吧?你还得把他的爹和他的爷爷也要将它创建出来,它不能单独的存在的,它肯定是有, 它肯定是从从上而下这样一脉相承下来的。所以说大家注意一下,我们虽然只 plot 了这条线,它会自动地生成这个坐标系窗口和这个图形对象,图形图形 c 这个窗口, 因为我们下面的话是要做聚丙操作的,这样的一个实力,对吧?所以说我们将这个 plot plot 完了,它的其实是生成的是一个啊线条的这个对象,我们将这个线条的对象保存在这个 h 里面, h 的 话就是这个刚刚那条线条的它的锯饼, h 就 代表我们 这条线,这时候 h 就是 这条线的锯饼, 好来运行一下,然后我们来最对这个整个这个图形这个系统,我们来给它做一些设置。 首先我们将这个图形窗口的这个背景色,我们将它设置成白色, 我们用 set 函数来进行设置。还记得我们刚刚所说的这个当前当前对当前对象矩阵的这个概念,这时候我们啊当前的图形窗口就是这个 figure 一, 所以说我们来设置这个飞格一的它的这个这个对象的这个啊颜色的这个属性,那我们首先要获得飞格一这个对象,它的距离,它是一个当前的图形窗口对象,我们用 gcf 就 可以获得这个图形窗口的它的这个啊, 就是当前的这个图形窗口的这个锯饼,好,我们用 set 函数好 gcf, 我 们就得到了这个图形窗口的它的这个锯饼。然后我们将它的属性,好,我们将它的这个背景颜色这个属性, 先双击一下这个对象,好吧?然后比如我们要设置这个背景颜色,对于初学者来说,我不知道背景颜色这个这个属性的名称是什么,那我们就到这个啊属性查看器里面去看一下,我们去找一下, 比如他有这么多的属性值,我们去看一下点这边的,这边有有两个加号的,他是将这个属性的这个啊名称将它分类了,比如说我们要看的是颜色,背景颜色,它属于这个啊, 属于这个外观之类的外观和属于外观的这个啊子目录里面的,所以说我们点开这个,这个里面会有一个 color, 大家可以看一下,可以对照一下,现在是灰的,对吧?所以说 现在的这个背景颜色是灰色的,这边是灰色,它的名称叫 color, 所以 说这样通过这种方式的话,我们就可以得到这个属性的名称, 因为我要设置一个啊,设置一个东西的时候,我不一定知道它叫什么名字,它这个属性我不知道它叫什么名字,到属性查看机里面去找一下,这个可读性还是比较强的。 好,那我们就设置背景色,它的名称叫 color, 将它设置成白色,用 rgb 这个来表示的话就是一就是白色。 然后我们再将它的这个这个名称名称,我们将它设置成二阶系统。一样的,我可能不知道它这个名称啊,它的名称啊, 它对应的这个属性属性名是什么一样的,可以去去找一下 data 里面看看。好,这边有一个 name, 对 吧? 就是它了,它的名字很容易理解,名称嘛,就是类,将它的名称设置成二阶系统。 好,我们来运行一下,看看这个效果怎么样。果真啊,这个背景色设置变成了白色,看看这个名称二阶系统,用 set 函数 gcf 就 代表当前的这个 tcf 就是 代表当前的这个图形对象这个窗口, 它的这个锯柄。当前图形对象啊,当前图形窗口对象,它的锯柄就是 tcf get current faker 它的背景色这个属性名称,将它这个属性值设置成白色,然后它的名称这个属性将它设置成二阶向量函数 啊。同样的,我们设置完这个图形窗口对象,我们再设置这个坐标轴这个对象,来设置它的一些属性值, 然后设置这个坐标轴对象,设置这个坐标轴对象的时候一样一样的,我们要先得到这个坐标轴对象它的这个距比,我们用 g c a 就是 get current axis 就 可以获得当前的这个坐标系的它这个距比, 就设置当前这个坐标系,对吧? t c a 就 代表当前坐标系的它的这个距饼,我们将它的 x 轴范围 这个边,我就直接给这个啊属性名称了,关于就是怎么来找这个啊?属性名称一样的,去到这个属性查看机里面,大家去看,然后去 去每个属性值挨个的去读一下,很容易去理解,哪个是哪个属性值代表什么,哪个属性你看代表什么,同样的可以点开那个属性值去看一下,然后确认一下自己选的是对,这边我就直接给这个, 直接把我们要设置的这个内容,直接把它这个属性我就直接写出来,就不再重复了。我们将它的这个 x 轴范围,我们设置成零到一点六,然后再将 y 轴的这个范围 设置成零到一点五, 来看一下效果,来看一下 x 轴的范围零到一点六, y 轴的范围零到一点五,然后我们再来设置这个间隔, 就是 xt 间隔, x 轴我们设置成零点二的一个间隔,零到零点二到一点六, 然后 y 轴的间隔 我们设置成零点二五的一个间隔, 运行一下,看一下效果,看一下 x 轴的间隔,零零点二,零点四,间隔是零点二, y 轴的间隔是零点二五。然后我们来继续设置, 将这个这个图形显示出来,我们下面来设置一下 x 轴坐标它的这个颜色, x 轴的颜色,好吧。然后再设置一下 y 轴的这个颜色, 还是对坐标轴这个对象来进行设置。 x 轴的颜色,它的这个属性名称叫 x color, 将它设置成红色, 然后 y 轴的颜色叫 y, 设置一个,设置一个 rgb 的 一个颜色的一个定义。 好,运行一下,看一下效果,这可以看一下啊,这个 x 轴变成了红色, y 轴是品红色,呃,是粉红色这样的一个情况。 然后再将 x 轴的字体和 y 轴的字体,我们将它加粗,将这些字体将它加粗, 字体的粗细这个属性就是 font weight, 加速就是 bold。 再来看一下效果,好加粗了,对吧?然后我们不需要这个,这边的 box, 我 们不需要它,然后再把网格线打开, 看一下效果,这时候已经效果已经比较好了啊,这边加粗的字,加粗的字颜色,这边打开网格线,将这个 box 去掉, 我们还可以生成。我们将 x 轴和 y 轴,我们将它注视一下,比如 x 轴,我们叫时间 t, y 轴叫输出值 y, 然后再加一个标题, 二阶系统的响应。 这时候其实我们创建的是三个文本对象,同样呢,我们可以将文本对象的这个锯柄将它获取,比如说 我们这个锯柄叫 h x, x 轴注视的这个锯柄叫 h x, 然后 y 轴这个注视的这个锯柄叫 h y, 然后这个标题的这个文字的这个锯柄,我们叫 h t, 所有的都以 h 开头代表 h 的 好。然后我们可以对这个文字进行一些设置,对文本就是 text 的 对象,我们来给它进行一个设置,比如我们先设置 x 轴注视的这个文本它的一个属性,我们设置一下这个文字的颜色吧, 让它设置成黑色,看一下这个运行的结果, 哦,变错了,这应该是 h x, 看一下啊,这时候它显示的是黑色,我们将这个 x 轴的这个啊时间 t 的 这个文本就是 h x 这个锯饼,将它这个颜色设置成了这个黑色, 然后我们可以设置啊 y 轴的这个注视它这个文字的颜色, 我们将它颜色设置成 blue, 我 们再设置这个标题的这个啊文本的这个颜色, 找一个 rgb 分 量 rgb 的 这样的一个颜色定义,大家看一下效果。 然后我们将这个标题的这个字体,我们将它放大一点,像字体这个属性放到 size, 将它设置成十二, 来运行一下这个代码,来看一下效果好,大家看一下啊。这边是我们生成了这个三个文本对象,就是 text 的 对象,分别是 x 轴的注视, y 轴的注视和这个标题标题标题名, 然后将它这三个文本对象分别保存在这三个,它的这个锯柄分分别保存在 h x、 h x、 h y 和 h t 里面,是代表这个三个文本的这个呃文本对象的这个锯柄,然后分别来设置这个三个锯柄的它的这个颜色, 比如说 x 轴注置的颜色零零零代表黑色,然后 y 轴的这个文本的这个颜色 代表是蓝色,就零零一代表蓝色,然后再将这个标题的这个颜色,我们设置成这样的一个 rgb 分 量,大概是一个比较偏绿色的这样的一个颜色,然后同时将它这个字体啊设置成十二,大家可以看到这个字体明显的比这两个 明显的比 x 轴标识和 y 轴标识的这个字体要大,它是十二十二号的一个字。 设置完这个文字之后,我们最后来设置一下这个线型,设置一下我们这个线条对象的它的一些属性,这个 我们刚刚已经将这个线条对象的锯饼保存在 h 里面,所以我们 set 函数直接对 h 进行设置就可以了。我们来先设置它的这个 line style, 就是 线型,将它设置成中心线, 然后再来设置线宽, 你将线框设置成二,然后再来设置它的颜色, 将颜色直接设置成黑色, 看一下效果, 它是中括号。好,这样的话就将这个设置成中心线框是二,颜色是黑色。 好,我们继续对它做设置,对这个线条做设置,我们给它添加一个标识, 给它添加一个上三角的这个标记, 再做一个颜色的一个定义, mark face color。 好, 这样就得到了我们这个这个整个图形的这样一个定义了。 我刚刚定义的是一个上三角的这样的一个标记形状,然后里面给它填上一个青青色的一个颜色,然后边框的这个啊颜色是黑色。 填充直接定义了填充色是一个青色,然后边框没有定义,它是一个默认的一个颜色, 再可以再回味,再回味一下这个代码啊。首先我们是生成了一个 x, 坐标是 y, 坐标是 呃,横坐标是 t, 纵坐标是 y, 然后绘制成这个曲线,然后将这个线条的这个对象呢,它这个锯柄保存在 h 里面,然后紧接着我们来设置这个图形啊图形窗口对象,然后再来设置这个啊坐标系对象, 然后再生成了三个文本对象,然后再来设置这个文本对象的属性,最后再设置这个线条对象的属性,这整个就是一个聚丙操作的这样的一个啊代码的一个标准的一个写法。 好,刚刚我们看的是一个啊单曲线的这样的一个啊锯饼操作的这样的一个实力。下面我们来看一个稍微复杂的,我们看一个多曲线多坐标系的这样的一个啊图形操作的一个图形的锯饼操作的一个实力。 我们生成一个新的 m 文件, 先来看一下我们想要啊绘制的一个图形大概是一个什么样子, 我们会在一个图形窗口里面放两个坐标系,第一个坐标系,第二个坐标系,然后每个坐标系里面我们放置两个啊,两个啊线,两条线, 然后分别第一个坐标系里面放的这个 z 叉值是零点二和零点四,然后第二个坐标系里面我们放 z 叉值,零点六和零点八的这样的两条线, 所以我们首先要定义这个四条线,它上面的这个数据来定,先定义 c 四个 zeta, 然后再定义一下 omega, n 还是等于二十时间, t 还是从零到零点零二到一点五, 好,然后我们来定义四条线的这个 y 值, 我们刚刚将这个 y 的 计算是分装到二阶系统这个函数里面了,就是大家可以看到我算 y 值的话,我直接调用这个函数就可以了,所以就算起来就很方便,没有必要重复的去写公式了。首先是 y 一 对应于 z 叉一, 这样我就很容易把 y 一 就这样算出来调用函数,这时候代码就很简洁,重复的话 y 二再次调用函数,这个就是函数分装所带来的一个好处, 这样的话我们就将这个四条线的这个 y 值,我们将它算出来了, 保存一下, 好,我们先生成一个图形窗口,运行一下这个代码,这时候生生成的是一个空白的这样的一个啊, figure, figure 窗口, 然后我们来对这个 fake 窗口,我们先拿先对它来做一个设置,好吧,这样我们生成的是 fake, 当然我们生成的这个 fake 就是 当前的图形窗口了,对它来做一个设置, gcf 是 它的距比,先设置它的颜色, 让它设置成白色,然后再设置它的名称内 叫二阶系统,看一下这个效果,看一下啊,首先我们生成了一个这样的一个图形窗口对象,然后设置这个当前的这个图形窗口,它的背景色是白色,它的名称是二阶系统。 接着我们就要来生成一个生成坐标系了,对吧?我们要生成的, 我们在这个图形窗口里面先先生成一个坐标系,我们总的是要生成一个两行一列的这样的一个布局的一个啊子坐标系统,然后先生成两行一列当中的第一个坐标系,我们来看一下这个效果。 好,这是大家可以看一下啊。 subplot 就是 要生成一个坐标系,这个坐标系呢?整个飞格里面呢?我们要生成一个两行一列的一个坐标系,这时候是在第一个位置上我们生成一个坐标系,这时候我们只看到了一个坐标系,对吧? 然后我们在这个第一个坐标系里面,我们进行一个绘图,我们将 y 一 和 y 二的这两条曲线绘至在第一个坐标系里面。 好,这时候我们就在第一个坐标系里面这样画了这两条这两条曲线了。好, 我们后面要对这两条曲线,就是 plot 出来的这两个啊线条对象,我们对它进行聚丙操作,所以我们需要将这个啊这两个线条对象的聚丙值,我们将它保存下来,将它保存保存到 h a 里面去, 再运行一下,然后我们来看一下 h a, 大家可以看一下 h a 里面有两个值, 好,这两个值就分别代表这两条这两条线条对向的一个距,一条是蓝颜色线的距,一条是这个绿颜色线的这样一个距,两个值就代表这两条线分别代表两条线的距, 第一个 h a 里面的第一个值就代表 y 一 的距离, h a 里面的第二个值就代表 y 二这条线的一个距离。 好,这样绘制好了,对吧?然后我们进行坐标系的一些设置,先设置一下坐标系, 我们设置一下坐标系的这个范围是零到一点六, y 零 y 的 范围也给它设置成零到一点, 运行一下,看一下,这时候 x 零到一点六, y 也是零到一点六,我看一下啊, set 的 话,这边是 gca, 就是 get current x, 这时候我们是生成了这个 这个坐标系是刚刚生成的,所以说刚刚生成的这个坐标系就是这个坐标系,它就是当前的坐标系,就是 g c a 就 代表它的这个聚,这个坐标系的一个聚丙值。 我们再来将这个坐标系的这个标签进行一个设置, x 轴标签的间隔我们设置成零点二, y 轴的标签我们也要给它设置 y 轴的这个间隔,我们也给它设置成零点二, 好看一下效果。 x 是 间隔零点二, y 的 间隔也是零点二, 然后我们将这个 坐标轴上面的这个字体,我们将它加粗 好,这时候这边的字体都加粗了, 打开网格线,关掉那个 box, 打开网格线,然后这个 box 也关闭了, 然后我们添加注视 x 轴的一个注视叫时间 t, 然后这时候我们直接在这个 x level 这个函数里面,我们来给这个文字添加一个颜色, 当然也可以用我们前面那个例子的方法对锯柄进行一个设置,然后怎么方便怎么来,有时候这样写的话会更方便一点,那我们就这样写好,这时候这句话的意思就是说给 x 轴添加注式时间体,然后这个文本的颜色,是啊,零零一这样的一个颜色, 类似的,我们可以给 y 轴,也给 y 轴来加一个注式, 把它的这个文本的颜色我们也来设一下,我们也设置一个零零一的这样的一个颜色, 来看一下效果好,又添加了两个注示,然后颜色是蓝颜色,然后我们再来添加一个标题, 然后我们将标题的这个字体也给它加粗, 这样的话我们将这这三个文本也给它添加上去了。然后最后的话,我们再来设置一下这两条线的一些属性。 好,我们绘制的这两个线条的这个锯饼保存在 h a 里面,刚刚我们看过 h a 里面其实是有两个量的,然后 h a 里面的第一个值就代表 y 一 的锯饼, h a 里面的第二个值代表 y 二的锯饼。 set, 第一条线是 a 一, 代表第一条线的一个锯饼,我们来设置一下它的线型, 设置成中心线, 线宽设置成二,线的颜色 将它设置成一零零。 再像第一条线的这个 marker, 我 们设置成圆圈, 这边用小 o 表示。好,来看一下这个效果。第一条线颜色是红色,线宽是二,然后中间的这个标记是圆圈,线型是中心线。 第二条线这个代码跟它类似,我们考下来改改一下就好了。然后第二条线的话,它的锯柄是 h h a 二就是 h a 里面的第二个, 然后线型的话和线宽的话跟第一条线一样,然后颜色的话我们改一下,这边我们改成零点五,零点七,零点五, 然后 mark, 我 们改成一个方块 square。 好,我们看一下这个效果,这样的话就得到了这个两条线的这样的一个设置。然后同样的这边的话有两条线,我们需要来给它区分一下,所以加一个图例,图例的话我们直接用 legend 的 这个函数来生成一个图例, 那里面写上我们所要标识的这个啊字母串的这个内容,我们只要标第一个第一条线的话,就是 z 叉值等于零点二, 然后第二条啊线的话,我们想要标识的话就是 z 叉值等于零点四。 将它这个两个字母串,将它放在这个单元素组里面,来看一下这个效果, 看一下啊如果没有最大化的话,这个这个图例的话,将这个线挡住了,我们将这个图例换到这个 这个右下角,右下角在地图上面的方向的话就是东南方向,东南方向就是我们这边加一个 location 的 一个属性,就是位置的一个属性 southeast。 好, 来再看一下这个效果, 这时候图例就放到这个东南方向来了, 这是上面我们在第一个坐标系里面做的一些啊,绘制成两条线,并进行了设置。好,紧接着我们在第二个坐标系里面来绘图, 两行一列,这个呃子坐标系里面的第二个,看一下啊, 好,这是我们在这个下面的第二个位置也生成了一个坐标系,大家注意一下,一旦我们 subplot 二一二就是生成了这个新的坐标系, 最新生成的这个这个坐标系是当前坐标系,这时候的话,如果我们写 g c a 的 话,它就不再是上面这个坐标系了,这时候当前的坐标系就变成了下面的这个坐标系,写 g c a 的 话,就是下面这个刚刚生成的这个坐标系,就是 g c a, 就 代表下面这个坐标系的一个啊距比 这边我们一样的来绘制两条线,然后将这两条线的这个啊锯柄放到 h b 里面,我们来绘制 y 三和 y 四, 这时候在下面这个坐标系里面也绘制了两个两条线了。好,然后我们来设置 这个坐标系的一些属性值,刚刚说过了,这时候如果写 g c a, g c a 的 话,是代表最新生成的这个子族标记,这个子族标记的这个啊聚丙值,现在的话就是用 g c a 就 可以直接获取,所以跟上面的代码是高度类似的,我们将它 将这些拷贝下来,然后做一些修改就可以了。 这边 x 的 范围,我们将它改成零到一点二, 然后 x 的 这个间隔还是零点二, y 的 间隔也是零点二,但是它是到一点二就结束了,然后这边的话字号字字体将它加粗,然后打开网格,关闭这个 box, 然后设置这个啊 x 轴的注视它的颜色,然后 y 轴的注视和颜色,然后再设置一个标题,都跟它跟之前的保持不变,来看一下这个效果。 这些都设置完了之后,同样的我们再来设置这两条线的一些属性。好,同样的我们将这个也要拷拷贝下来,在这个上面做修改, 这时候我们设置 y 三的啊属性, y 三,它的锯柄是 h b 里面的第一个, y 三是 h b 里面的第一个 颜色,一样的,我们也是一零零这个颜色,然后 mark 也是这样, 这样我们来写的简单一点,那这地方注意一下,这是 set, 这边是 h b 啊,所有的这个这一的,这边的话我们都设置的 y 三这条线,所以这边 set 的 话都是 y 三这个线的这个距离,这边是 h b 就是 y 四 h b 二。 好,这样的话我们就将 y 三和 y 四这两条线将它的属性也设置好了,来看一下这个效果。 那上面这个坐标系是类似的啊,因为我们的设置都基本上是类似的,然后让大家能够知道怎么样来用锯饼进行操作就可以了。然后最后一样呢,我们给下面这个坐标系里面加一个,加一个图,利用 legend 这边的话是零点六和零点八的 zatch, 我 们还是放在东南这个方向 好,这样的话就就完成了这个整个图形的绘制,以及啊所有对象的它的一个属性的一个设置, 大家可以再回味一下这个代码。首先我们生成了一个图形窗口,然后直接用 set 函数对当前的这个图形窗口进行了一些属性的一些设置, 然后生成了一个啊,第一个这个紫坐标系,然后在这个紫坐标系里面绘着 y 一 和 y 二的这个图形啊这个线条,然后将这两个 y 一 和 y 一 的 y 一 和 y 二这两个线条的距离保存在 h a 里面。然后接着我们来设置这个坐标系, 然后添加一些注示,然后再设置分别设置 y 一 的属性和 y 二就这条线的一个属性,最后来添加一个 添加一个图例,然后对于第二个子坐标系一样的会是 y 三 y 四的这个啊线,然后对坐标坐标轴,坐标系啊,以及这个文本做一些注视啊,以及一些属性的一些设置。最后添加图例, 大家可以再运行一下,看一下这个结果, 这就是我们刚刚得到的这个最终设置好的那个图 啊,今天这一讲的内容就是这么多,然后获取更多的 matelab 教学视频以及学习资源,请请联系我的 qq 号和微信号, 然后扫一下这个下面的这个二维码,可以加我,加我的一个个人微信,然后右边的这个二维码是一个 matelab 公众号,也欢迎大家一起来加一下这个 matelab 公众号,然后关注更多的啊 matelab 教学的这个动态。好,谢谢大家。

ok, 除了我们对话类的呢,还有一个代码生成类的,因为我们用就是 ai 这个东西,除了或者说在大模型,因为 ai 其实就是大圆模型,对吧?大模型它在代码生成方面呢也是很厉害的,比如说我们可以让他给我们写一个东西,比如你说,呃,帮我写一个简单的用户欢迎程序, 对吧?或者说你说帮我用什么什么语言,对吧?哦,给我写一个什么什么东西,那这种呢,就是说我们可以用我们的大拇指呢去进行一个代码生成,那这对于程序员来说它就非常方便了, 对吧?那,呃,比如你再来说帮我用什么,比如说 js 语言,对吧?生成一个,呃匹配手机号的正则 表达式,对吧?等等。那像这种呢就是关于我们呃就是代码生成方面的一个事例,它呢就是说,嗯, 首先会根据你说的话,对吧?通过你的一些提示,然后呢它就可以执行大量的代码去生成你这个任务。包括我们比如说会用一些,呃,比如说拿了一个对象,对吧?你可以说帮帮我把这个对象呢去改成一个 json 格式的对象, 对吧?那你像这种呢,就是也同样是因为我们为了大模型一些东西,对吧?那他才能给我们去会。而且呢假如说你直接告诉他帮我生成一个什么什么代码,对吧? 呃,或者说你比如说帮我生成一个贪吃蛇小游戏,对吧?那像这种呢,其实我没告诉他没有指定要使用的语言,对吧?那他也可能可以生成,那只是呢,也许生成的结果呢,跟你想要的语言是不匹配的,对不对?所以呢你就可以再给他多一点,比如说给我生成一个,给我用 js 生成一个什么 呃,贪吃蛇的小游戏,对吧?那你规范了,就是在这种逐步去升级的过程中呢?哎,我们的这个大模型呢,它就会变得越来越厉害,说出的东西呢也会越来越符合你的要求。

今天给大家分享一个用豆包工具的应用生成,生成一个速度游戏。首先我们在文本框中输入我们要进行生成游戏的一个需求,点击发送,豆包会根据我们的一个简要需求进行一个完整补充, 我们根据我们的情况看是否需要再次修改,如果不需要更改,就点击确认需求开始生产。接下来豆包会根据我们的需求进行一个代码生产, 豆包会根据我们的一个需求生成一个 html 文件的一个游戏 生成后我们看一下左侧有个数读游戏的一个图标,我们点击,点击过后,后边可以预览到我们的一个代码,上面有一个下载,我们把游戏先下载下来。 好,游戏下载下来过后,我们运行起来就是像一个在网页上的一个游戏应用速度的按我们的有初级、中级、高级。今天的分享就到这里,感谢大家记得关注哦。

e a。 量化交易的核心是把交易策略转化为代码,让计算机自动执行。以下是从新手到实盘的完整操作教程,结合 mt 四 mt 五平台和常见避坑点,帮你快速上手。一、环境搭建,给 e a。 装个工作台。 一、选择平台 m t 四 m t 五、优势,自带 m q l 四 m q l 无语言,专为 e a。 开发设计,社区资源丰富,论坛开源代码指标库,模拟盘免费实盘成本低,避坑指南, 警惕定制版。 e a。 功能 v p s。 选择需靠近服务器,如选香港节点,降低延迟。二、工具包三件套就够了。 mate a t。 写代码的地方类似记事本,但带语法高亮。策略测试器回测 e a。 的 时光机,支持历史数据可化文件管理器管理 e a。 指标脚本的资源库。二、策略编写,让 e a。 听懂人话。一、逻辑拆解,把策略变成如果就势力, 如果价格突破二十日均线且 r s i。 小 于七十,就买入零点。一手代码逻辑, f i m a now 零二零 零 mode s m a price close 零 close 零 i r s i now 零一四 price close 零 七十 order send 关键点条件要具体,避免震荡行情这类模糊描述参数虚量化,如二十日均线而非短期均线。二、代码技巧,用懒人思维防出错变量命名用拼音或英文缩写,如码二十代替 ima, 方便后续修改 错误处理,加上 f odys 偷偷零,避免重复下单。注时标注用写明每段代码的作用,比如止损逻辑三、回测优化,别让历史数据骗了你。一、 数据清洗,剔除假数据,检查 k 线,删除非交易日异常跳空的数据,如闪爆行情 调整点差,在策略测试器中设置真实点差,避免回测盈利,实盘亏损。二、参数优化,用控制变量法防过你和错误做法,同时调整十个参数,直到回测曲线完美正确姿势,固定其他参数,每次只优化一个变量, 如先调均线周期,再调止损比例。三、蒙特卡洛测试,给策略压力。测试原理,随机打乱历史数据顺序,模拟极端行情目标,确保策略在最差情况下仍能存活。 如最大回撤小于等于百分之三十。四、实盘操作,从模拟盘到真金白银,一、 小资金试水,用微型账户降低风险。优势,零点零一收起头,亏完也不心疼。观察点 e a。 是 否按计划执行,如止损是否出发,滑点是否在可接受范围,如欧美货币对通常滑点小于等于二点。 二、渐近加仓,用复利思维放大收益。策略,每月盈利的百分之三十用于加仓,如一千美元、一千三百美元、一六九零美元。 红线单账户资金量小于等于 e a。 设计容量,如高频 e a。 需大于等于一万美元。三、动态监控,给 e a 装个报警器工具,推荐 m t。 四、手机 app 实时接收交易通知, telegram 机器人自定义报警条件,如连续亏损三、单。五、常见误区,新手最容易踩的坑。一、 过度优化曲线,拟合生悲现象,回测年化百分之一百,实盘亏成狗。本质 e a。 只记住了历史数据,没学会应对变化。二、忽视成本,手续费吃掉利润。案例,一、手黄金点差五十美元, 高频交易一天一百手,成本五千美元。对策,选择低点差账户,如 e c n 账户或优化交易频率。 三、情绪化干预,手动关停 e a。 典型场景 e a。 连续亏三、单,手动平仓,错过后续反弹原则,要么完全信任 e a, 要么不用 e a。 六、新手快速上手的三个核心步骤 一、找靠谱的 e a。 优先选透明策略的版本推荐渠道 m t。 四、自带市场官方审核的 e a。 能看到策略描述、历史收益、用户评价、 正规平台定制要求,提供策略逻辑说明书,避免黑箱 e a。 二、安装 e a。 拖到图标里就行,两步完成。第一步,打开 m t。 四、把 e a。 文件复制到文件,打开数据文件,加 m q l。 四、 exp 磁路径下,然后重启 m t。 四、 第二步,在 m t。 四导航栏专家顾问里找到刚安装的 e a。 拖到你要交易的货币对图标上,如 e u r u s d。 的 一小时图,弹出设置窗口后,点击确定图标右上角会出现 e a。 图标,绿色代表正常运行,红色代表有问题。 三、设置参数,根据行情调整,别照八、默认值交易手数建议按本金百分之二风险计算止损,止赢点数根据货币对波动调整,如 eur usd 日军波动八十点,可设止损五十点,止赢八十点。 交易时段有些 ea 适合特定时段,如震荡 ea 适合亚洲盘趋势 ea 适合欧美盘,可在参数里勾选允许交易时段。 七、 ai 辅助,零基础也能写 e a。 如果你完全不懂编程,可以用 ai 辅助生成代码,例如使用 deep seek 等工具输入提示词,如当 e u r u s d。 跌破五十日均限时做空,止损五十点,只应一百点, ai 会帮你生成 m q l 四代码,然后将代码粘贴到 mate 编辑中,保存为 e a 文件,按上述步骤安装和设置参数即可。

你跟 ai 说,帮我做一个电商图片生成软件,他咔咔写完,你不用看一行代码,不用懂前端后端,这就是 web coding, 二零二六年最火的开发方式。今天一次性讲清楚它是什么,怎么操作,用哪些工具。 先说是什么,这个词是 open ai 联合创始人 andre carapace 在 二零二五年二月提出的。 web 就是 感觉,分为编程,它不是一个工具,也不是一个模型, 而是一种全新的开发范式。以前做产品要七个人,产品出原型,设计出稿,前端写页面,后端写接口,客户端联调测试,查 bug, 运维上线光协调就一周,现在只剩两个,你和 ai, 你 描述需求, ai 写代码,出设计,做测试。这就是为什么一人公司突然可行了。具体怎么操作就四步。第一步,说需求,不用精确,说感觉。 帮我做一个电商图片生成工具,上传产品图,自动换背景,加文案,调色调,风格像大牌海报。你不是在写需求文档,是在描述一种感觉。第二步, ai 自动生成代码页面功能,它全包了,你甚至不用看代码。 第三步,看结果,挑毛病,背景抠的不干净,一键导出功能没出来,继续说人话,不用术语。第四步, ai 修改,你再验循环,直到满意。用哪些工具给你分三类讲清楚。第一类,全能编程 agent, open ai codex, 现在免费了,搭载 gpt 五点五, 速度极快,是 web coding 的 首选。 cloud code 也很强,这两个是主力。第二类,可视化搭建平台, lovable bot v 零 replay, 输入一句话,直接出能用的网页,不用装环境,不用配东西,浏览器里全搞定,最适合快速做原型。 第三类 ai 设计工具 figa 嘛? ai can find ai 截一张你喜欢的图扔给他,我想要这种风格,他帮你出稿,怎么用才不翻车?三条铁律,第一,不同任务开不同窗口, codex 里叫 thread, cloud code 里叫 session, 千万别在一个窗口让它改 bug 又写新功能, 它会乱。第二,从小项目开始,别上来就说帮我做微信,先做一个小工具,一个落地页,跑通了再放大。第三,你不用看代码,但必须看结果。 你的角色不是程序员,是产品经理加测试员,盯着功能对不对,体验好不好,你只负责验收。 web coding 最适合谁? 产品经理快速验证想法,设计师把稿子变成真页面,非技术背景做自己的小产品,不适合什么几十万行的企业级项目, 代码量一大, ai 会失控?这个回头专门开一期讲一阵。 taofa 星球里有一群人在互相分享踩过的坑和好用的工具。如果你也想从零开始,关注我,下期见。

你以为做代码类短视频需要什么专业剪辑团队? ae 动画师?还是 premiere? 大 战三个月?但我最近发现,用 cloud code 加一个开源工具,一个人十五分钟就能做出质量不输团队的代码动画视频。 以前我做代码类视频,最费时间的不是写稿子,是做动画,要让观众看懂一行代码怎么运行,你得做图标,做标注,做转场。但现在不一样了,我的工作流是 cloud code 帮我写脚本,然后把脚本扔给 remotion。 remotion 就是 一个用代码做动画的框架,你写 react, 它给你输出视频。 但最近 deepsix flash 这个项目给了我一个启发,它的作者 andreas 说了一句话, kiwi cash 不 该在内存里,它应该在磁盘上。 我突然想明白了做代码视频的本质,你的素材不应该一直在剪辑软件里,就像 k v cash 从内存落到硬盘,你的素材也应该从剪辑软件落到代码本身。 好处是什么?第一,改动快,脚本改一行 remotion, 重新渲染,不用在时间线上拖来拖去。第二,版本可追溯 it log, 能看每一版脚本和动画。第三,可复用你写过的代码动画组建,下次改两行就能用。 这才是真正的人机写作,不是 ai 写稿你剪辑,而是代码直接出视频,中间没有损耗。工具变了,流程就变了,流程变了,一个人的潜能就变了。

curser 一个月二十刀, winserve 也要付费,但有款 ai 编程工具免费开源,五百七十万人已经在用了。它叫 adder, 直接在终端里帮你写代码。说实话,现在的 ai 编程工具有几个通病, 第一, ai 看不懂你的大项目,只能处理单个文件。第二,它改了什么你根本不知道,出了 bug 想回滚都找不到。第三,用 check gpt 写代码,复制粘贴到手抽筋。 adder 最核心的技术叫 ripplemap, 他用 tricer 把你整个代码库的类函数调用关系全解析出来,生成一张结构化地图为给大模型,不管你的项目有多大, ai 都能完整理解上下文,这是其他 ai 编程工具做不到的。你可能会想, ai 编程工具吗?代码肯定是程序员一行行敲的, 但其实 adder 最新版本里百分之八十八的新代码是他自己写的,他用自己的代码来训练自己,改进自己,这叫 singularity 指标。说实话, ai 自己写自己这件事,比我想象的来得快多了。 adder 不 只会写代码,他的 architect 模式可以让一个模型负责设计架构,另一个模型负责写代码。 watch 模式下,你在代码里加个注示, ai 就 自动开始改,还能语音编程,直接开口说需求,改完自动跑,测试发现问题自己修。开源运动创始人 eric s raymond 说, adder 改变了他的生活,每周有一百五十亿 token 通过 adder 处理,五百七十万人安装使用,有用户说效率直接翻了四倍。 这些数字不是吹的,是真实用户掏心窝子说的。终端里的 ai 搭档免费开源,为你而生,五百七十万开发者已经选了它,不管你是全站终端党还是 web coding 爱好者,都值得试试。关注我,下期继续带你发现宝藏开源项目!