- 博客(11)
- 收藏
- 关注
原创 scrapy allowed_domains错填为url的踩坑记录
用scrapy爬取SemanticScholar论文,爬完当前论文爬被引。奇怪地发现除了start_url可以访问之外,其他页面都被过滤掉了无法访问,走了很大弯路才发现是 allowed_domains设置错了。
2022-12-09 15:32:06
1259
原创 matplotlib绘制3D图形时使x轴、y轴、z轴的比例相等
在使用mplot3d.Axes3D绘制3D图形时,x、y、z轴的显示比例会被自动拉伸:这样图上的圆柱都被压扁了很难看,我们想让x、y、z轴的显示比例就等于x、y、z轴范围之比,但如果使用画2D图时的plt.gca().set_aspect('equal', adjustable='box')方法,会报如下错误:NotImplementedError: Axes3D currently only supports the aspect argument 'auto'. You passed in 'eq
2021-11-21 19:37:59
11679
3
原创 MIPS中addi指令被分成三条指令的问题
问题基于MIPS写CPU时,突然发现addi指令有时会被mars拆解为三条指令,再转为机器码。发现这个问题是因为显然我们有为一个32位寄存器赋值的需求,使用addi $t1, $zero, imm来实现很方便。但addi指令中的imm(立即数)字段只有16位,如果立即数太大了,mars并不会报错,而是自动地用其他可行的语句实现我们的需求。实验case1:addi $t1, $zero, 0x8000汇编程序将其拆解为三条:lui $1, 0x00000000ori $1, $1, 0x00
2021-08-29 20:01:15
3429
原创 python函数参数值传递和引用传递的区别
作为刚上完编译原理等专业课的小朋友,忍不住要来看看函数参数传递过程中的内存情况。首先查资料,发现python不允许程序员选择采用传值还是传引用。如果函数收到的是一个可变对象(比如字典或者列表)的引用,就能修改对象的原始值——相当于通过“传引用”来传递对象如果函数收到的是一个不可变对象(比如数字、字符或者元组)的引用,就不能直接修改原始对象——相当于通过“传值’来传递对象。对于内存情况的预期是:对于“传引用”的情况,形参和实参应该占用相同的内存区域对于“传值”的情况,形参和实参应该占用不同的
2021-08-09 19:41:50
212
原创 movingpandas时空数据分析——旧金山出租车轨迹数据集处理
得到的原生旧金山数据共536辆车,_cabs.txt的条目数与所给的文件数一致。对于每辆车,字段为[latitude,longitude,occupancy,t]1. 概述我们的目的是得到每辆车在一个小时内以15s等时间间隔的数据,也即每辆车的数据为241条。2. 概览:绘制一辆车的轨迹第一辆车在全部时间范围内的轨迹如下:可以看出,第一辆车的数据范围为2008-5-17至2008-6-10,大致为一个月;总行驶长度约为700wm+。上图还给出了行驶边界的信息。接下来尝试绘制第一辆车在某一天
2021-07-08 21:05:21
5769
12
原创 pythonic简写:for,lambda
最近在做学院组织的智能体对抗大赛,体会到了for和lambda简写代码的好处,一行代码可以解决很多重复的工作量。记录如下for语句在一张地图上快速创建遍历的列表:mapX, mapY = 3,4list1 = [(x, y) for x in range(mapX) for y in range(mapY)]print(list1)#out:[(0, 0), (0, 1), (0, 2), (0, 3), (1, 0), (1, 1), (1, 2), (1, 3), (2, 0), (2, 1
2021-05-23 00:32:07
146
原创 算法:记忆化搜索
概述记忆化搜索是一种典型的空间换时间的思想。记忆化搜索的典型应用场景是可能经过不同路径转移到相同状态的dfs问题。更明确地说,当我们需要在有层次结构的图(不是树,即当前层的不同节点可能转移到下一层的相同节点)中自上而下地进行dfs搜索时,大概率我们都可以通过记忆化搜索的技巧降低时间复杂度。例子:青蛙过河题目描述一只青蛙想要过河。 假定河流被等分为若干个单元格,并且在每一个单元格内都有可能放有一块石子(也有可能没有)。 青蛙可以跳上石子,但是不可以跳入水中。给你石子的位置列表 stones(用单
2021-04-29 20:36:18
10706
1
原创 数据结构:堆排序
记录以小根堆为例的堆排序。介绍堆是一棵完全二叉树。我们要维护的性质是:对于每个节点,其孩子节点的值大于等于其本身的值。技巧1.根节点的下标为1而不是0。这样做的好处是:若父节点下标为i,可以保证左孩子下标为2*i,右孩子下标为2*i+1。这是使用堆时约定的表示。2.利用下标为0的节点设置哨兵,比堆中所有元素都小。可以简化插入元素时的循环的判定条件。实现1. 数据结构常用数组作为实现堆的数据结构。typedef int ElemType;typedef struct { ElemTyp
2021-03-21 11:36:41
70
原创 matlab&simulink仿真天体运行轨迹
1. 问题背景在本实验中我使用matlab和simulink建立天体系统的模型,并使用不同的数值积分方法仿真求解,模拟推演天体运动轨迹。下文第3、4节将演示对双星系统的仿真模拟全过程。第5节将演示三体系统的仿真模拟。2. 数学模型行星所受的万有引力为:F⃗=GMm∣R⃗−r⃗∣2⋅R⃗−r⃗∣R⃗−r⃗∣\vec{F}=\frac{GMm}{\left|\vec{R}-\vec{r}\right|^2}·\frac{\vec{R}-\vec{r}}{\left|\vec{R}-\vec{r}\ri
2020-11-23 22:09:17
8585
4
原创 在ai studio中“持久化”修改python库文件的方法
1.思路其实持久化修改python的库文件是做不到的,但我们可以通过在项目的开头添加linux的cp命令, 在每次运行项目时将提前写好的修改后文件自动移动到site_packages中, 达到类似“持久化”的效果。2. 示例现在我们想要基于gym包自定义一个强化学习环境,则必须修改包内envs文件夹内的__init__.py文件。解决方案如下:Step1.将写好的修改后文件上传到work文件夹(work文件夹下的文件可以持久化保存)Step2.在项目开头加入如下代码!cp /home/ai
2020-11-18 00:47:27
733
原创 C++ private、protected、public的区别
一、不考虑继承不考虑继承时,三者的访问权限如下:本类方法外部private是否protected是否public是是由上表可知,protected的权限与private相同,均为可被本类方法访问,不可被外部访问。因此在无继承关系时,protected可被private替代。二、考虑继承三种保护级别经不同继承方式后,组合结果(在子类中获得的保护级别)如下:由上表可知,组合结果为基类保护级别和继承方式中级别更高者。即继承只会让访问权限更严格,不
2020-05-22 23:18:22
1720
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人