当前位置: 首页 > news >正文

数学建模竞赛常用代码总结-PythonMatlab

数学建模过程中有许多可复用的基础代码,在此对 python 以及 MATLAB 中常用代码进行简单总结,该总结会进行实时更新。

一、文件读取

python (pandas)

文件后缀名(扩展名)并不是必须的,其作用主要一方面是提示系统是用什么软件打开,另一方面提示文件内容格式。如.txt, .csv, .tsv 文件均为纯文本文件,只是 .csv, .tsv 说明了数据的分割方式分别为, 与 \t 。既然都是文本文件,那就都可用 pandas.read_csv 或 pandas.read_table 等进行读取,这里采用 pandas.read_csv 。

.txt 文件

import pandas as pd

tsvfile = pd.read_csv(‘filename.txt’)

tsvfile = pd.read_csv(‘filename.txt’,skiprows=1)#跳过首行

.csv 文件

import pandas as pd

tsvfile = pd.read_csv(‘filename.csv’)

tsvfile = pd.read_csv(‘filename.csv’,skiprows=1)#跳过表头

.tsv 文件

import pandas as pd

tsvfile = pd.read_csv(‘filename.tsv’, sep=‘\t’)

.json 文件

import pandas as pd

jsonfile = pd.read_json(‘filename.json’, orient = ‘records’)

.csv 文件转.json 文件

import csv

import json

csvfile = open(‘filename.tsv’,r)

jsonfile = open(‘filename.json’,w)

fieldnames = (“key1”,“key2”,“key3”)

reader = csv.DictReader(csvfile,fieldnames)

for row in reader:

json.dump(row,jsonfile)jsonfile.write('\\n')

.xlsx 文件

excel 是二进制文件,它保存有关工作簿中所有工作表的信息,也可对数据进行有关操作。

import pandas as pd

# 读取 Excel 数据,选取 sheet1 工作表

sheet_1 = pd.read_excel(‘demo.xlsx’, sheet_name=‘Sheet1’, na_values=‘n/a’)

# 打印 sheet 表名

print(pd.ExcelFile(‘listings.xlsx’).sheet_names)

# 打印数据头部

print(sheet_1.head())

.xlsx 文件转 .csv

import pandas as pd

def xlsx_to_csv_pd():

data_xls = pd.read_excel(‘demo.xlsx’, index_col=0)

data_xls.to_csv(‘demo.csv’, encoding=‘utf-8’)

.csv 文件转 .xlsx

import pandas as pd

def csv_to_xlsx_pd():

csv = pd.read_csv(‘1.csv’, encoding=‘utf-8’)

csv.to_excel(‘1.xlsx’, sheet_name=‘data’)

MATLAB

同样的原因,MATLAB 读取文本文件均可用 textscan 。

.txt 文件

clc;clear;

filename = ‘filename.txt’;

file = fopen(filename);%打开文件

columns = ‘s%s%s%s%s%s%’;%读几列就有几个’s%’

data = textscan(filename,columns,‘delimiter’, ’ ');%以制表符分隔

fclose(file);

.csv 文件

clc;clear;

filename = ‘filename.csv’;

file = fopen(filename);%打开文件

columns = ‘s%s%s%s%s%s%’;%读几列就有几个’s%’

data=textscan(filename,columns,‘delimiter’, ‘,’);%以 , 分隔

fclose(file);

.tsv 文件

clc;clear;

filename = ‘filename.tsv’;

file = fopen(filename);%打开文件

columns = ‘s%s%s%s%s%s%’;%读几列就有几个’s%’

data=textscan(filename,columns,‘delimiter’, ’ ');%以制表符分隔

fclose(file);

.json 文件

MATLAB 读取 .json 文件需要下载 jsonlab 包。

clc;clear;

addpath(‘E:\PIR\PIR_V3.0\jsonlab-1.5’); %添加jsonlab包的存放路径

filename = ‘filename.json’; %文件名称

jsonData = loadjson(filename);%jsonData是struct结构

data = jsonData.u’;

二、绘图

MATLAB

点状图

plot(xi,yi,‘>’,‘Color’,[x/255 x/255 x/255]);%右三角,颜色为(x,x,x)

%符号可为’o’,‘.’,‘+’,‘>’,'<'等

xlabel(‘x/x’)

ylabel(‘y/y’)

title(‘Title’)

set(gcf,‘unit’,‘normalized’,‘position’,[0.2,0.2,0.8,0.6]);%固定大小

折线图

xi= 1: 0.25:76;

yi = interp1(X,Y,xi,‘spline’);%插值,将步长由1变为0.25

plot(xi,yi,‘Color’,[x/255 x/255 x/255],‘LineWidth’,1);%颜色为(x,x,x),线条粗细为1

xlabel(‘x/x’)

ylabel(‘y/y’)

title(‘Title’)

set(gcf,‘unit’,‘normalized’,‘position’,[0.2,0.2,0.8,0.6]);%固定大小

条形图

y=[1 2 3,1 2 3];%分组条形图

tiledlayout(2,1)%指定纵横比

bar(y);

bar(x,y);

bar(y,‘stacked’);%与y=[1 2 3,1 2 3]结合,同一个柱形上分层显示

bar(x,y,0.6);%相对宽度控制间隔

bar(y,‘FaceColor’,[0 .5 .5],‘EdgeColor’,[0 .9 .9],‘LineWidth’,1.5);%多参数

y = [10 15 20; 30 35 40; 50 55 62];

b = bar(y);

b(3).FaceColor = [.2 .6 .5];%每组第三列设为绿色

其他功能

%绘制多张

figure(i);

%plot

hold on;

figure(i+1);

%plot

%多线同图

%plot

hold on;

%plot

python

点状图

import matplotlib.pyplot as plt

plt.rcParams[‘figure.figsize’] = (48.0, 30.0) # 设置figure_size尺寸

plt.plot(X,Y,‘.’)

plt.xlabel(“x-label”,fontproperties=zhfont,fontsize=‘32’)

plt.ylabel(“y-label”,fontproperties=zhfont,fontsize=‘32’)

plt.title(“title”,fontproperties=zhfont,fontsize=‘32’)

折线图

import matplotlib.pyplot as plt

plt.rcParams[‘figure.figsize’] = (48.0, 30.0) # 设置figure_size尺寸

plt.plot(X,Y)

plt.xlabel(“x-label”,fontproperties=zhfont,fontsize=‘32’)

plt.ylabel(“y-label”,fontproperties=zhfont,fontsize=‘32’)

plt.title(“title”,fontproperties=zhfont,fontsize=‘32’)

其他常用功能

# 绘制多张

plt.subplot(221) # 两行两列的第一个

plt.plot(X1,Y1,‘.’)

plt.subplot(222) # 两行两列的第二个

plt.plot(X2,Y2,‘.’)

plt.subplot(223) # 两行两列的第三个

plt.plot(X3,Y3,‘.’)

plt.subplot(224) # 两行两列的第四个

plt.plot(X4,Y4,‘.’)

# 多张同图

plt.plot(X1,Y1,‘.’)

plt.plot(X2,Y2,‘.’)

# 设置分辨率

## 绘制分辨率

plt.rcParams[‘figure.figsize’] = (24.0, 20.0) # 默认的像素为[6.0,4.0],分辨率为100,图片尺寸为 600&400

plt.rcParams[‘figure.dpi’] = 300 # 直接设置分辨率,一般使用这两种方式之一

## 保存分辨率

plt.rcParams[‘savefig.dpi’] = 300 # 预先设定保存图片像素

plt.savefig(‘demo.jpg’, dpi=200) # 保存时指定分辨率,一般使用这两种方式之一

# title 格式

## 该条(title 格式)参考`开码牛`的博客

plt.title(‘Interesting Graph’,fontsize=‘large’,fontweight=‘bold’) 设置字体大小与格式

plt.title(‘Interesting Graph’,color=‘blue’) 设置字体颜色

plt.title(‘Interesting Graph’,loc =‘left’) 设置字体位置

plt.title(‘Interesting Graph’,verticalalignment=‘bottom’) 设置垂直对齐方式

plt.title(‘Interesting Graph’,rotation=45) 设置字体旋转角度

plt.title(‘Interesting’,bbox=dict(facecolor=‘g’, edgecolor=‘blue’, alpha=0.65 )) 标题边框

常用配色

#5d7a9a#ec554a#ffad60#8bc24c#2d2d2d
#bc8420#593e1a#ffeb28#996699#0fff95
---------------------------END---------------------------

题外话

在这里插入图片描述

感兴趣的小伙伴,赠送全套Python学习资料,包含面试题、简历资料等具体看下方。

👉CSDN大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

img
img

二、Python必备开发工具

工具都帮大家整理好了,安装就可直接上手!img

三、最新Python学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

img

四、Python视频合集

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

img

五、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

img

六、面试宝典

在这里插入图片描述

在这里插入图片描述

简历模板在这里插入图片描述

👉CSDN大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)

若有侵权,请联系删除

相关文章:

数学建模竞赛常用代码总结-PythonMatlab

数学建模过程中有许多可复用的基础代码&#xff0c;在此对 python 以及 MATLAB 中常用代码进行简单总结&#xff0c;该总结会进行实时更新。 一、文件读取 python (pandas) 文件后缀名&#xff08;扩展名&#xff09;并不是必须的&#xff0c;其作用主要一方面是提示系统是用…...

在Ubuntu上安装CUDA和cuDNN以及验证安装步骤

在Ubuntu上安装CUDA和cuDNN以及验证安装步骤 本教程详细介绍了如何在Ubuntu操作系统上安装CUDA&#xff08;NVIDIA的并行计算平台&#xff09;和cuDNN&#xff08;深度神经网络库&#xff09;&#xff0c;以及如何验证安装是否成功。通过按照这些步骤操作&#xff0c;您将能够…...

SecureCRT ssh链接服务器

SecureCRT通过密钥进行SSH登录 说明&#xff1a; 一般的密码方式登录容易被密码暴力破解。所以一般我们会将 SSH 的端口设置为默认22以外的端口&#xff0c;或者禁用root账户登录。其实可以通过密钥登录这种方式来更好地保证安全。 密钥形式登录的原理是&#xff1a;利用密钥…...

linux之perf(3)top实时性能

Linux之perf(3)top实时性能 Author&#xff1a;Onceday Date&#xff1a;2023年9月3日 漫漫长路&#xff0c;才刚刚开始… 注&#xff1a;该文档内容采用了GPT4.0生成的回答&#xff0c;部分文本准确率可能存在问题。 参考文档: Tutorial - Perf Wiki (kernel.org)perf-to…...

【linux命令讲解大全】076.pgrep命令:查找和列出符合条件的进程ID

文章目录 pgrep补充说明语法选项参数实例 从零学 python pgrep 根据用户给出的信息在当前运行进程中查找并列出符合条件的进程ID&#xff08;PID&#xff09; 补充说明 pgrep 命令以名称为依据从运行进程队列中查找进程&#xff0c;并显示查找到的进程ID。每一个进程ID以一个…...

微信小程序开发---条件渲染和列表渲染

目录 一、条件渲染 &#xff08;1&#xff09;基本使用 &#xff08;2&#xff09;block &#xff08;3&#xff09;hidden 二、列表渲染 &#xff08;1&#xff09;基本使用 &#xff08;2&#xff09;手动指定索引和当前项的变量名 &#xff08;3&#xff09;wx:key的…...

【ES6】require、export和import的用法

在JavaScript中&#xff0c;require、export和import是Node.js的模块系统中的关键字&#xff0c;用于处理模块间的依赖关系。 1、require&#xff1a;这是Node.js中引入模块的方法。当你需要使用其他模块提供的功能时&#xff0c;可以使用require关键字来引入该模块。例如&…...

Vue + Element UI 前端篇(九):接口格式定义

接口请求格式定义 前台显示需要后台数据&#xff0c;我们这里先把前后端交互接口定义好&#xff0c;没有后台的时候&#xff0c;也方便用mock模拟。 接口定义遵循几个规范&#xff1a; 1. 接口按功能模块划分。 系统登录&#xff1a;登录相关接口 用户管理&#xff1a;用户…...

部署Django报错-requires SQLite 3.8.3 or higher

记一次CentOS7部署Django项目时的报错 问题出现 在部署测试环境时&#xff0c;有需要用到一个python的后端服务&#xff0c;要部署到测试环境中去 心想这不是so easy吗&#xff0c;把本地调试时使用的python版本及Django版本在服务器上对应下载好&#xff0c;然后直接执行命…...

什么是网络存储服务器

网络存储器就像一台只有存储功能的终端&#xff0c;独立地工作&#xff0c;里面带有固定的系统&#xff0c;但可以自己设置部分参数功能&#xff0c;可以接入服务器或者电脑进行设置&#xff0c;网络存储服务器实际上就是精简的、小型化的服务器&#xff0c;同样由主板、CPU&am…...

lv3 嵌入式开发-10 NFS服务器搭建及使用

目录 1 NFS服务器介绍 1.1 NFS服务器的介绍 1.2 NFS服务器的特点 1.3 NFS服务器的适用场景 2 NFS服务器搭建 2.1 配置介绍 2.2 常见错误 3 WINDOWS下NFS服务器搭建&#xff08;扩展&#xff09; 1 NFS服务器介绍 1.1 NFS服务器的介绍 nfs&#xff08;Network File Sys…...

后流量时代的跨境风口:Facebook广告

Facebook拥有超过25亿各个年龄段和人群的每月活跃用户&#xff0c;可以帮助您接触世界各地的相关消费者。无论您是需要吸引新的潜在客户还是吸引回头客访问您的在线商店&#xff0c;Facebook广告都可以为电子商务提供丰厚的投资回报&#xff1b;无论您是在沃尔玛、eBay、亚马逊…...

Java基础学习笔记-2

前言 在计算机编程领域&#xff0c;条件语句和控制流结构是构建程序逻辑的基本组成部分。它们允许程序员根据不同的条件执行不同的操作&#xff0c;从而使程序更加灵活和智能。本文将深入探讨Java编程语言中的条件语句和控制流&#xff0c;提供了一系列实用的示例和技巧&#…...

Mongodb 安装脚本(附服务器自启动)

shell脚本 #!/bin/bash #mail:xuelanchnet.com #function:auto install mongodb [ $(id -u) ! "0" ] && echo "Error: You must be root to run this script" && exit 1 logfile"/var/log/mongod_install.log" softdir"/s…...

yolov5的pytorch配置

1. conda create -n rdd38 python3.82、pip install torch1.8.0 torchvision0.9.0 torchaudio0.8.0 -f https://download.pytorch.org/whl/cu113/torch_stable.html -i https://pypi.tuna.tsinghua.edu.cn/simple 3、conda install cudatoolkit10.2...

ISO 19712-1-2008装饰用实体面材检测

实体面材是指由聚合物材料、填料和颜料组成&#xff0c;经浇筑或压制等工艺成型的板型产品或非板型产品&#xff0c;主要用于厨房台面&#xff0c;家具等领域。 ISO 19712-1-2008装饰用实体面材测试 测试项目 测试标准 耐干热 ISO 19712-3 ISO 19712-2 耐湿热 ISO 19712-…...

华为OD机试 - 最多颜色的车辆 - 数据结构map(Java 2022Q4 100分)

目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路1、核心思想2、题做多了&#xff0c;你就会发现&#xff0c;这道题属于送分题&#xff0c;为什么这样说&#xff1f;3、具体解题思路&#xff1a; 五、Java算法源码六、效果展示1、输入2、输出 华为OD机试 2023B…...

Mybatis 插入、修改、删除

前面几篇我们介绍了使用Mybatis查询数据&#xff0c;并且也了解了如何在Mybatis中使用JDK的日志系统打印日志&#xff1b;本篇我们继续介绍如何使用Mybatis完成数据的插入、修改和删除。 如果您对查询数据和Mybatis集成JDK日志系统不太了解&#xff0c;建议您先进行了解后再阅…...

2023年9月DAMA-CDGA/CDGP数据治理认证火热招生中

DAMA认证为数据管理专业人士提供职业目标晋升规划&#xff0c;彰显了职业发展里程碑及发展阶梯定义&#xff0c;帮助数据管理从业人士获得企业数字化转型战略下的必备职业能力&#xff0c;促进开展工作实践应用及实际问题解决&#xff0c;形成企业所需的新数字经济下的核心职业…...

【SpringCloudAlibaba】Seata分布式事务使用

文章目录 分布式事务问题示例Seata概述、官网一个典型的分布式事务过程处理过程全局GlobalTransactional分布式交易解决方案流程图 Seata安装下载修改conf目录下的application.yml配置文件dashboard demo 分布式事务问题示例 单体应用被拆分成微服务应用&#xff0c;原来的三个…...

Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?

Golang 面试经典题&#xff1a;map 的 key 可以是什么类型&#xff1f;哪些不可以&#xff1f; 在 Golang 的面试中&#xff0c;map 类型的使用是一个常见的考点&#xff0c;其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...

多场景 OkHttpClient 管理器 - Android 网络通信解决方案

下面是一个完整的 Android 实现&#xff0c;展示如何创建和管理多个 OkHttpClient 实例&#xff0c;分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

Docker 运行 Kafka 带 SASL 认证教程

Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明&#xff1a;server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...

零基础设计模式——行为型模式 - 责任链模式

第四部分&#xff1a;行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习&#xff01;行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想&#xff1a;使多个对象都有机会处…...

如何在网页里填写 PDF 表格?

有时候&#xff0c;你可能希望用户能在你的网站上填写 PDF 表单。然而&#xff0c;这件事并不简单&#xff0c;因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件&#xff0c;但原生并不支持编辑或填写它们。更糟的是&#xff0c;如果你想收集表单数据&#xff…...

论文笔记——相干体技术在裂缝预测中的应用研究

目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术&#xff1a;基于互相关的相干体技术&#xff08;Correlation&#xff09;第二代相干体技术&#xff1a;基于相似的相干体技术&#xff08;Semblance&#xff09;基于多道相似的相干体…...

第7篇:中间件全链路监控与 SQL 性能分析实践

7.1 章节导读 在构建数据库中间件的过程中&#xff0c;可观测性 和 性能分析 是保障系统稳定性与可维护性的核心能力。 特别是在复杂分布式场景中&#xff0c;必须做到&#xff1a; &#x1f50d; 追踪每一条 SQL 的生命周期&#xff08;从入口到数据库执行&#xff09;&#…...

LOOI机器人的技术实现解析:从手势识别到边缘检测

LOOI机器人作为一款创新的AI硬件产品&#xff0c;通过将智能手机转变为具有情感交互能力的桌面机器人&#xff0c;展示了前沿AI技术与传统硬件设计的完美结合。作为AI与玩具领域的专家&#xff0c;我将全面解析LOOI的技术实现架构&#xff0c;特别是其手势识别、物体识别和环境…...

【FTP】ftp文件传输会丢包吗?批量几百个文件传输,有一些文件没有传输完整,如何解决?

FTP&#xff08;File Transfer Protocol&#xff09;本身是一个基于 TCP 的协议&#xff0c;理论上不会丢包。但 FTP 文件传输过程中仍可能出现文件不完整、丢失或损坏的情况&#xff0c;主要原因包括&#xff1a; ✅ 一、FTP传输可能“丢包”或文件不完整的原因 原因描述网络…...

论文阅读:Matting by Generation

今天介绍一篇关于 matting 抠图的文章&#xff0c;抠图也算是计算机视觉里面非常经典的一个任务了。从早期的经典算法到如今的深度学习算法&#xff0c;已经有很多的工作和这个任务相关。这两年 diffusion 模型很火&#xff0c;大家又开始用 diffusion 模型做各种 CV 任务了&am…...