- 博客(58)
- 资源 (5)
- 收藏
- 关注
原创 两轮自平衡小车的LQR控制设计(1): 系统建模和LQR控制器设计
两轮自平衡小车是常见的轮式移动机器人,本文详细推导了两轮自平衡小车的动力学建模和LQR自平衡控制器的设计原理,然后采用Simscape搭建了小车的物理模型并进行了控制器仿真验证。
2024-05-23 16:16:07 1717
原创 Python实现2人斯塔克尔伯格(Stackelberg)非完美信息定价博弈
斯塔克尔伯格定价博弈是一种经济学中的博弈模型,常用于描述市场中的价格竞争。在斯塔克尔伯格定价博弈中,假设有两个参与者,一个是领先者(leader),另一个是追随者(follower领先者首先决定价格,而追随者在得知领先者的价格后再做出自己的定价。这种顺序决策的特点使得领先者可以考虑追随者的反应,并相应地制定策略。在斯塔克尔伯格定价博弈中,领先者通常会优先考虑自身利益最大化,而追随者则会根据领先者的定价做出反应。领先者的目标是通过定价策略来最大化自己的利润,而追随者的目标是尽可能减少自己的损失。
2024-02-16 00:39:16 1425
原创 Visual Studio 2022封装C代码为x64和x86平台动态库
本文介绍如何使用Visual Studio 2022将C语言函数封装成x64和x86平台上使用的动态链接库(dll文件)并生成对应的静态链接库(lib文件),以及如何在C++程序中调用生成的dll。
2023-12-16 22:19:44 1750
原创 Simulink模型编译加密共享
为了保护知识产权,有时候需要让用户能使用slx模型运行仿真,但是无法查看和修改模型和子系统的结构,这时可以用来生成受保护的模型。主要步骤如下:(1)将slx模型的各个子系统唯一命名(2)将各个子系统转换成引用模型((3)使用将转换到的引用模型打包为受保护的slxp模型(4)在原总slx模型中引用slxp模型。
2023-10-20 23:59:18 4145 13
原创 Matlab实现支持代码生成的栈和队列数据结构
matlab没有内置的队列和栈数据结构,本文介绍一种使用Matlba函数和coder.varsize实现存储结构体的队列和栈方法,支持代码生成转成C语言或mex。%CREATEVT 预创建结构体,方便代码生成% 此处显示详细说明vt=struct;vt.x=0;vt.y=0;vt.z=0;end。
2023-07-13 10:39:53 1049
原创 Java 小技巧:打印日历表并显示事件
介绍一种在控制台打印本月日历表,显示时间和在今天日期后添加的方法。实现思路很简单,就是打印前先遍历一遍内容,确定最大列宽,然后每列按最大列宽计算空填充,从而实现对齐。
2023-06-17 21:48:14 377
原创 MATLAB 两个或多个向量元素随机排列组合
有时需要将MATLAB的两个或多个向量的元素随机排列,如向量A=[1,2,3], B=[4,5,6],需要生成一个3x2的向量C,其中每行都是A和B两个向量的元素随机组合,这里介绍一种简单的方法。
2023-03-04 22:23:26 1837
原创 Pyside6(3): 自动生成UI的Qt参数输入对话框
本文将数值模型假定为类似于json的树形结构,采用递归遍历树的方式生成对应的Qt 控件树,从而实现根据不同的数值模型动态生成参数输入界面。当用户编辑完数值模型点击ok按钮时,再次遍历生成的Qt控件树,从而获取相应的输入数据。另外还具有合法值校验的功能,可以定位到非法输入对应的空间并以红色边框高亮显示的功能。
2023-02-16 09:57:52 1363
原创 SWIG妙用: MATLAB程序转python和Java库
Python调用MATLAB程序需要安装MATLAB官方提供的支持库(MATLAB Runtime),而且适配的python版本有限,不方便移植。本文的思路是用MATLAB Coder将MATLAB源程序转为C/C++代码,然后用swig将其打包成python 动态库pyd,从而避免程序移植时需要安装MATLAB支持库。
2023-02-11 21:45:14 1839 2
原创 《融合视觉显著性和局部熵的红外弱小目标检测》论文复现
复现的论文为《融合视觉显著性和局部熵的红外弱小目标检测》(赵鹏鹏,李庶中等,中国光学2022,以下简称论文)。论文提出了一种基于视觉显著性和局部熵的红外弱小目标检测方法。该方法首先利用融合局部熵的方法提取包含目标的感兴趣区域,对红外弱小目标实现粗定位。然后再利用改进的视觉显著性检测方法在感兴趣区域计算局部对比度,获得感兴趣区域的显著图。最后利用阈值法分割显著图像提取红外弱小目标,实现红外弱小目标的检测。
2022-12-22 12:00:33 1560 7
原创 微信小程序JavaScript函数中的异步操作顺序执行
1.前言小程序开发中经常遇到后一个操作依赖前一个操作异步执行结果的情形。虽然JavaScript是单线程语言,但是主线程中的耗时操作通常都被放入任务队列中异步执行,避免阻塞主线程,例如:let f1 = function (sequence) { console.log("f1开始执行"); setTimeout(function () { console.log("f1执行完成"); },10)}let f2 = function (sequence) { conso
2022-02-03 21:26:21 6116
原创 STK航空仿真(五):坐标系
1.创建场景%1.打开一个STK应用实例,如果版本是STKX,则改为uiapp = actxserver('STKX.application');uiapp = actxserver('STK10.application');%获取STK用户界面root = uiapp.Personality2;%显示界面uiapp.visible = 1;%2.创建一个新场景,名为aircraf_simulationroot.NewScenario('aircraf_simulation');
2021-10-15 21:22:05 6664 13
原创 Django admin登录页面验证码(2):滑动验证码和点选验证码
1.常见滑动验证码常见的滑动验证码有比较简单的滑块式:还有更复杂一些的滑动拼图式:django项目创建,verify.js插件引入、静态文件设置和自定义Django admin登录模板参见:Django admin登录页面验证码(1):普通字符和算数验证码_anbuqi的博客-CSDN博客2.填充验证码到login.html中{#继承基础登录模板#}{% extends "admin/login_base.html" %}{% load i18n static %}..
2021-10-04 15:29:43 1348
原创 Django admin登录页面验证码(1):普通字符和算术验证码
1.前言django的登录界面默认只有用户名和密码输入框,没有额外的安全防护,如果在生产环境中不加登录验证码直接使用,是非常危险的,因为攻击者可以用特定程序暴力破解的方式进行不断的登录尝试,直至得出正确的登录密码,所以必须加上登录验证码,提高网站攻击成本。2. 自定义登录页面首先下载verify.js前端登录验证插件:jquery验证码插件verify.js_jQuery之家-自由分享jQuery、html5、css3的插件库3.添加验证码数据库4.覆盖默认登录页面5
2021-10-04 14:55:18 2075
原创 pyside6(2):QMainWindow
1.Qt UI界面构建方式GUI程序,UI当然是重中之重,构建UI界面占据了大部分的开发时间。2.UI界面构建的原则
2021-09-30 16:13:56 3230
原创 STK 航空仿真(三)雷达
1.雷达1.1 添加雷达到飞机首先打开STK,添加场景和飞机:%打开一个STK应用实例uiapp = actxserver('STK10.application');%获取STK用户界面root = uiapp.Personality2;%显示界面uiapp.visible = 1; %创建一个新场景并设定时区root.NewScenario('open_STK'); %设置时间日期格式为UTCGroot.UnitPreferences.Item('DateFormat'
2021-09-25 14:48:51 5830 2
原创 pyside6(1):Qt 资源系统和qrc文件使用
1.Qt资源系统简介Qt 资源系统是一种独立于平台的资源管理器,用于在应用程序的可执行文件中存储二进制文件。如果应用程序始终需要一组特定的文件(图标、翻译文件等),使用Qt资源管理系统可以有效防止应用文件丢失。简而言之,Qt资源系统就是桌面应用中的静态文件管理器。Qt资源系统基于qmake、rcc(Qt 的资源编译器)和QFile。...
2021-09-25 10:40:15 5367 7
原创 STK 航空仿真(二)STK MATLAB自动化(2)场景和飞机模型基础设置
1.重要自动化操作1.1 场景设置1.1.1 显示STK窗口界面%打开一个STK应用实例uiapp = actxserver('STK10.application');%获取STK用户界面root = uiapp.Personality2;%显示界面uiapp.visible = 1; 需要注意是创建uiapp的STK版本号要和本机安装的版本号一致,我这里安装的是STK10。注:下面代码中出现的root变量均为本段代码中的root。注意(1)如果需要创建打开多个STK
2021-09-22 21:21:58 7091 10
原创 STK 航空仿真(二)STK MATLAB自动化(1)自动化目的和方法简介
1.STK自动化的目的STK自动化是指使用其他软件或者程序语言,直接操作STK对象和UI界面。之所以需要STK自动化,是因为直接使用STK UI界面进行仿真存在以下困境:(1)通常情况下,STK航空仿真需要大量的数据,例如一系列的飞机轨迹点等等,手动在STK界面中输入这些轨迹点比较耗时耗力。(2)STK航空仿真大多是实时仿真,数据不是预先给定的,是由一定的算法或者其他软件(如MATLAB)在仿真时生成的。(3)项目交付时,需要接收方熟练使用STK,然而对甲方爸爸提这种要求百分之百会被喷。
2021-09-20 16:49:10 5772 1
原创 STK航空仿真(一)界面配置和插入模型
1.STK简介所用版本为STK10。STK是Satellite Tool Kit的简称,即卫星工具包。STK提供分析引擎用于计算数据、并可显示多种形式的二维地图,显示卫星和其它对象如运载火箭、导弹、飞机、地面车辆、目标等。STK的核心能力是产生位置和姿态数据、获取时间、遥感器覆盖分析。STK专业版扩展了STK的基本分析能力,包括附加的轨道预报算法、姿态定义、坐标类型和坐标系统、遥感器类型、高级的约束条件定义,以及卫星、城市、地面站和恒星数据库。对于特定的分析任务,STK提供了附加分析模块,可以解
2021-09-19 16:53:22 17333 8
原创 Django 架设Restful API(一)开发准备:restful api基础
1.项目背景假设一个微信小程序端+安卓端+服务器的线上商城项目,需求如下:服务器要求使用django 3.0框架,实现数据存储和内容管理功能(CMS, content managesystem)。 小程序向普通用户提供服务,实现数据访问,用户登录注册,反馈等功能 安卓app向管理员提供服务,实现登录,数据上传和管理。要求遵循Restful风格使用django rest framework+OAuth 2.0 库架设提供给安卓App和微信小程序使用的API。API需要实现以下原则:快速性:.
2021-05-02 23:01:37 1720
原创 Django 架设 Restful API(二)开发准备:django开发环境搭建
3.使用Django搭建API所有步骤中的账号密码仅供参考,千万不要在自己的生产环境中使用。3.1 开发目标限于篇幅,这里以提供给安卓端的API为例,实现安卓端管理员注册/登录,产品增删查改六个主要API,以及图片上传,下载和显示等辅助API。3.2开发准备鉴于这是一个较大的项目,不建议一上来就直接写代码,应该首先思考一下项目的组织和管理问题。个人认为要考虑以下几个问题:代码托管:代码托管关系到团队的协作问题和代码安全问题,常用的代码托管平台有:Github和码云,推荐使用码云,因.
2021-05-02 22:59:59 625
原创 Django 架设 Restful API(三)API开发:数据模型和API通用配置
1.背景假设一个微信小程序端+安卓端+服务器的三端项目,需求如下:服务器要求使用django 3.0框架,实现数据存储和内容管理功能(CMS content manager system)。 小程序向普通用户提供服务,实现数据访问,用户登录注册等功能 安卓app向管理员提供服务,实现登录,数据上传和管理。要求遵循Restful风格使用django rest framework假设API。...
2021-05-02 22:58:27 8030 2
原创 Django 架设 Restful API(四)API开发:OAuth2.0 认证和鉴权
1.Django 架设 Restful API(三)
2021-05-02 22:56:44 3282 3
原创 Django 架设 Restful API(五)API开发:资源API实现
1.Restful API 实现API使用专用域名:部署时添加子域名解析。 API的版本号放入URL中:django rest framework API版本控制器实现。 URL中不能有动词,只能有名词,而且所用的名词往往与数据库的表格名对应。 HTTP动词与资源操作相对应:3、4使用django rest framework自动路由器实现。 过滤返回的信息:django rest framework过滤器。 状态码和错误处理:django rest framework Response类和A
2021-05-02 22:55:11 515 3
原创 Django 架设 Restful API(六)项目部署:静态文件部署和CDN使用
1.静态文件部署静态文件是指html,js脚本和图片等不经常修改的文件。1.1 三个重要的静态文件路径配置(1) STATIC_ROOT如果 staticfiles contrib 应用(INSTALLED_APPS中设置的)已启用(如在默认的项目模板中), collectstatic 管理命令将收集静态文件到这个目录。(2)STATIC_URL引用 STATIC_ROOT指定目录中的静态文件时要使用的 URL。例如设置为 "/static/“时 或,引用URL就为"http://static.
2021-05-02 22:53:03 811 3
原创 Django 架设 Restful API(七)项目部署:构建docker容器
5.线上测试环境和生产环境搭建docker使用参见:https://www.runoob.com/docker/ubuntu-docker-install.html5.1 docker 安装由于我使用的是Ubuntu服务器,因此这里安装的是Ubuntu下的版本:curl -sSL https://get.daocloud.io/docker | sh安装完成输入命令docker看是否会出现以下信息:5.2 环境配置docker只是一个容器,为了运行django项目.
2021-05-02 22:51:35 1016
原创 Django 架设 Restful API(八)项目部署:定制django管理后台、日志设置
1. 定制django管理后台管理后台详细定制参见:https://blog.csdn.net/anbuqi/article/details/103077268。2.运行日志配置日志配置参考:https://docs.djangoproject.com/zh-hans/3.1/topics/logging/在settings.py同级目录下新建日志设置文件:然后编写日志配置文件:import osfrom pathlib import PathBASE_DIR = Pat
2021-05-02 22:49:39 475
原创 docker mysqld 启动时 Failed to find valid data directory 错误解决
1.问题描述使用docker拉取了mysql镜像并创建了mysql容器,但是容器内的mysqld启动时报错:错误(1)[Server] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!错误(2)[ERROR] [MY-011011] [Server] Failed to find valid data directory.[ERROR] [MY-
2021-03-10 22:26:43 9024 2
原创 第1章 ADAMS/View 基础知识
第1章 ADMAS/View基础知识**计算机辅助工程(CAE):**广义CAE包括计算机辅助设计(CAD),计算机辅助创新(CAI),计算机辅助分析(CAA),计算机辅助优化(CAO),计算机辅助制造(CAM)。狭义计算机辅助工程主要包括计算流体力学(CFD),计算多体系统动力学(CMD),计算结构力学(有限元分析,FEA)。**虚拟样机:**在概念设计阶段,通过学科理论和计算机语言,对设计阶段的产品进行虚拟性能测试,达到提高设计性能、降低设计成本、减少产品开发时间的目的。#mermaid-svg-
2021-02-27 23:15:37 11718 2
原创 ADAMS 拉伸 path 设置为about center时失败解决
问题描述如图,在XY平面创建了四个点,作为拉伸截面的顶点。拉伸设置如下出现以下错误原因因为点都在ground 上,所以设置为about center 拉伸时是以working grid 所在平面为拉伸生成的立体的对称面,这里working grid所在面为XZ平面,所以拉伸失败。解决将working grid所在面设置为XY平面,然后再拉伸。...
2021-01-23 23:32:41 818
原创 simulink Simscape Mulitybody 导入CAD装配体分析-Inventor 为例
1.前言机器人或者其他机械结构使用Inventor 等建模软件设计完成后,常常需要使用Simscape MultiBody多体动力学工具箱进行仿真和分析,下面介绍如何使用Simscape Multibody Link插件直接导入Inventor装配体。2.安装在MATLAB官网下载插件:插件下载找到自己MATLAB版本对应的插件,我的是R2019b,所以选择R2019b下的插件注意zip和m文件都要下载下来并且存在一个文件夹下,这里我保存在MATLAB安装文件夹的CAD_link/Inventor
2021-01-22 23:43:20 2496 3
原创 安卓使用kotlin组件出现Cannot access kotlin.jvm.functions.Function2错误解决
问题描述安卓项目主体使用Java开发,使用Yalantis一个用kotlin开发的开源组件时,在设置MenuItemClickListener出现以下错误:显示无法引用kotlin.jvm.functions.Function2。问题解决首先想到应该是缺少kotlin依赖,在app的build.gradle文件中(注意不是project的build.gradle)的dependencies字段下加上依赖:dependencies {......implementation 'androidx
2021-01-06 11:14:32 1508
原创 安卓GridView嵌套在ScrollView中只显示一行问题解决
问题描述当GridView嵌套在ScrollView中时,默认情况下GridView只会显示一行,如果需要高度自适应,就需要禁用GridView的滚动条。如下图所示:问题解决新建一个类继承Gridview 并重写onMeasure方法,禁用GridView 滚动条即可。public class NoScrollGridView extends GridView { public NoScrollGridView(Context context) { super(conte
2020-08-10 16:21:54 389 1
原创 微信小程序可移动缩放图片裁剪框
效果预览前言图片裁剪框应用很普遍,也有很多成熟的组件,但是很多组件都是固定裁剪框的位置,通过移动图片来完成图片指定区域的裁剪。这种方法比较容易实现,但是同时存在灵活性不高,裁剪区域选择不精确,图片尺寸不能灵活改变的局限性。下面介绍一种通过使用微信小程序canvas来实现一个可移动缩放的图片裁剪框的方法。技术要点分析使用canvas组件实现图片裁剪框涉及以下技术内容:(1)使用canva...
2020-05-08 13:55:40 3544 12
Python实现2人斯塔克尔伯格(Stackelberg)非完美信息定价博弈
2024-02-16
Visual Studio 2022封装C代码为x64和x86平台动态库示例程序
2023-12-16
微信小程序可移动缩放图片裁剪框代码实现
2023-12-07
Java多线程:多生产者和消费者的餐厅运行模拟
2023-12-07
《融合视觉显著性和局部熵的红外弱小目标检测》论文复现代码
2023-08-04
铅锤面内无控飞行导弹弹道python仿真.rar
2020-04-23
windeployqt.exe
2019-11-04
upload-image.rar
2019-10-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人