- 博客(62)
- 资源 (2)
- 收藏
- 关注
原创 Python判断当前运行环境是否是jupyter notebook
在notebook环境中运行时,会有一个内置的。来判断是否是notebook环境。文件中执行,则会报错。而如果这段代码直接在。
2024-02-04 15:05:10 984
原创 拉格朗日对偶方法求解线性规划
求偏导数并令其等于零,我们可以求得最优的。将这些表达式代入拉格朗日函数,得到对偶函数。带入这些表达式,得到原始问题的最优解。构建拉格朗日函数,格式为目标函数加上带。通过之前求解拉格朗日函数的最优解关于。求偏导数并令其等于零,得到最优解。通过解这个方程组,我们可以得到。通过对拉格朗日函数对。通过对拉格朗日函数对。在这个例子中,很显然。
2023-12-22 10:52:11 1348
原创 Latex伪代码中函数的写法
网上找了几篇将Latex伪代码写法的文章,但是关于函数名的写法都不太清楚,由于很多算法需要递归实现,写函数名又是必不可少的,自己去翻阅了。
2023-10-05 18:50:17 3122
原创 安装boost
安装boost从官网下载并解压到适当位置Boost网站在解压后的目录中找到bootstrap.bat点击运行,并等待结束这时会出现b2.exe文件,点击运行,耐心等待结束(安装后产生的文件会占据大约4.3GB,请确保磁盘空间充足)cmake 配置示例文档地址只寻找头文件find_package(Boost 1.36.0)if(Boost_FOUND)include_directories(${Boost_INCLUDE_DIRS})add_executable(foo foo.cc
2022-05-26 17:14:45 2020
原创 Armadillo安装
Armadillo是一个矩阵运算的库Armadillo安装下载地址http://arma.sourceforge.net/download.html解压到适当位置即可cmake 引入参考文档https://cmake.org/cmake/help/latest/module/FindArmadillo.htmlcmake_minimum_required(VERSION 3.21)project(test_0_1)set(CMAKE_CXX_STANDARD 17)set(ARMA
2022-05-26 17:10:09 359
原创 PyQt5 制作帮助文档查看器
帮助文档查看器是很多程序中必备要素,而利用Qt中的QTreeView组件可以很方便的查看文件,而QTextBrowser可以直接显示格式化的MarkDown文本。因此可以利用这两个组件制作一个帮助文件查看器。本程序的文件结构如下:.├── main.py└── ui └── docViewer.ui└── docs --这里放帮助文档 ├── a.md ├── b.md └── c.md # 保存用户文件的文件夹运行界面Python代码from PyQt5
2022-05-07 19:56:24 1533
原创 Qt实现判断鼠标左右键信号
Qt按钮自带的信号非常简单,并不能区分鼠标左右键,但是实际上Qt组件的功能很强大,只是将区分按键的功能隐藏了。要实现这个功能,就需要自定义信号,然后重载mousePressEvent()函数。//// Created by w on 2022/4/7.//#ifndef MYBUTTON_H#define MYBUTTON_H#include <QObject>#include <QPushButton>#include <QMouseEvent>
2022-04-15 09:38:53 6894 1
原创 Haskell 开发平台安装及Hello World
1 下载stack安装Haskell开发环境首先要安装管理工具stack,在官网找到并下载,也可以直接下载下面的链接:https://get.haskellstack.org/stable/windows-x86_64-installer.exe然后执行安装,如果安装过程中出现“add to PATH”的选项,一定要勾选。2 修改配置安装stack之后要修改它的配置,配置文件路径一般是:C:\sr\config.yaml 。用下面的文本替换原来的文本。# This file contains
2022-03-31 09:07:34 1694
原创 python socket 通信(2) 协程实现多人聊天室
在服务端,使用python官方的asyncio模块,利用asyncio.start_server方法生成服务器,对每个连接采取分而治之的思路,用协程方法同时侦听多个端口。客户端采用多线程,用两个线程分别运行接收机和发信机。服务端#server.pyimport asyncio# 连接表coonlist = []# 广播机async def boarder(message: str, coonlist=coonlist): for writer in coonlist:
2022-02-12 12:44:11 1542
原创 python socket 通信(1)
# 服务端.pyimport socket# 建立一个服务端server = socket.socket(socket.AF_INET,socket.SOCK_STREAM)server.bind(('localhost',10000)) #绑定要监听的端口server.listen(5) #开始监听 表示可以使用五个链接排队print("服务已开启,地址:localhost,端口:10000")while True:# conn就是客户端链接过来而在服务端为期生成的一个链接实例 c
2022-02-11 13:05:10 1242
原创 JS大地测量库geodesy的使用方法
geodesy 是对大地椭球体表面点进行运算的库。可以计算地表两点间的最短距离和路径。或已知距离和方位求终点,并且可以对结果进行格式化输出。使用方法在页面中使用<!doctype html><title>geodesy example</title><meta charset="utf-8"><script type="module"> import LatLon from 'https://cdn.jsdelivr.net/npm
2022-02-06 11:19:27 1270
原创 C语言长整型除法
#include <stdio.h>#include <stdlib.h>/* run this program using the console pauser or add your own getch, system("pause") or input loop */double divide(long numerator,long denominator);int main(int argc, char *argv[]) { long a=11113431
2022-01-12 17:28:17 1051
原创 python 调用C语言DLL的方法
生成DLL文件这里使用的开发工具是Dev C++,详细方法可以查看下面这篇文章:Dev c++工具将C代码生成dll文件以及如何调用dll文件需要注意的一点是,64位python解释器只能调用64位的dll文件,因此需要安装64位编译器来编译C代码。新建DLL项目点击文件->新建->项目,选择DLL,语言选择C项目,然后选择名称和保存位置。编写函数代码新项目会默认生成dllmain.c和dll.h两个文件,dll.h中声明了一个函数名,dllmain.c则包含了函数的具体内容,修
2022-01-11 11:02:55 5731 3
原创 Python 用装饰器便捷实现多线程
python在新建线程的时候,每次都要将函数封装成threading对象才能执行,考虑到python还提供了装饰器功能,不如把这两个功能结合一下,以后再编写需要新建线程运行的函数时,直接@一下装饰器就可以了。import threadingimport timedef new_thread(func): def inner(*args, **kwargs): # print(f'函数的名字:{func.__name__}') # print(f'函数的位置参
2022-01-09 21:22:48 1572
原创 FastAPI 对用户文件的管理(上传、下载、删除)
本文将阐述利用FastAPI及相关组件,尤其是数据库工具,对用户上传的文件进行管理的方法。为了更好的理解本文,强烈建议您先阅读《FastAPI集成SQLAlchemy实现数据库操作》。FastAPI 文件上传和下载方法简单的文件上传这里通过File, UploadFile两个模块,实现文件的上传和保存,并且可以一次保存多个文件。from fastapi import File, UploadFile@app.post("/uploadfiles/")async def create_uploa
2022-01-07 21:37:59 4766
原创 Vue3+ Naive UI做一个行政区选择器
行政区信息的获取这里用到的行政区信息是从高德开放平台获取的,地址是:https://developer.amap.com/api/webservice/guide/api/district如果信息只需要获取一次的话,其实并不需要注册,直接页面下方的服务示例中查询就可以:打开开发人员工具,再次点击查询按钮,这时再开发人员工具的“网络”界面中,会看到刚刚发出来一条查询请求:右键选中这条请求记录,选择“复制响应”,然后打开记事本或者其他编辑器,就可以保存查询结果了。组件编写保存成数据对象打
2022-01-06 10:58:03 3298 3
原创 省级国土空间基础信息平台建设方案分析
简介:2020年,各省根据要求建立了省级国土空间基础信息平台,各省采用了不同的解决方案,实现了相似的架构模式。笔者通过对这些经验的总结,梳理出建设空间大数据平台的常用方法和工具。另外,平台建设中对ArcGIS系统的高度依赖,也暴露出我国相关领域技术的不足。关键词:大数据平台;国土空间;0 引言2017年7月,国土资源部下发了《国土空间基础信息平台建设总体方案》和《省级国土空间基础信息平台建设要求》,《要求》指出利用 4 年的时间,全面完成省级国土空间基础信息平台建设,在2020年形成功能完善、持续服务
2021-12-22 16:15:51 1602 1
原创 前端直接读取文本文件内容
前端读取文本并直接展示<template> <label class="text-reader"> <input type="file" @change="loadTextFile"> </label> <pre>{{ fileContent }}</pre></template><script lang="ts">export default { name: "upload",
2021-12-14 20:37:52 3315
原创 FastAPI集成SQLAlchemy实现数据库操作
官方教程原文https://fastapi.tiangolo.com/zh/tutorial/sql-databases/SQLAlchemy的更多操作方法详见https://www.osgeo.cn/sqlalchemy/orm/tutorial.html目录结构官方教程中,main.py放在sql_app文件夹下,考虑到一般习惯,本文将main.py文件放在与sql_app文件夹相同的位置。结构如下:.├── main.py└── sql_app ├── __init__.py
2021-12-12 12:40:15 11389 4
原创 Python实现表格转shapefile方法
1. 需求分析将带有坐标和参数的表格信息(.xls,.xlsx)转换成地图图层(.shapefile)。封装好的exe文件下载地址:https://download.csdn.net/download/ashtyukjhf/195897402. 依赖模块2.1 表格读取Python用于表格读取的模块很多,由于此项目功能要求简单,只需要读取表格中的文本内容即可,应当选择尽量轻量级的模块,这里选用xlrd进行表格的读取,需要注意版本为“1.2”。安装时输入:pip install xlrd==1
2021-12-06 08:09:50 695
原创 Vite Vue项目加载Cesium模块
1 创建项目选择一个文件夹,打开PowerShell,输入yarn create vite根据提示选择项目名称和使用语言(这里选用Vue + ts)。进入刚刚创建的文件夹,重新打开PowerShell,输入:yarn add cesium待命令执行完成之后,输入yarn run dev即可预览项目。2 配置CesiumVite项目配置Cesium支持非常简单,只需要在index.html 中引入Cesium的样式表和脚本即可。<!DOCTYPE html><h
2021-11-21 17:52:16 1310
原创 Vue工程引入openlayers组件的方法
1. 环境配置npm install vuenpm install vite2. 启动项目找到要创建项目的文件夹,打开Power Shell。输入yarn create vite开始创建Vue项目,更加提示,输入项目名称,然后选择开发框架为Vue。进入刚刚创建的文件夹,输入yarn add ol输入yarn run dev即可试运行刚刚生成的项目。3.创建组件用VS Code加载项目文件夹。在../src/components/文件夹下新建Vue文件,这里命名
2021-11-21 10:48:43 3147 1
原创 前后端分离项目中,前端请求的常见问题
1. 跨域问题一台计算机不同的端口会被识别为不同的域,在后端编写跨域规则时,要注意写明不同的端口。CDN方式引用脚本,会是跨域情况变得复杂,对于需要发送AJAX请求的脚本,请与其他文件保存到同一位置再引用。2.Token携带token字符串放在请求头(Headers)中,格式为'Authorization': 'Bearer ' + Token,例如:axios({ method: "get", url: "http://127.0.0.1:8000/user/me", headers: {
2021-11-19 16:58:01 3754
原创 FastAPI用户安全性解决方案
1.需求分析用户登录验证用户登录保持2.实现思路用户登录和令牌发放用户发送用户名和密码到服务器。服务器检查从数据库中查找用户名和密码哈希值(服务器不保存密码,只保存密码的哈希值)。计算密码哈希值,与服务器中数据一致则进入下一步。生成令牌,令牌内容包括用户名和失效日期,还可以包含其他信息,加密成一段字符串,即Token。服务器将加密后的令牌(Token)返回到前端。前端脚本将令牌保存到LocalStorage。用户登录状态保持前端每次向服务器发送请求,都把令牌放在请求头中。
2021-11-18 21:25:53 5596 2
原创 Python 字典或JSON模拟数据库的增删改查
本文主要想法是通过模拟数据库操作,减少服务后端开发起步阶段的工作量,用于API测试。首先通过python字典类型作为数据表,并在运行中对其进行动态更改。首先,在单独一个文件中创建字典。#文件名:fake_database.pyfake_users_table={ "johndoe": { "username": "johndoe", "full_name": "John Doe", "email": "johndoe@example.com"
2021-11-18 15:17:20 1116
原创 matlab 图像卷积的方法与应用
问题分析内容 1:获取滤波器/卷积核采用 fspecial 函数获取均值滤波器、拉普拉斯算子、prewitt 算子、Sobel算子,并输出显示这些滤波器,可设置合适的参数、尺寸大小。手动设置 Robert 梯度算子、不同方向的检测算子。内容 2:图像边缘检测分别读取./data/worldview4_schiphol.jpg、./data/WorlView2-Newzeland.tif文件,用根据内容 1 中的不同方向(边缘)检测算子,检测不同方向的边缘(由于图像是 RGB 波段
2021-08-15 11:07:57 4313
原创 matlab直方图拉伸、均衡化和匹配
问题分析内容 1:图像增强显示编写一个灰度拉伸函数,实现功能:将原始图像的灰度值以线性方式拉伸到 0-255 之间。读取./data/flower.tif 文件,显示原始图像、原始图像的直方图,然后分别采用上述步骤中编写的函数、imadjust 函数以实现图像增强,并显示图像增强后的效果以及相应的图像直方图。读取./data/mars_moon.tif 文件,显示原始图像、原始图像的直方图,阅读imadjust 函数,理解 gamma 参数的意义,然后设置不同的 gamma 值进行图像增
2021-08-15 11:01:46 4425
原创 Python中文编程
用中文定义一个类:def 显示(字符串:str): print(字符串)class 猫(): def __init__(此,名字:str) -> None: 此.名字=名字 显示(f"猫咪{此.名字}来了") def 叫(此): 显示(f'{此.名字}在喵喵喵') def 吃(此,食物:str): 显示(f'{此.名字}在吃{食物}') def __del__(此):
2021-08-09 07:16:22 688
原创 Python类中的__init__,__del__和__call__方法
__init__是类(class)的构造函数,__call__是对象被调用的默认方法。测试:class foo(): def __init__(self) -> None: print("init") def __call__(self) -> None: print("call")foo()f=foo()f()输出:initinitcall由以上测试可知,直接调用类相当于调用 __init__方法,
2021-07-20 19:30:04 491
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人