自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (3)
  • 收藏
  • 关注

原创 Paket在Linux下使用

paket在Debian10中的使用方法

2022-11-19 09:44:51 478 1

原创 Paket在Linux下使用问题

paket在debian10系统中的使用问题总结

2022-11-19 09:34:26 376

原创 LinuxCNC环境配置

Linux下如何切换到root用户默认安装完成之后并不知道 root 用户的密码,那么如何应用 root 权限呢?sudo 命令Linux sudo 命令以系统管理者的身份执行命令,也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行。使用权限:在 /etc/sudoers 中有出现的使用者。sudo -i|-sdebian@debian:~$ sudo -i通过这种方法输入当前管理员用户的密码就可以进到 root 用户。如果想一直使用 root 权限,要通过 su

2021-10-10 16:00:29 863

原创 LinuxCNC性能剖析

系统级性能优化通常包括两个阶段:性能剖析(performance profiling)和代码优化。性能剖析的目标是寻找性能瓶颈,查找引发性能问题的原因及热点代码。代码优化的目标是针对具体性能问题而优化代码或编译选项,以改善软件性能。在性能剖析阶段,需要借助于现有的 profiling 工具,探测相关模块的热点路径、耗时统计和占比。在代码优化阶段往往需要借助开发者的经验,编写简洁高效的代码,甚至在汇编级别合理使用各种指令,合理安排各种指令的执行顺序。本文主要讲述性能剖析的方法,在这方面,Linux 操作

2021-10-10 15:48:41 1647

原创 LinuxCNC远程调试

Linux 环境下一般使用 GDB 进行调试,但是在调试大型程序时不太方便,比如线程来回切换、查看堆栈等,不是那么直观。使用 VC++ 进行远程调试,有 GUI 界面,比较方便直观查看线程切换、堆栈、函数参数值等等。下面介绍如何使用 VC++ 远程调试 Linux 程序。环境准备Linux 系统上要安装 GDB 和 gcc/g++ 之类的,以便能够编译 C/C++ 代码。注意:编译程序时需加上 -g 选项,否则无法命中断点。远程调试说明一下,VC++ 要能远程调试 Linux 程序,需要的 V

2021-10-10 15:32:24 491 2

原创 LinuxCNC虚拟机环境搭建

本文讲述如何在虚拟机上搭建 LinuxCNC 运行环境,以及搭建过程中遇到的问题和对应解决方案。安装环境的版本:VMware Workstation 16 pro,Debian 7.11,LinuxCNC 2.7.14。安装 Debian 系统下载 Debian 系统镜像文件在 LinuxCNC 官网的 Downloads 页面下载 Debian 7 Wheezy ISO,下载的系统镜像文件为 linuxcnc-2.7.14-wheezy.iso。安装 Debian 系统镜像打开 VMware

2021-10-10 15:15:59 3379 8

原创 离散点的最大轮廓误差

对于连续的三个数据点Qi−1Q_{i-1}Qi−1​,QiQ_iQi​,Qi+1Q_{i+1}Qi+1​,如下图所示轮廓误差的计算方式可以用如下公式求取:{δ1=R(1−cos⁡ϕ1)δ2=R(1−cos⁡ϕ2)=R(1−cos⁡(π−θ−ϕ1))R=Li−12sin⁡ϕ1ϕ1=tan⁡−1(Li−1sin⁡(π−θ)Li+Li−1cos⁡(π−θ))\begin{aligned}\begin{cases}\delta_1 = R\left(1-\cos\phi_1\right) \\\del

2020-07-26 09:01:29 815

原创 B样条曲线插值

B样条曲线反算控制点1 De Boor算法设u∈[uj,uj+1)u\in[u_j,u_{j+1})u∈[uj​,uj+1​),Vi,0=ViV_{i,0}=V_iVi,0​=Vi​,对于i=j−p,⋯ ,ji=j-p,\cdots,ji=j−p,⋯,j令Vi,k=ui+p+1−k−uui+p+1−k−uiVi−1,k−1+u−uiui+p+1−k−uiVi,k−1,k=1,⋯ ,p,i=j−p+k,⋯ ,jV_{i,k}=\dfrac{u_{i+p+1-k}-u}{u_{i+p+1-k}-u_i

2020-07-05 09:07:21 5037 9

原创 BSpline曲线逼近

在逼近问题中,曲线的误差界限EEE和要拟合的数据一起被输入。一般预先并不知道需要多少个控制点才能达到预期的精度EEE,因此逼近一般都需要通过迭代来实现。给定一个确定的控制点数目,比如nnn,构造曲线逼近给定的数据。有很多方法可以完成这一任务。例如,可建立一个非线性优化问题,以控制点、参数值u‾k\overline{u}_kuk​、节点甚至权值作为未知量,而要最小化的目标函数通常是某种形式的误差的度量,例如误差的平方和或最大偏差。在下面将介绍的曲线逼近方法中,只有固定数目的控制点是未知的,并且它们通过线性最

2020-07-05 09:00:47 848 1

原创 De Boor递推算法

De Boor算法设u∈[uj,uj+1)u\in\left[u_j,u_{j+1}\right)u∈[uj​,uj+1​),Vi,0=ViV_{i,0}=V_iVi,0​=Vi​,对于i=j−p,⋯ ,ji=j-p,\cdots,ji=j−p,⋯,j令Vi,k=ui+p+1−k−uui+p+1−k−uiVi−1,k−1+u−uiui+p+1−k−uiVi,k−1,k=1,⋯ ,p,i=j−p+k,⋯ ,jV_{i,k}=\dfrac{u_{i+p+1-k}-u}{u_{i+p+1-k}-u_i}V

2020-07-02 20:58:54 4678 11

原创 B样条曲线曲面介绍

B样条基函数B样条基函数的定义由de Boor和Cox分别导出B样条基函数的递推定义,B样条基函数可以表示为Ni,0(u)={1,ui⩽u<ui+10,其他Ni,p(u)=u−uiui+p−uiNi,p−1(u)+ui+p+1−uui+p+1−ui+1Ni+1,p−1(u),p>0\begin{aligned}N_{i,0}(u) &= \begin{cases}1 ,\quad u_i \leqslant u < u_{i+1} \\0 ,\quad 其他\end

2020-07-02 20:50:03 1763

原创 一般形式的加速度梯形算法

已知线段长度LLL,起点速度v0v_0v0​,利用加速度梯形算法计算能达到的最大终点速度和最小终点速度。其中,最大加速度为ama_mam​。计算能达到的最大终点速度vmv_mvm​设加加速时最大加加速度为JmJ_mJm​,减加速时最大加加速度为Jm′=JmαJ'_m=\dfrac{J_m}{\alpha}Jm′​=αJm​​。加速到最大加速度时运动的距离S首先,计算按照最大加加速度,加速到最大加速度ama_mam​时运动的距离SSS,其加速度变化示意图如下计算运动的加速度a={Jmt,0⩽t⩽

2020-06-22 22:58:40 2930 2

原创 加速度梯形算法:滤波方式下的速度规划

加速度梯形算法(滤波方式下的速度规划)已知线段长度sss,起点速度v0v_0v0​,利用加速度梯形算法(滤波方式)计算能达到的最大终点速度和最小终点速度。其中,系统最大速度为vmv_mvm​,系统最大加速度为ama_mam​,系统最大加加速度为JmJ_mJm​,插补周期为TTT。计算能达到的最大终点速度vm′v'_mvm′​(1)假设实际运动的最大加速度为am′a'_mam′​,则n=vm′−v0am′T,L=am′JmT.\begin{aligned}&n=\dfrac{v'_m-v_

2020-06-21 11:27:58 1174 2

原创 加速度梯形算法:滤波方式下的公式推导

原始速度函数设初始速度为v0v_0v0​,最大加速度为ama_mam​,加速时间为t1t_1t1​,滤波时间为t2t_2t2​,于是有v(t)=v0+amt,t∈[0, t1]f(t)=1t2,t∈[0, t2]\begin{aligned}&v(t)=v_0+a_mt,&& t\in[0,\ t_1] \\&f(t)=\dfrac{1}{t_2},&& t\in[0,\ t_2]\end{aligned}​v(t)=v0​+

2020-06-21 11:17:08 700 2

原创 加速度S形算法:滤波方式下的速度规划

已知线段长度sss,起点速度v0v_0v0​,利用加速度S形算法(滤波方式)计算能达到的最大终点速度和最小终点速度。其中,系统最大速度为vmv_mvm​,系统最大加速度为ama_mam​,系统最大加加速度为JmJ_mJm​,插补周期为TTT。计算能达到的最大终点速度vm′v'_mvm′​(1)假设实际最大加速度为am′a'_mam′​,则n=vm′−v0am′T,L=πam′2JmT.\begin{aligned}&n=\dfrac{v'_m-v_0}{a'_mT}, \\&L=

2020-06-21 09:37:51 1178

原创 加速度S形算法:滤波方式下的公式推导

原始速度函数设初始速度为v0v_0v0​,最大加速度为ama_mam​,加速时间为t1t_1t1​,滤波时间为t2t_2t2​,于是有v(t)=v0+amt,t∈[0, t1]f(t)=π2t2sin⁡(πt2t),t∈[0, t2] \begin{aligned}&v(t)=v_0+a_mt, && t\in[0,\ t_1] \\&f(t)=\dfrac{\pi}{2t_2}\sin(\dfrac{\pi}{t_2}t), &&

2020-06-21 09:34:15 850 1

原创 Python自动获取Typora屏幕坐标将Markdown文件转为html文件

获取控件屏幕坐标由于 Typora 软件是多进程,并且使用工具 Pywinauto 查看其 control_type 是 Pane,不能像网上介绍的 notepad 的样例那样去使用,因此这里使用工具 PyAutoGUI,根据界面屏幕坐标去操作 Typora 软件。由于这类控件没有 API 方法,因此只能通过 print_control_identifiers() 方法打印出控件的屏幕坐标信息,通过从控制台获取打印的信息,并进行处理得到控件的坐标信息,通过坐标值来操作此类控件,具体实现可以看下面的代码:

2020-05-19 23:15:49 788 1

原创 高速缓存与矩阵乘法(三)

CLAPACK 注意事项在使用 CLAPACK 前,要先清楚四点:首先是 Levels of Routines,即函数的层次,链接中有详细的介绍,这里不再赘述。其次是 Naming Scheme,即命名规则,链接中有详细的介绍,这里不再赘述。再次是 CLAPACK 的函数不接收二维数组,即只能用一维数组代替二维数组。例如,我想要个 array2 = {{1,2},{3,4}},那么正确的写法是 array[2*2] = {1,2,3,4}。最后是行主序与列主序的问题。CLAPACK 看一维数组时会

2020-05-17 21:43:06 446

原创 高速缓存与矩阵乘法(二)

LAPACK如果矩阵的规模较小,直接按照公式展开计算倒是看不出性能上有什么大问题,比如两个二维方阵相乘,计算公式如下c[i][j]=∑k=1na[i][k]∗b[k][j],1⩽i⩽n,1⩽j⩽nc[i][j]=\sum^n_{k=1}a[i][k]*b[k][j],\quad 1\leqslant i\leqslant n,1\leqslant j\leqslant nc[i][j]=k=1∑n​a[i][k]∗b[k][j],1⩽i⩽n,1⩽j⩽n但是,随着矩阵规模的增大,这种计算方式的性能瓶

2020-05-17 15:36:08 715

原创 高速缓存与矩阵乘法(一)

来源:数据结构、算法与应用 C++语言描述(原书第2版)简单计算机模型我们来看一个简单的计算机模型,它的存储由一个一级缓存 L1(level 1)、一个二级缓存 L2 和主存构成。算术和逻辑操作由算术和逻辑单元(ALU)对存储在寄存器(R)中的数据进行处理来完成。下图是这个计算机模型的一部分。通常,主存的大小是几十或几百 MB;二级缓存的大小不足 1MB;一级缓存的大小是几十 KB;寄存器的数量在 8 和 32 之间。程序开始运行时,所有数据都在主存。要执行一个算术运算,例如加法,首先把相加的数据

2020-05-17 08:45:45 1900

原创 批处理脚本监视进程资源

在 windows 系统下,可以通过批处理脚本监视进程的资源使用情况,并且定时输出到文件中。批处理脚本(xxx.bat)如下:rem 设置输出文件的路径set filePath=E:\xxx.txt:startrem 输出系统当前日期和时间echo %date:~0,4%-%date:~5,2%-%date:~8,2% %time:~0,2%:%time:~3,2%:%time:~6,2% >> %filePath%rem 输出指定进程(cmd.exe)对应的资源使用taskli

2020-05-16 22:04:12 579

原创 WinEdt生成的 pdf 书签乱码

使用 WinEdt 编译生成 pdf 文件书签时乱码,解决方法:先点击编译生成一次 pdf 文件,此时书签中内容为乱码;将 PDF 类型切换到 PDFLatex,如图,再点击生成一次,此时书签中内容就可以正常显示。...

2020-05-16 21:50:06 1289 2

原创 自动化Python脚本:用Typora将Markdown文件转为html文件

本文介绍自动化 Python 脚本,实现用 Typora 将 Markdown 文件转为 html 文件。背景介绍目前比较流行使用 Markdown 形式的开发文档,并且使用版本管理工具维护开发文档的增删和修改。而对于开发文档的阅读者来说,可能他们更多是的阅读需要,并没有编辑和修改的需求,因此如果能够使用浏览器进行访问,则将会是比较愉悦的体验,还可以避免误修改的风险。这里介绍一款比较优秀并且免费的 Markdown 文档编辑工具 Typora,其介绍及使用说明可以自行到网上查阅,这里不再赘述。接下来将

2020-05-13 22:43:28 2473 2

原创 使用 Typora 编辑 Markdown 文件时插入链接的方式

这里总结一下使用 Typora 工具编辑 Markdown 文件时,插入链接的语法和注意事项。Markdown 支持两种形式的链接语法:行内式和参考式两种形式,行内式一般使用较多。行内式语法说明:[]里写链接文字,()里写链接地址,()中的""可以为链接指定 title 属性,title 属性可加可不加。title 属性的效果是鼠标悬停在链接上会出现的 title 文字。快捷键 Ctrl+...

2020-04-29 22:20:06 18626 4

原创 使用 Typora 编辑 Markdown 文件时插入图片的方式

这里总结一下使用 Typora 工具编辑 Markdown 文件时,插入图片的语法和注意事项。图片的插入方式分为行内式和参考式写法。语法中图片Alt的意思是如果图片因为某些原因不能显示,就用定义的图片Alt文字来代替图片。图片Title表示鼠标悬停于图片上时出现的文字。Alt和Title都不是必须的。行内式语法说明:![图片Alt](图片地址 "图片Title")![样例图](Resour...

2020-04-29 21:42:23 6269 2

原创 图解:搭建内网网站

搭建内网网站在 Windows Server 2016 上搭建内网网站,该网站允许通过浏览器访问存储在服务器上的内容,下面介绍搭建的过程及注意事项。安装 Web 服务器(IIS)在新建网站之前,需要先安装 Web 服务器(IIS)。在【服务器管理器】选项页,点击【添加角色和功能】,如下图所示按照向导介绍,无需操作,直接点击【下一步】由于是在本地安装,因此选择【基于角色或基于功能的安装...

2020-04-26 22:59:00 15391

原创 图解:域控制器安装

图解:域控制器安装在 Windows Server 2016 上安装域控制器,需要两个步骤:第一步,安装 Active Directory 域服务;第二步,将本地服务器提升为域控制器。安装 Active Directory 域服务在【服务器管理器】选项页中选择【添加角色和功能】,如下图所示按照向导介绍,无需操作,直接点击【下一步】由于是在本地安装,因此选择【基于角色或基于功能的安装】...

2020-04-25 22:00:28 1931

原创 更改特定后缀文件的默认关联程序

更改特定后缀文件的默认关联程序查看特定后缀文件的所有默认关联程序windows7系统:在命令提示符中输入regedit,打开注册表编辑器,在HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts下找到特定后缀名对应的项,可检查该项下其他项的值(可能有OpenWithList、OpenWi...

2018-04-14 18:21:56 3200

原创 一元三次方程的实数根

由一元三次方程的一般形式推到出不带二次项的形式,然后利用求根公式直接计算方程的实数根,并附有C++代码实现。

2017-09-23 11:59:10 5757

Python自动化脚本MdToHtml(新).7z

介绍如何使用自动化 Python 脚本,实现用 Typora 将 Markdown 文件转换为 html 文件(自动获取各控件的屏幕坐标),并在 html 文件中添加自定义格式生成目录大纲,然后用浏览器访问转换后的 html 文件。

2020-05-19

CLAPACKTester.7z

用C++类封装CLAPACK库中的矩阵相乘和求解线性方程组的函数接口,并且包含测试程序。对于矩阵相乘,提供按照公式直接展开进行计算的方式,并和使用CLEPACK库的接口进行性能对比。

2020-05-17

Python自动化脚本MdToHtml.7z

介绍如何使用自动化 Python 脚本,实现用 Typora 将 Markdown 文件转换为 html 文件,并在 html 文件中添加自定义格式生成目录大纲,然后用浏览器访问转换后的 html 文件。

2020-05-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除