当前位置: 首页 > news >正文

优化方法介绍(一)

优化方法介绍(一)

本博客是一个系列博客,主要是介绍各种优化方法,使用 matlab 实现,包括方法介绍,公式推导和优化过程可视化

1 失败案例介绍

本文在编写最速下降法的时候使用了经典的求解函数框架,并使用了自适应步长(alpha)机制,即加入参数flag,当出现梯度下降的情况(Fnew>F0)时,flag自增一(flag = flag + 1),当flag大于等于其阈值(fthershold)时,才执行对于步长alpha的改变(alpha = alpha * multiplyer)操作。通过对于初始步长(alpha)、参数flag的阈值(fthershold)和步长改变量(multiplyer)这三个变量的循环寻优。

经过实践发现,这三个参数的最优值分别为

alpha = 1e-3
fthershold = 2
multiplyer = 1.7

最终优化之后的迭代次数(函数Rosenbrock被调用的次数)为17次,未经优化时的次数为26次。初始步长alpha的数值如此小的原因本文进行了探讨,通过对于函数设置断点之后本文发现,在使用梯度函数gradient计算梯度g时,由于极小值eps(或者说sqrt(eps))的数值比较小,为1e-8级,由于数值计算的问题会导致初始点在x1方向上的梯度达到1e3级,故需要alpha的数值取得比较小才能中和这种巨大的梯度,使得alpha*p的值在(0,10)之间。

代码包括
LineSearchFrameWork.m 文件,用于优化的函数

function [F0,x0,FE,xhis] = LineSearchFrameWork()x0 = [2,2]; %Initial searching pointtol = 1e-6; %the tolerance value of resultsFE = 0;     %how many times the Rosenbrock function is runned FEmax = 1e5;%maxium interation timesalpha = 1e-3;  %initial step lengthF0 = Rosenbrock(x0); % initial function valueflag = 0;            % the determination parameterfthers = 2;          % the thershold of the times that gradient goes downxhis = [];xhis = [xhis; x0];while (F0 > tol) && (FE < FEmax)g = gradient(x0, F0);FE = FE + 2;p = -g;xnew = x0 + alpha*p;Fnew = Rosenbrock(xnew);xhis = [xhis; xnew];if Fnew < F0flag = flag + 1;if flag >= fthersalpha = alpha * 1.7;flag = 0;endendx0 = xnew;F0 = Fnew;end
end

Rosenbrock.m 文件,用于 罗森布尔克 函数值的计算的函数

function y = Rosenbrock(x)y = 100*(x(:, 2) - x(:, 1).^2).^2 + (1 - x(:, 1)).^2;
end

gradient.m 文件,计算梯度值的函数

function g = gradient(x, F0)d = sqrt(eps);g = (Rosenbrock(x + ones(1, 2)*d) - F0) / d;

runner.m 文件,主运行文件,用于调用其他的函数

clc; clear all; cleartol = 1e-6;
[F0,x0,FE,xhis] = LineSearchFrameWork();
if F0 < toldisp("成功了!!!!");
elsedisp("lose loser");
end
plot(xhis(:, 1), xhis(:, 2), xhis(:, 1), xhis(:, 2),'*')
title('最速下降法求Rosenbrock函数的局部极小值')
xlabel('x_1'); ylabel('x_2');

运行后的优化结果为

寻优次数x1 值x2 值
122
20.7980.798
30.8176190.817619
40.8504450.850445
50.8812630.881263
60.9280680.928068
70.9615180.961518
80.9954550.995455
90.9999050.999905
project cover MATLAB 运行结果1

下面是对于MATLAB中的函数报告(profile):

project cover MATLAB 函数报告1

初次实验之后,博主发现本文采用的方法是错误的,它只能适用于像(2,2)到最优点(1,1)这样的寻优过程,因为在本文的方法中直接将寻优过程初始点为(2,2)的Rosenbrock函数当作一个单值函数来处理,使得x1和x2同增同减,但是这种方法的适用范围非常小,只能在寻优初始点处的x1和x2相等时才能采用。

从上方的图表中可以看出,本文初次实现的方法是有很大问题的,因为本文是通过提前知道了寻优的初始点是x1=x2=2的特殊情况,而寻优的理想结果也是同样的x1=x2=1,所以采用了将Rosenbrock函数作为单值函数来进行寻优的方法。这样的方法其实是没有意义的,因为它有两个局限性:1)只适用于Rosenbrock函数;2)只适用于寻优初始点为x1=x2=2的特殊情况。本文研究Rosenbrock函数是为了使得寻优算法更加具有普适性,即对于尽可能多的函数尤其是一些特殊函数,都能够进行寻优的操作,而本文组的这个方法却是背离了这个初衷,只是为了解决问题而解决问题,这样的研究是没有多少价值的,如同鸡肋。

这个方法发现过程是一个巧合,在编写最速下降法的时候,对于梯度计算函数gradient函数,本来应该使用单位矩阵eye(2)的地方,错误地使用成了全1矩阵ones(1, 2),但是却奇迹般的找到了最优值,在一开始,本文是兴奋的,因为首次实现的结果就如此的成功,但是在后续的检查过程中本文发现,这个方法其实是错误的,本文后续对于这个方法有进行了反思,就有了上面对于这个方法的叙述和讨论。

2 最速下降法求解过程介绍

最速下降法的坐标更新表达式为

<

相关文章:

优化方法介绍(一)

优化方法介绍(一) 本博客是一个系列博客,主要是介绍各种优化方法,使用 matlab 实现,包括方法介绍,公式推导和优化过程可视化 1 失败案例介绍 本文在编写最速下降法的时候使用了经典的求解函数框架,并使用了自适应步长(alpha)机制,即加入参数flag,当出现梯度下降的情…...

Centos7.9 升级内核,安装RTX5880驱动

系统镜像下载 https://vault.centos.org/7.9.2009/isos/x86_64/CentOS-7-x86_64-DVD-2009.iso 系统安装步骤省略 开始安装显卡驱动 远程登录查看内核 [root192 ~]# uname -a Linux 192.168.119.166 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x8…...

计算轴承|滚动轴承故障频率

一、轴承故障频率概述 在旋转机械故障诊断中&#xff0c;轴承故障频率&#xff08;BPFO、BPFI、BSF、FTF&#xff09;是重要的分析依据。通过计算这些特征频率&#xff0c;可以帮助工程师&#xff1a; 识别轴承故障类型&#xff08;内圈/外圈/滚动体故障&#xff09;制定振动…...

Python 数据分析01 环境搭建教程

Python 数据分析01 环境搭建教程 一、安装 Python 环境 访问 Python 官方网站 Python 官网&#xff0c;选择适合你操作系统的 Python 版本进行下载。下载完成后&#xff0c;运行安装程序。在安装过程中&#xff0c;建议选择“Add Python to PATH”选项&#xff0c;这样可以在…...

程序化广告行业(80/89):近年发展动态与技术标准演进

程序化广告行业&#xff08;80/89&#xff09;&#xff1a;近年发展动态与技术标准演进 大家好&#xff01;在技术领域探索的过程中&#xff0c;我深刻认识到知识分享的力量&#xff0c;它能让我们在学习的道路上加速前行。写这篇博客&#xff0c;就是希望能和大家一起深入剖析…...

Node.js cluster模块详解

Node.js cluster 模块详解 cluster 模块允许你轻松创建共享同一服务器端口的子进程&#xff08;worker&#xff09;&#xff0c;充分利用多核 CPU 的性能。它是 Node.js 实现高并发的重要工具。 核心概念 主进程&#xff08;Master&#xff09;&#xff1a;负责管理工作进程…...

2025年认证杯数学建模C题完整分析论文(共39页)(含模型、可运行代码)

2025年认证杯数学建模竞赛C题完整分析论文 目录 摘要 一、问题重述 二、问题分析 三、模型假设 四、 模型建立与求解 4.1问题1 4.1.1问题1解析 4.1.2问题1模型建立 4.1.3问题1求解代码 4.1.4问题1求解结果 4.2问题2 4.2.1问题2解析 4.2.2问题2模型建…...

PostgreSQL 的 COPY 命令

PostgreSQL 的 COPY 命令 PostgreSQL 的 COPY 命令是高效数据导入导出的核心工具&#xff0c;性能远超常规 INSERT 语句。以下是 COPY 命令的深度解析&#xff1a; 一 COPY 命令基础 1.1 基本语法对比 命令类型语法示例执行位置文件访问权限服务器端COPYCOPY table FROM /p…...

MySQL进阶-存储引擎索引

目录 一&#xff1a;存储引擎 MySQL体系结构 存储引擎介绍 存储引擎特点 InnoDB MyISAM Memory 区别及特点 存储引擎选择 索引 索引概述 介绍 演示 特点 索引结构 概述 二叉树 B-Tree BTree Hash 索引分类 索引分类 聚集索引&二级索引 一&#xff1…...

为什么需要Refresh Token?

后端服务性能 一种方案是在服务器端保存 Token 状态&#xff0c;用户每次操作都会自动刷新&#xff08;推迟&#xff09; Token 的过期时间——Session 就是采用这种策略来保持用户登录状态的。然而仍然存在这样一个问题&#xff0c;在前后端分离、单页 App 这些情况下&#x…...

基于3A4000及CentOS的银河麒麟V10离线源码编译安装VLC

碰到过的一个具体问题&#xff1a; 源码安装vlc-3.0.x版本&#xff0c;需要注意的是&#xff0c;不要安装ffmpeg-5及以上的版本&#xff0c;即只支持ffmpeg-4的版本&#xff0c;因此&#xff0c;要安装vlc-3.0版本&#xff0c;一个重要的依赖时就会ffmpeg-4。报错没有revision…...

Windows for Redis 后台服务运行

下载 redis 安装包 地址&#xff1a;https://github.com/tporadowski/redis/releases 解压zip压缩包&#xff0c;执行 redis-server.exe 即可以窗口模式运行&#xff08;窗口关闭则服务关闭&#xff09; 运行窗口可以看到&#xff0c;端口是 6379 我这里使用 nvaicat 客服端测…...

前端工程化-包管理NPM-package.json 和 package-lock.json 详解

package.json 和 package-lock.json 详解 1.package.json 基本概念 package.json 是 Node.js 项目的核心配置文件&#xff0c;它定义了项目的基本信息、依赖项、脚本命令等。 主要字段 基本信息字段 name: 项目名称&#xff08;必填&#xff09; version: 项目版本&#xf…...

如何在 Linux 中彻底终止被 `Ctrl+Z` 挂起的进程?

问题场景 在 Linux 终端操作时&#xff0c;你是否曾遇到过这样的情况&#xff1f; 当运行一个命令&#xff08;如 ping www.baidu.com&#xff09;时&#xff0c;不小心按下了 CtrlZ&#xff0c;屏幕上显示类似以下内容&#xff1a; ^Z [2] 已停止 ping www.b…...

人工智能100问☞第3问:深度学习的核心原理是什么?

目录 一、通俗解释 二、专业解析 三、权威参考 深度学习的核心原理是​​通过构建多层神经网络结构,逐层自动提取并组合数据特征,利用反向传播算法优化参数,从而实现对复杂数据的高层次抽象和精准预测​​。 一、通俗解释 ​​深度学习的核心原理,就像是教计算机像婴儿…...

基于若依和elementui实现文件上传(导入Excel表)

基于若依和elementui实现文件上传&#xff08;导入Excel表&#xff09; 前端部分&#xff1a; 若依封装了Apache的poi功能&#xff0c;实现文件的上传和下载 若依使用的是JS语法&#xff0c;需要改造为JS语法才能使用 若依如何解决跨域的问题&#xff1a; 在前端的配置文件中…...

2025年第十六届蓝桥杯省赛真题解析 Java B组(简单经验分享)

之前一年拿了国二后&#xff0c;基本就没刷过题了&#xff0c;实力掉了好多&#xff0c;这次参赛只是为了学校的加分水水而已&#xff0c;希望能拿个省三吧 >_< 目录 1. 逃离高塔思路代码 2. 消失的蓝宝思路代码 3. 电池分组思路代码 4. 魔法科考试思路代码 5. 爆破思路…...

OpenHarmony人才认证证书

OpenHarmony人才认证体系目前支持初级工程师认证&#xff0c;要求了解OpenHarmony开源项目、生态进展及系统移植等基础知识&#xff0c;熟练掌握OpenHarmony的ArkUI、分布式软总线、分布式硬件、分布式数据管理等基础能力使用&#xff0c;具备基础的开发能力。 考试流程可参考O…...

Docker--利用dockerfile搭建mysql主从集群和redis集群

Docker镜像制作的命令 链接 Docker 镜像制作的注意事项 链接 搭建mysql主从集群 mysql主从同步的原理 MySQL主从同步&#xff08;Replication&#xff09;是一种实现数据冗余和高可用性的技术&#xff0c;通过将主数据库&#xff08;Master&#xff09;的变更操作同步到一个…...

LLaMA-Factory双卡4090微调DeepSeek-R1-Distill-Qwen-14B医学领域

unsloth单卡4090微调DeepSeek-R1-Distill-Qwen-14B医学领域后&#xff0c;跑通一下多卡微调。 1&#xff0c;准备2卡RTX 4090 2&#xff0c;准备数据集 医学领域 pip install -U huggingface_hub export HF_ENDPOINThttps://hf-mirror.com huggingface-cli download --resum…...

使用ZSH美化Windows系统Git Bash

此前&#xff0c;我们讲解了一种借助 Windows Subsystem for Linux&#xff08;WSL&#xff09;让用户在 Windows 操作系统中运用 Linux Shell 命令&#xff0c;进而高效地实现文件访问、编译等开发工作。 Windows系统命令行的最佳实践 | 听到微笑的博客 这种借助 Windows Su…...

如何使用PyCharm自动化测试

如何使用PyCharm自动化测试 1.打开PyCharm右击文件&#xff0c;点击新建项目 按照如图配置&#xff0c;然后点击创建 2.创建好后&#xff0c;点击文件&#xff0c;然后点击设置 按照如图步骤&#xff0c;查看selenium和webdriver-manager是否存在 3.以上都完成后按照如图创…...

56.评论日记

2025年4月12日22:06:08 小米事故下的众生相_哔哩哔哩_bilibili...

EMI滤波器和ESD保护等效参数汇总

EMI 共模抑制与ESD设计参考用,特别是工业和机器人&#xff0c;伺服器类产品&#xff0c;特别关注&#xff0c;提高产品稳定性 基带接口 通道数 线性小信号等效参数 数字端口时钟频率 备注 Rline Cline 电池反接 1 — 240Pf — 过压和电池反接保护 …...

java -jar与java -cp的区别

java -jar与java -cp 1、情景描述2、情景分析3、两者区别 通常情况下&#xff0c;我们会看到以下两种命令启动的Java程序&#xff1a; java -jar xxx.jar [args] java -cp xxx.jar mainclass [args]这两种用法有什么区别呢&#xff1f; 1、情景描述 1&#xff09;Java打包单个…...

蓝桥杯嵌入式十五届模拟三(串口、双ADC)

一.LED 先配置LED的八个引脚为GPIO_OutPut&#xff0c;锁存器PD2也是&#xff0c;然后都设置为起始高电平&#xff0c;生成代码时还要去解决引脚冲突问题 二.按键 按键配置&#xff0c;由原理图按键所对引脚要GPIO_Input 生成代码&#xff0c;在文件夹中添加code文件夹&#…...

04-算法打卡-数组-二分查找-leetcode(69)-第四天

1 题目地址 69. x 的平方根 - 力扣&#xff08;LeetCode&#xff09;69. x 的平方根 - 给你一个非负整数 x &#xff0c;计算并返回 x 的 算术平方根 。由于返回类型是整数&#xff0c;结果只保留 整数部分 &#xff0c;小数部分将被 舍去 。注意&#xff1a;不允许使用任何内…...

SpringBoot项目:部门管理系统

文章目录 1、工程搭建1.1 创建项目1.2 创建数据库1.3 准备基础代码1.4 准备mapper接口1.5 准备service层1.6 准备controller层2、接口开发2.1 查询部门2.1.1 接口开发1、工程搭建 1.1 创建项目 主要内容: 创建Springboot工程引入web开发起步依赖、mybatis、mysql驱动、lombok…...

MyBatis-Plus 扩展功能

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 逻辑删除一、配置逻辑删除字段方式一&#xff1a;全局配置&#xff08;推荐&#xff09;方式二&#xff1a;实体类注解配置 二、逻辑删除流程三、完整代码示例1. 实…...

service和endpoints是如何关联的?

在Kubernetes中&#xff0c;Service 和 Endpoints 是两个密切关联的对象&#xff0c;它们共同实现了服务发现和负载均衡的功能。以下是它们之间的关联和工作原理&#xff1a; 1. Service 的定义 Service 是一种抽象&#xff0c;定义了一组逻辑上相关的 Pod&#xff0c;以及用…...

MyBatis-plus 快速入门

提示&#xff1a;MyBatis-Plus&#xff08;MP&#xff09;是一个 MyBatis的增强版 文章目录 前言使用MybatisPlus的基本步骤1、引入MybatisPlus依赖代替Mybatis依赖2、定义Mapper接口并继承BaseMapper他是怎么知道哪张表&#xff0c;哪些字段呢 3、实体类注解4、根据需要添加配…...

【PySpark大数据分析概述】03 PySpark大数据分析

【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈PySpark大数据分析与应用 ⌋ ⌋ ⌋ PySpark作为Apache Spark的Python API&#xff0c;融合Python易用性与Spark分布式计算能力&#xff0c;专为大规模数据处理设计。支持批处理、流计算、机器学习 (MLlib) 和图计算 (GraphX)&am…...

C# --- IEnumerable 和 IEnumerator

C# --- IEnumerable 和 IEnumerator IEnumerableIEnumeratorIEnumerable 和 IEnumerator 的作用手动实现 IEnumerableIEnumerable vs. IQueryable为什么有了ienumerator还需要ienumerable IEnumerable 在C#中&#xff0c;IEnumerable 是一个核心接口&#xff0c;用于表示一个可…...

Excel VBA 运行时错误1004’:方法‘Open’作用于对象‘Workbooks’时失败 的解决方法

使用Excel编写VBA脚本时出现如下错误&#xff1a; 运行时错误1004’: 方法‘Open’作用于对象‘Workbooks’时失败 我的功能是打开一系列excel文件从中自动复制数据到汇总excel的各个指定的sheet中&#xff0c;来源的excel是从网站上下载的。 出现这个问题后从网上查找各种办…...

03-算法打卡-数组-二分查找-leetcode(34)-第三天

1 题目地址 34. 在排序数组中查找元素的第一个和最后一个位置 - 力扣&#xff08;LeetCode&#xff09;34. 在排序数组中查找元素的第一个和最后一个位置 - 给你一个按照非递减顺序排列的整数数组 nums&#xff0c;和一个目标值 target。请你找出给定目标值在数组中的开始位置…...

利用python从零实现Byte Pair Encoding(BPE)

喜欢可以到我的主页订阅专栏哟(^U^)ノ~YO 第一章:自然语言处理与分词技术基础 1.1 自然语言处理的核心挑战 自然语言处理(Natural Language Processing, NLP)作为人工智能领域的重要分支,其核心目标是实现计算机对人类语言的理解与生成。在深度学习技术快速发展的今…...

Redis的分布式锁

Redis的分布式锁 一.分布式锁的简介二.分布式锁的实现1.基本实现2.引入过期时间3.引入校验ID4.引入Lua5.引入看门狗(watch dog)6.引入RedLock算法 一.分布式锁的简介 在一个分布式的系统中&#xff0c; 会涉及到多个节点访问一个公共资源的情况&#xff0c;此时就需要通过锁的…...

SpringBoot分布式项目中实现智能邮件提醒系统

一、应用场景与需求分析 在电商、OA、客服等系统中,邮件提醒是用户触达的重要方式。本文针对以下典型需求进行方案设计: 多类型支持:订单超时、服务到期、待办通知等场景动态内容:支持纯文本/HTML/模板引擎内容格式智能重发:24小时未处理自动升级提醒级别高可用性:分布式…...

LSTM-SVM长短期记忆神经网络结合支持向量机组合模型多特征分类预测/故障诊断,适合新手小白研究学习(Matlab完整源码和数据)

LSTM-SVM长短期记忆神经网络结合支持向量机组合模型多特征分类预测/故障诊断&#xff0c;适合新手小白研究学习&#xff08;Matlab完整源码和数据&#xff09; 目录 LSTM-SVM长短期记忆神经网络结合支持向量机组合模型多特征分类预测/故障诊断&#xff0c;适合新手小白研究学习…...

【图像处理基石】什么是抗锯齿(Anti-Aliasing)?

1. 抗锯齿的定义与作用 抗锯齿&#xff08;Anti-Aliasing, AA&#xff09;是一种用于消除数字图像中因采样不足导致的边缘锯齿现象的技术。锯齿&#xff08;Jaggies&#xff09;通常出现在高分辨率信号以低分辨率呈现时&#xff0c;例如3D图形渲染或图像缩放过程中。抗锯齿通过…...

C++曲线数据统一:如何高效插值并处理多条曲线的x值

在数据处理和科学计算中&#xff0c;我们经常会遇到需要对多条曲线进行统一x值处理的情况。例如&#xff0c;在实验数据记录中&#xff0c;不同传感器可能以不同的采样率记录数据&#xff0c;导致曲线的x值不一致。为了后续的分析和可视化&#xff0c;我们需要将这些曲线的x值统…...

训练模型的方式的两种方式:图像描述(Image Captioning)和对比学习(Contrastive Learning)原理及区别

图像描述&#xff08;Image Captioning&#xff09;和对比学习&#xff08;Contrastive Learning&#xff09;都是深度学习中用于训练模型的方式&#xff0c;但它们的目标、原理和实现方法都有很大不同。让我们分别看看它们的原理和区别。 1. 图像描述&#xff08;Image Capti…...

数据结构:哈希表 | C++中的set与map

上回说到&#xff0c;红黑树是提升了动态数据集中频繁插入或删除操作的性能。而哈希表(Hash Table)&#xff0c;则是解决了传统数组或链表查找数据必须要遍历的缺点。 哈希表 哈希表的特点就是能够让数据通过哈希函数存到表中&#xff0c;哈希函数能够将数据处理为表中位置的索…...

【unity游戏开发——Animator动画】Animator动画状态机复用——重写动画控制器 Animator Override Controller

注意&#xff1a;考虑到UGUI的内容比较多&#xff0c;我将UGUI的内容分开&#xff0c;并全部整合放在【unity游戏开发——Animator动画】专栏里&#xff0c;感兴趣的小伙伴可以前往逐一查看学习。 文章目录 一、状态机复用是什么&#xff1f;二、实战专栏推荐完结 一、状态机复…...

第九届 蓝桥杯 嵌入式 省赛

一、分析 1. LCD 显示 显示 存储位置、定时时间和当前状态存储位置&#xff1a;5个&#xff0c;来存储定时时间当前状态 定时器停止&#xff0c;Standby设置时间&#xff0c;Setting定时器运行&#xff0c;Runing定时器暂停&#xff0c;Pause 伪代码 LCD 显示 # 显示存储位…...

电流互感器的两相星形接线的建模与仿真

微♥“电击小子程高兴的MATLAB小屋”获取巨额优惠 1.模型简介 本仿真模型基于MATLAB/Simulink&#xff08;版本MATLAB 2016Rb&#xff09;软件。建议采用matlab2016 Rb及以上版本打开。&#xff08;若需要其他版本可联系代为转换&#xff09; 2.仿真模型 3.仿真结果 3.1一次…...

【征程 6】工具链 VP 示例中 Cmakelists 解读

1. 引言 在文章【征程 6】VP 简介与单算子实操中&#xff0c;介绍了 VP 是什么&#xff0c;并以单算子 rotate 为例&#xff0c;介绍了 VP API 使用方法。在【征程 6】工具链 VP 示例中日志打印解读 中介绍了 VP 单算子示例中用到的日志打印的头文件应该怎么写。接下来和大家一…...

制作像素风《饥荒》类游戏的整体蓝图和流程

游戏的制作过程和核心要素拆解成以下几个主要部分&#xff1a; 1. 核心概念与玩法设计 (蓝图构思) 游戏类型: 确定是纯粹的生存、带有冒险元素&#xff0c;还是有其他侧重&#xff1f;&#xff08;比如更强的战斗、建造或剧情&#xff09;核心循环: 玩家主要做什么&#xff1…...

Day22 -php开发01--留言板+知识点(超全局变量 文件包含 数据库操作 第三方插件)

环境要求&#xff1a;php7.0.9 小皮 navicat phpstorm24.1 知识点&#xff1a;会写&#xff08;留言板 留言板后台&#xff09; 超全局变量 三方插件的使用 文件包含 1、开启小皮并利用navicat新建一个数据库 注意&#xff1a;本地的服务mysql关闭后 才可打开小皮。属…...

履带小车+六轴机械臂(1)

基于单片机的可移动抓取机械手 采用的是一个履带底盘和六轴机械臂做的 已经实现的功能有&#xff1a;PS2手柄控制六个轴的舵机转动和控制两个直流减速电机的转动&#xff0c;以此来达到控制移动和抓取的目地&#xff0c;以及用手机APP连接蓝牙模块HC-05也能达到六个轴的舵机转…...