MATLAB转C/C++常见问题总结 楔子本指南试图帮助用户写出在转C过程中尽量少报错的Matlab m文件,其中更多是一些编程范式上的问题,在此记录下来,帮助后人写出无缝转C的代码。Author: Y. F. ZhangTime: 2022.4.16注意点使用变量前声明变量这一点在matlab中时可以容忍的,但对于一般编程语言是无法容忍的。使用一个变量前请预分配变量内存(注意预分配内存不是简单前面给个 =0就可以了,得是相应维度的预分配):tmp = zeros(6, 6); % 预分配内存for i = 1 : 6
Ubuntu虚拟机使用花生壳内网击穿后外网登录自己写的web服务器 什么是内网击穿以及原理在了解内网穿透原理之前,我们先说什么是内网穿透。内网,就是在公司或者家庭内部,建立的局域网络或者是办公网络,可以实现多台电脑之间的资源共享,包括设备、资料、数据等。而外网则是通过一个网关与其它的网络系统连接,相对于内网而言,这种网络系统称之为外部网络,常见的就是我们日常使用的互联网。一般而言,在没有固定公网IP的情况下,外网设备无法直接访问内网设备。而内网穿透技术,顾名思义就是能让外网的设备找到处于内网的设备,从而实现数据通信。内网穿透,又称为NAT穿透。NAT背后的设备,它们的
一个基于进程池的Linux高性能并行计算服务器项目 最近闲来无事,C++做了个微型基于进程池的计算服务器,纯socket编程。项目地址https://github.com/ZYunfeii/MyParallelComputingServer项目思维导图可以看看这个技术框架,具体实现说简单点就是远程计算逆矩阵,但是项目重点不在这个怎么求(事实上是拿Matlab生成的),重点在Linux Socket编程和多进程上。使用Basic InfoThis is a concurrent computing server based on process
ubuntu18虚拟机与宿主机win10互ping 关闭win防火墙win端:以太网->更改适配器选项 从而查看当前网卡名称我的网卡是I210这个。win端 win+R cmd后ipconfig我这台win的ip是10.132.57.213(这个用于判断ubuntu和win到底在不在一个网段,所谓在一个网段,即ip地址按位与子网掩码结果一致)。ubuntu虚拟机设置网络适配器为桥接,且桥接设备只选择刚刚查到的宿主机win网卡注意啊,只勾选我们在使用的网卡。ubuntu ctrl+Alt+T 输入ifconfig可以计算,.
vs2017静态库和动态库的创建与使用简明教程 vs2017静态库和动态库的创建与使用简明教程静态库创建和使用创建使用易错点动态库创建和使用创建使用注意DLL的好处Others静态库创建和使用创建打开vs2017点击创建新项目,选择静态库;在StaticLib.cpp文件下写实现,再创建一个对应的头文件写声明:项目->生成 即可在输出文件夹下得到对应的lib文件:使用新建一个项目,点击属性,配置三条款项:VC++目录的包含目录和库目录分别加入lib对应头文件的位置和lib文件的位置;链接器->输入 添
轨迹跟踪算法:L1非线性跟踪算法演示(附matlab simple demo) 概览L1算法的核心公式只有一个:ascmd=2V2L1sinηa_{s_{\mathrm{cmd}}}=2 \frac{V^{2}}{L_{1}} \sin \etaascmd=2L1V2sinη其中符号解释如下图:一句话解释:L1跟踪算法解出了一个横向加速度作用于对象,输入为对象当前的速度矢量、与对象相距L1的待跟踪轨迹上的参考点。至于η\etaη是根据参考点位置和对象位置以及对象速度矢量来计算的。用L1来做跟踪的关键是如何求取待跟踪轨迹上的一点,该点到对象的位置距离恰好为L1。L1
Velodyne 32C Win端和Ubuntu18下使用 Winhttps://blog.csdn.net/i_robots/article/details/109864454Ubuntu激光雷达用以太网连接电脑;设置ipv4:IP地址:192.168.1.x(x可以为1到254除开201以外的所有值,因为201是激光雷达的IP),我设的192.168.1.70子网掩码:255.255.255.0安装好ros melodic;新建ROS工程mkdir -p catkin_velodyne/srccd catkin_vel
手把手教学基于简单神经网络的激光雷达点云车辆检测(附代码) 准备工作pythonmatlabKITTI数据集激光雷达部分参考文献(本文基本按照该文献方式处理):邓淇天. 基于激光雷达和视觉传感器融合的障碍物识别技术研究[D]. 南京: 东南大学, 2019.1. KITTI数据读入我在https://blog.csdn.net/weixin_43145941/article/details/119513491一文中已经给出了matlab代码用于得到KITTI点云图。当然,可以假想现在已经获得了一个点云:points_cloud.shape=(n,4
KITTI数据集激光雷达点云3D-Box可视化Matlab代码 为什么要写这篇Blog网上很少有详细写KITTI点云+3D-Box可视化方法的,唯一找到一个https://github.com/Qjizhi/kitti-velodyne-viewer还是用C++和Python写的,不仅需要PCL点云库而且还有编译等一串较为麻烦的操作。而用Matlab做则十分简洁优雅,不到百行代码即可完成。网上对KITTI数据的介绍不够简明,我想通过可视化这一过程介绍一下用到的数据的含义。本文相较于1的github还增加了类别标注上图,接口只有一个就是点云帧编号。所用到的KI
Win通过SSH协议远程连接Ubuntu 软件准备:Xshell,WinSCP(直接百度就能下)硬件准备:一台Win PC端,一台Ubuntu系统的PC或服务器1. 开启Ubuntu的ssh服务如果第一次使用ssh,需安装ssh:sudo apt-get install openssh-server安装后打开ssh:sudo service ssh start判断是否打开成功:ps -e|grep ssh如果显示有sshd就说明成功了。2. 查看IP地址首先得保证Ubuntu联网,之后终端 ifconfig,如果没有该命令可以按照
GWO灰狼优化算法python和matlab代码 简单实现了GWO灰狼优化算法的Matlab版本和Python版本,程序易读且简洁。Matlab:这里可以移步github:https://github.com/ZYunfeii/GreyWolfOptimization-GWO中GWO.mlx文件,因为我是用实时编辑器写的,用matlab打开这个文件可以更好得展示其中的批注。Python:#!/usr/bin/python# -*- coding: UTF-8 -*-"""author: Y. F. Zhang"""import nump
Hindsight Experience Replay(HER)技术 提出缘由在许多强化学习环境中都存在稀疏奖励的问题,例如机械臂抓取物体,当抓到物体时给予一个正奖励,其余时候为零。再比如由n个硬币组成的环境,每个硬币都有正反两面记为{0,1}\{0,1\}{0,1},动作为选择其中一个硬币翻面,存在一个目标硬币状态组合(eg. {0,1,1,1,0...}\{0,1,1,1,0...\}{0,1,1,1,0...}),当抵达这个状态时才给予一个奖励。以上述这些环境为解决对象的RL算法程序中,经验池buffer会存储大量相同奖励reward的transition,这对于网络
使用强化学习快速让AI学会玩贪食蛇游戏(轻量级二十分钟训练+代码) 如何让AI玩会贪食蛇,甚至比你厉害概述构建问题(强化学习求解的一般步骤)环境动作定义状态定义奖励设计训练奖励值收敛图效果代码概述所用技术:强化学习(Deep Reinforcement Learning),属于一种无监督学习,利用奖励rewardrewardreward教会智能体AgentAgentAgent在合适的场景做合适的决策。采用算法:试过两种算法D3QN和离散版本的PPO算法,最终采用离散版本PPO算法+GAE(PPO是我用过的性能最好的算法之一)编程语言与深度学习框架:Python3.