当前位置: 首页 > 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;原来的三个…...

conda相比python好处

Conda 作为 Python 的环境和包管理工具&#xff0c;相比原生 Python 生态&#xff08;如 pip 虚拟环境&#xff09;有许多独特优势&#xff0c;尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处&#xff1a; 一、一站式环境管理&#xff1a…...

智能在线客服平台:数字化时代企业连接用户的 AI 中枢

随着互联网技术的飞速发展&#xff0c;消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁&#xff0c;不仅优化了客户体验&#xff0c;还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用&#xff0c;并…...

vue3 定时器-定义全局方法 vue+ts

1.创建ts文件 路径&#xff1a;src/utils/timer.ts 完整代码&#xff1a; import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...

SpringCloudGateway 自定义局部过滤器

场景&#xff1a; 将所有请求转化为同一路径请求&#xff08;方便穿网配置&#xff09;在请求头内标识原来路径&#xff0c;然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

10-Oracle 23 ai Vector Search 概述和参数

一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI&#xff0c;使用客户端或是内部自己搭建集成大模型的终端&#xff0c;加速与大型语言模型&#xff08;LLM&#xff09;的结合&#xff0c;同时使用检索增强生成&#xff08;Retrieval Augmented Generation &#…...

Xen Server服务器释放磁盘空间

disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...

A2A JS SDK 完整教程:快速入门指南

目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库&#xff…...

宇树科技,改名了!

提到国内具身智能和机器人领域的代表企业&#xff0c;那宇树科技&#xff08;Unitree&#xff09;必须名列其榜。 最近&#xff0c;宇树科技的一项新变动消息在业界引发了不少关注和讨论&#xff0c;即&#xff1a; 宇树向其合作伙伴发布了一封公司名称变更函称&#xff0c;因…...

WEB3全栈开发——面试专业技能点P7前端与链上集成

一、Next.js技术栈 ✅ 概念介绍 Next.js 是一个基于 React 的 服务端渲染&#xff08;SSR&#xff09;与静态网站生成&#xff08;SSG&#xff09; 框架&#xff0c;由 Vercel 开发。它简化了构建生产级 React 应用的过程&#xff0c;并内置了很多特性&#xff1a; ✅ 文件系…...