自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(109)
  • 资源 (2)
  • 收藏
  • 关注

原创 用python提取pdf中的文字,表格以及读取csv文件

首先是提取pdf中的文字,参考https://www.jianshu.com/p/6dd0ce545b0a,但是其中的代码由于python的版本问题需要修改其中几行,如下(pip install pdfminer)#!/usr/bin/env python# -*- coding: utf-8 -*-from pdfminer.pdfparser import PDFParserfrom pdfminer.pdfdocument import PDFDocumentfrom pdfminer.pd

2021-10-07 21:41:11 783

原创 多项式拟合(最小二乘法)

理论部分参考多项式曲线拟合(Polynomial Curve Fitting)。注意,如果样本数过少且拟合多项式阶数较高可能会出现过拟合。原理很简单,最终转换成线性代数的问题。用python可以很方便的实现:from scipy import linalgdef fitting(X,Y,order): if len(X)!=len(Y):return n=len(X) xn=[[x**i for x in X] for i in range(2*order+1)]

2021-09-12 22:51:53 1513

原创 静态库与动态库

参考C++静态库与动态库。文章目录静态库实例(`linux`下)动态库库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。库有两种,分别是静态库和动态库。它们的区别是在编译程序的链接阶段。静态库后缀为.a或.lib,它与汇编生成的目标文件一起链接为可执行文件。一个静态库可以看做一组目标文件(.o,.obj)的集合。特点如下:对函数库的链接放在编译时期完成。程序运行时与函数库无关,移植方便。占用较大的空间和资源。实例(linux下)xhhmath.h(头文件)#pragma o

2021-06-30 21:51:10 94

原创 fortran并行入门(mpi)(一)

文章目录安装oneAPI简单的并行通过线程之间的通信使程序按顺序输出暂且开个坑,边用边学,实用至上。安装oneAPIIntel oneAPI Base ToolkitIntel oneAPI HPC Toolkit简单的并行program main use mpi implicit none integer*4::ierr,my_id,num_procs call MPI_INIT ( ierr ) ! find out my process ID, and

2021-05-26 22:14:20 9246 4

原创 fortran用MKL库求对称矩阵本征问题

这里写自定义目录标题安装oneAPI(Intel Fortran编译器)尝试MKL库FortranC++安装oneAPI(Intel Fortran编译器)Intel oneAPI Base ToolkitIntel oneAPI HPC Toolkit可以选择下载安装或者在线安装,下载的话需要用教育邮箱登陆。尝试MKL库参考官方文档Symmetric Eigenproblems。比如:Fortranprogram main implicit none integer*4,

2021-05-26 20:47:01 810 1

原创 用python从pdf文件中提取表格(简化版)

def readFromPdfAndStroe(fnamein,pagestart,pagesend,fnameout)->None: df=pd.core.frame.DataFrame(camelot.read_pdf(fnamein, pages=str(pagestart), flavor='stream')[0].data) for x in range(pagestart+1,pagesend): df.append(pd.c...

2022-04-17 22:49:32 1336

原创 Fortran中go to语句的罕见用法

研究某个程序包的时候突然发现罕见的go to 语句go to (35,35,36) ,i这种形式的,头疼的是网上还找不到相关的介绍,这个程序包也不是那么老的,不能理解它这里为什么要用go to语句。但不管怎么样,为了看懂代码,只能自己想办法确定一下go to语句的作用。首先它不是一般的go to语句,一般的都是go to 11这种后面直接接数字的,试了一下后面接括号的话会报错,如果是如下program main implicit none integer*4::i,j,k 1

2021-11-02 09:37:17 3663

原创 从jupyter notebook (.ipynb格式)中简单快速的导出源代码

import jsonwith open('filename.ipynb','r') as f: text=json.load(f)for x in text[keyss[-1]]: for y in x.get('source'): print(y)由于ipynb文件是用json格式保存的,所以读取起来可以很方便。

2021-01-05 15:35:43 4915 1

原创 用python来学英语

import osy=[x for x in os.listdir('.') if os.path.isfile(x)]for _ in range(len(y)): print(_,y[_])ind=input('Input the index of file your want to read\n')ind=int(ind)if(ind<len(y) and ind>=0): filename=y[ind]else: exit()#filename=in

2020-12-09 18:38:12 836 1

原创 Java基础知识点清单

参考:廖雪峰 Java 教程1. 多线程 a. 多任务基础 i. 进程 1) 计算机中,一个任务为一个进程,某些进程内部可能需要同时执行多个子任务,子任务称为线程。 2) 一个进程至少包含一个线程 3) 操作系统调度的最小任务单位是线程。Windows、Linux等操作系统都采用抢占式多任务,如何调度线程完全由操作系统决定,程序不能自己决定什么时候执行,执行多长时间。 4) 一个应用程序可以有多个进程,所以实现多任务的方法有以下几种: a) 多进程模式,一个进程只有一

2020-09-18 20:54:47 453 1

原创 Java入门级知识点整理(一)

参考:廖雪峰 Java 教程1. Java简介 a. 安装JDK i. 官网上下载安装然后再添加环境变量 b. 一个简单的Java程序,一个类,然后这个类的public static void main(String[] args)是Java程序的固定入口方法。Java程序总是从main方法开始执行。它的运行通常是,先用javac把java文件编译成字节码class文件,然后用java命令执行这个字节码。也可以直接用java hello.java运行一个单文件源码。大多数时候我们不这么做,因为它可

2020-09-14 13:58:06 266 1

原创 SQL知识点速记

参考:廖雪峰 SQL教程(MySQL)- 说明 ○ SQL是访问和处理关系数据库的计算机标准语言。无论什么语言,只要涉及操作数据库,都需要通过SQL完成 ○ NoSQL:非SQL数据库,包括MongoDB、Cassandra、Dynamo等,都不是关系数据库。 ○ 数据库的必要性:我们很多时候需要保存数据,可以有很多种方式保存数据,如Word、Excel这些办公软件,但这些是给我们自己看的,如果要让计算机自己读取,比如保存一个班级的所有学生信息,也容易做到,如C语言可以定义一个结构然后用fwrite

2020-09-11 13:32:53 298

原创 JavaScript相关知识点记录

参考:廖雪峰 JavaScript 教程文章目录数据类型和变量函数标准对象面向对象编程浏览器jQuery错误处理underscoreNode.jsWeb开发看教程的时候在OneNote上记录的一些知识点,然后把这些知识点复制粘贴上来。数据类型和变量数据类型和变量Number○ 不区分整数和浮点数○ NaN: Not a Number○ Infinity字符串○ '"○ 模版字符串:var message = 你好, ${name}, 你今年${age}岁了!;○ s.length

2020-09-08 13:19:13 256

原创 C语言指针的奇妙用法

C语言的指针也算是一大特色了,C语言一方面有一套完整的语法规则,变量必须明确声明,常量、变量、字面量都要区分,函数返回值要与声明一致等,另一方面,C语言又给予开发者很大的自由,甚至数组不会检查越界,比较自由的是指针可以指向任意数据类型,可以指向结构和函数。指针这个东西扩展空间是很大的。有意思的是指向void的指针可以转换为指向任意类型的指针,这个规则是很好用的。下面是我发现的几个有意思的指针用法。返回值为指向函数的指针的函数一个函数指针作为另一个函数的参数不稀奇,但一个函数的返回值为一个函数指针感觉还是

2020-09-07 20:36:22 342

原创 C语言学习(十二)C预处理器和C库

参考书:《C Primer Plus》第六版C预处理器在程序执行之前查看程序,根据程序中的预处理器指令,把符号缩写替换成其表示的内容。基本上它的工作是把一些文本转换成另一些文本。1. 翻译程序的第一步预处理之前,编译器必须对程序做一些翻译处理。首先编译器把源码中出现的字符映射到源字符集。然后编译器定位每个斜杠后面跟着换行符的实例,并删除它们。再然后编译器把文本划分成预处理记号序列、空白序列和注释序列。编译器会将一个空格字符替换每一条注释。它会用一个空格替换所有的空白字符序列。最后,程序已经准

2020-08-30 16:08:07 547

原创 C语言学习(十一)位操作

参考书:《C Primer Plus》第六版–1. 二进制数、位和字节,按位运算符按位运算符二进制反码或按位取反:~按位与:&按位或:|按位异或:^掩码按位与运算通常用于掩码。用掩码如:flags = flags & mask;常见用法是ch &=0xff;0xff的二进制形式为11111111,八进制形式为0377。这个掩码保持ch中的后8为不变,其他位设为0。按位或运算用于打开位。flags|=MASK;关闭位如:flags&=~

2020-08-29 14:17:48 361

原创 C语言学习(十)结构和其他数据形式

参考书:《C Primer Plus》第六版文章目录1. 建立结构声明2. 定义结构变量3. 结构数组4. 嵌套结构5. 指向结构的指针6. 向函数传递结构的信息复合字面量伸缩型数组成员匿名结构7. 将结构内容保存在文件中8. 链式结构9 联合简介10. 枚举类型11. typedef 简介12. 函数和指针13. 编程练习1. 建立结构声明如下struct book{ char title[MAXTITL]; char author[MAXTITL]; float value;};后

2020-08-28 17:40:49 270

原创 C语言学习(九)文件输入/输出

参考书:《C Primer Plus》第六版文章目录1. 与文件进行通信2. 标准I/O3. 一个简单的文件压缩程序4. 文件I/O:fprintf()、fscanf()、fgets()和fputs()5. 随机访问: fseek()和ftell()6. 编程练习1. 与文件进行通信文件通常是在磁盘或固态硬盘上的一段已命名的存储区。C提供两种文件模式:文本模式和二进制模式。所有文件的内容都是以二进制形式存储,但如果文件最初使用二进制编码的字符(如ASCII或Unicode)表示文本,该文件就是文

2020-08-27 17:16:41 570

原创 C语言学习(八)存储类别、链接和存储管理

参考书:《C Primer Plus》第六版1. 存储类别作用域块作用域(如循环、判断语句)、函数作用域(用于goto语句的标签)、函数原型作用域、文件作用域(全局变量)。链接C变量有3中链接属性:外部链接、内部链接、无链接。具有块作用域、函数原型作用域或函数作用域的变量都是无链接变量。具有文件作用域的变量可以是外部链接或内部链接。外部链接变量可以在文件中使用,内部链接变量只能在一个翻译单元中使用。判断文件作用域变量是外部作用域还是内部作用域可以看变量定义时是否使用了关键字static。in

2020-08-27 10:12:11 810

原创 C语言学习(七)字符串和字符串函数

参考书:《C Primer Plus》第六版1. 表示字符串和字符串I/O首先看一下程序清单1:#include <stdio.h>int main(void){ char words[81]="I am a string in an array."; const char *p1="Something is pointing at me."; puts("Here are some strings :"); puts("I am a symbolic

2020-08-26 17:39:32 453

原创 C语言学习(六)函数、数组和指针

参考书:《C Primer Plus》第六版文章目录函数数组和指针1. 数组2. 多维数组3. 指针和数组4. 函数、数组和指针5. 指针操作6. 保护数组中的数据7. 指针和多维数组8. 变长数组(VLA)9. 复合字面值10. 练习函数直接做练习。函数这部分内容基本不用介绍。设计应给函数min(x,y)返回两个double类型值的较小值并测试。#include<stdio.h>double min(double x,double y){ return x<y?x:

2020-08-18 21:51:57 521

原创 C语言学习(五)字符输入、输出和输入验证

参考书:《C Primer Plus》第六版文章目录1. 单字符I/O,缓冲区2.结束键盘输入3. 重定向和文件重定向输入重定向输出组合重定向4. 创建更友好的用户界面5. 练习1. 单字符I/O,缓冲区首先可以看一下程序清单1:#include<stdio.h>int main(void){ char ch; while((ch=getchar())!='#') putchar(ch); return 0;}运行,然后我们再控制台任意输出一些字符,中间穿插#字符可以

2020-08-15 15:41:33 1375

原创 C++、Java、python中的一些常见容器总结

主要参考:《数据结构与算法/leetcode/lintcode题解》、C++参考手册、《疯狂Java》文章目录<数据结构与算法>学习笔记(一)基础知识-基本数据结构7.常见容器学习1. C++1.顺序容器2.关联容器3. 无序关联容器4.容器适配器堆2. Java1. Set2. List集合3.Queue集合4. Map5. Collections工具类3. pythoncollections<数据结构与算法>学习笔记(一)基础知识-基本数据结构7.常见容器学习1. C++

2020-08-14 04:49:44 315

原创 C++primer-学习心得-15-面向对象程序设计

文章目录C++primer-学习心得-15-面向对象程序设计15.1 OOP概述继承动态绑定15.2 定义基类和派生类1.定义基类2.定义派生类3.类型转换与继承15.3 虚函数15.4 抽象基类15.5 访问控制与继承15.6 继承中的类作用域15.7 构造函数与拷贝控制15.7.1 虚析构函数15.7.2 合成拷贝控制和赋值15.7.3 派生类的拷贝控制成员15.7.4 继承的构造函数15.8 容器与继承15.9 文本查询程序再探C++primer-学习心得-15-面向对象程序设计15.1 OOP概

2020-08-08 19:53:53 316

原创 二叉树、霍夫曼编码和红黑树的C++实现

主要参考:《数据结构与算法/leetcode/lintcode题解》、《算法导论》4. 二叉树参考:《算法导论》二叉树每个节点有最多两个子树,子树有左右之分,可以实现二叉查找树和二叉堆。二叉树有个规律,如果一颗二叉树的终端节点数为n0n_0n0​,度为2的节点数为n2n_2n2​,则有n0=n2+1n_0=n_2+1n0​=n2​+1。二叉树的遍历通常有三个步骤:对当前节点进行操作、遍历左边子节点、遍历右边子节点。访问节点的不同顺序形成了不同的遍历方式。树的遍历通常是用递归的思想来理解和实现的。遍

2020-08-04 19:21:54 245

原创 字符串和链表--数据结构与算法--学习指南

文章目录<数据结构与算法>学习笔记(一)基础知识-基本数据结构1.String(字符串)1.1 python1.2 Java1.3 C++2. Linked List(链表)1. C++2. Java3. python3. 双向链表C++版本<数据结构与算法>学习笔记(一)基础知识-基本数据结构主要参考:《数据结构与算法/leetcode/lintcode题解》、《胡伟煌 数据结构 学习笔记》1.String(字符串)总结一些在C++、Java、Python中对于字符串的一些

2020-07-31 03:40:24 1813

原创 C语言学习(四)C控制语句:循环、分支和跳转

参考书:《C Primer Plus》第六版for循环。程序清单1。出口条件循环:do while。程序清单2。关系运算符的优先级比算术运算符低,关系运算符的优先级比赋值运算符高。注意:使用数组时,c编译器不会检查数组的下标是否正确,这里可能会导致潜在的异常。if else语句。程序清单3。ctype.c头文件中包含一些专门处理字符的函数的原型,这些函数接受一个字符作为参数,返回一个数值,如isalpha()函数如果输入参数是一个字母则返回非零值。函数名

2020-07-26 01:57:10 511

原创 C语言学习(三)运算符、表达式和语句

参考书:《C Primer Plus》第六版while循环,程序清单1。基本运算符有:赋值运算符=、加法运算符+、减法运算符-、乘法运算符*、除法运算符/,每个运算符都有自己的优先级。其它的运算符,比较常见的有:sizeof运算符、求模运算符%、递增运算符++、递减运算符--。一些基本概念:副作用:对数据对象或文件的修改;序列点:程序执行的点,在该点上,所有的副作用都在进入下一步之前发生。复合语句:用花括号括起来的一条或多条语句,也称为块。基本的类型转化规则:1)当类型转换出现在表达式时,无论是

2020-07-16 01:57:41 259

原创 C语言学习(二)字符串和格式化输入、输出

参考书:《C Primer Plus》第六版C语言没有专门用来存储字符串的变量类型,字符串被存储在变量类型的数组中。该数组末尾位置的字符为空字符\0,C语言用它来标记字符串的结束。空字符是非打印字符,ASCII码值是0。用%s来告诉printf()打印一个字符串。scanf()在遇到第一个空白(空格、制表符、换行符)时就不再读取输入。其它输入函数如fgets()用于读取一般字符串。(程序清单1)注:在VS中,由于scanf()函数不安全,现在引进不允许使用了,取而代之的是scanf_s()函数

2020-07-13 02:24:39 729

原创 C语言学习(一)数据类型

参考书:《C Primer Plus》第六版知识点:printf("My favorite number is %d beacuse it is first.\n",num); ,其中%告诉程序把一个变量在这个位置输出,d 告诉程序将输出一个十进制整数变量。数据类型关键字:最初K&R给出的关键字:int、long、short、unsigned、char、float、double,C90标准添加的关键字:signed、void,C99标准添加的关键字:_Bool(布尔值)、_Complex

2020-07-10 00:25:38 1849

原创 SFML学习-写一个俄罗斯方块

SFML配置:首先在官网下载最新的源代码,然后按照官方教程那样部署配置结果导致了一个奇怪的异常,参考了一个博客的解决方案是将源代码的bin文件夹中的所有文件全部复制到项目文件夹中就行了,试了一下确实是可以的。创建一个简单的窗口来测试一下:// sfml_test1.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include <SFML/Graphics.hpp>int main(){ sf::RenderWindow window(sf::Vi

2020-07-07 11:29:51 1441 2

原创 Java实现带GUI的自动关机小程序

本身Java只用一行代码就可以设置电脑的计划关机,取消计划关机也只需要一行代码就能搞定了。但本人也是够闲的,给这个小功能弄了个界面,包括确定和取消按钮和关机事件的进度条以及一个输入框。代码也很简单:package javaProject_1;import javax.swing.*;import java.awt.*;import java.io.IOException;public class Demo1 { public int sec=0; public int getC

2020-06-09 01:45:50 241

原创 OpenGL学习(七)摄像机

OpenGL学习(七)摄像机参考官方文档:https://learnopengl-cn.github.io/01%20Getting%20started/09%20Camera/OpenGL本身没有摄像机的概念,我们通过把场景中的所有物体往相反方向移动的方式来模拟摄像机。首先我们设置摄像机的位置:glm::vec3 cameraPos = glm::vec3(0.0f, 0.0f, 3.0f);摄像机的方向为:glm::vec3 cameraTarget = glm::vec3(0.0f, 0

2020-06-09 01:08:43 516

原创 OpenGL学习 (六)坐标系统

OpenGL学习 (六)坐标系统参考官方文档https://learnopengl-cn.github.io/将坐标变换为标准化设备坐标,然后转换为屏幕坐标的过程是分布进行的。有5个比较重要的坐标系统:局部坐标世界坐标观察坐标裁剪坐标屏幕坐标坐标变换的过程中会用到几个变换矩阵:模型、观察、投影矩阵。现在我们可以进行3D绘图了。顶点着色器shader.vs#version 330 corelayout(location=0) in vec3 aPos;layout(locatio

2020-06-08 01:35:26 274

原创 OpenGL学习(五)变换

OpenGL学习(六)变换参考官方文档https://learnopengl-cn.github.io/那么现在有意思的来了。首先关于矩阵运算就不用多做介绍了。直接进入实战部分。先下载GLM。这个直接百度可以找到:https://github.com/g-truc/glm。(官方文档中给出的链接打不开,只能百度)下载解压。刚开始我以为需要用cMake,后面发现不用cMake,只需要在你当前的项目的属性中添加包含目录就行了。需要用到的大多数功能都可以在下面3个头文件中找到。#include <gl

2020-05-30 01:58:00 233

原创 OpenGL学习(四)给图案添加纹理

参考官方文档https://learnopengl-cn.github.io/文章目录纹理环绕方式纹理过滤多级渐远纹理加载与创建纹理生成纹理应用纹理纹理单元练习:纹理是一个2D图片,它可以用来添加物体的细节。为了能把纹理映射到三角形上,我们要指定三角形的每个顶点各自对应纹理的哪个部分。这样每个顶i点就会关联一个纹理坐标,用来标明该从纹理图像的哪个部分采样,然后在图形的其他片段上进行插值。用纹理坐标获取纹理颜色叫做采样。纹理坐标如下:float texCoords[]={ 0.0f,0.0f,

2020-05-28 21:58:58 2639 1

原创 OpenGL学习(三) 着色器

参考官方文档:https://learnopengl-cn.github.io/文章目录GLSL数据类型输入和输出Uniform更多属性写一个着色器类练习:我们知道,着色器是运行在GPU上的小程序。这些小程序为图形渲染管线的某个特定部分而运行。从基本意义上来说,着色器只是一种把输入转化为输出的程序。下面我们将进一步了解着色器以及着色器语言GLSL。GLSLGLSL是一种类C语言。它的开头声明版本,然后是输入输出变量、uniform和main函数。每个着色器的入口点都是main函数。一个典型的着色器

2020-05-28 00:56:55 618 1

原创 OpenGL学习(二)绘制一个三角形

参考官方文档:https://learnopengl-cn.github.io/首先,这个过程相当繁琐,需要做好思想准备。首先先看源代码:#include<iostream>#include<glad/glad.h>#include<GLFW/glfw3.h>void processInput(GLFWwindow* window) { if (glfwGetKey(window, GLFW_KEY_ESCAPE) == GLFW_PRESS) glf

2020-05-27 19:03:59 439 2

原创 OpenGL学习(一)创建窗口

参考官方文档:https://learnopengl-cn.github.io/一直对OpenGL很感兴趣,但每次找到网上各种教程,跟着教程做总是不知道哪里出错了总是运行不出来,可能是自己有某一步出错了,也可能是这些教程都漏了什么细节没交代。这里终于根据官方教程结合自己的探究总算成功完成了第一步:创建一个窗口。为此,必须把整个步骤详细交代以下,方便作为以后的参考。知识储备:这里是需要熟悉C++,虽然其他语言如C#也是可以通过安装OpenTK来进行OpenGL编程的,但OpenTK的相关资料太少了,所以感

2020-05-26 21:52:19 816

原创 visual C#(二十六)在UWP应用中显示和搜索数据

参考书:《 visual C# 从入门到精通》第四部分 用C#构建UMP应用第26章 在WP应用中显示和搜索数据文章目录26.1 实现Model-View-ViewModel模式26.1.1 通过数据绑定显示数据26.1.2 通过数据绑定修改数据26.1.3 为ComboBox控件使用数据绑定26.1.4 创建ViewModel26.1.5 向ViewModel添加命令26.2 用Cortana 搜索数据26.1 实现Model-View-ViewModel模式MVVM模式中,Model提供应用程

2020-05-20 17:32:46 536 1

C_10_1_10.zip

博客 Visual C# (十)使用数组 --中的扑克牌游戏的源代码,上传的是一个压缩文件,解压后用Visual Studio 2019打开文件C_10_1_10.sln,应该就会在Visual Studio中加载这个解决方案,然后选择菜单栏的调试选择开始执行(不调试)就可以运行了。

2020-05-07

music_gui.exe

用python编得音乐播放器,只能播放本地音乐,功能齐全,可以创建歌单,从磁盘扫描添加音频文件,可以选择四种播放模式:顺序播放、列表循环、单曲循环、随机播放,可以调节播放进度,虽然界面不美观,优点是内存占用很小。

2019-12-29

空空如也

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

TA关注的人

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