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

模拟实验中经常遇到的问题和常用技巧

简介

最近在进行新文章的数值模拟阶段。上一次已经跟读者们分享了模拟实验的大致流程,见:数值模拟流程记录和分享 。

本文是在前提下,汇总了小编在模拟实验中经常遇到的问题和常用技巧。

文章目录

    • 简介
    • 1. 隐藏输出结果
    • 自动创建文件夹
    • 保存多个数据到 Excel 中
    • 运行完程序提醒
    • 计算运行时间
    • 运行时进度条显示
    • 画图常用细节
      • 包含数学符号
      • 显示为中文问题
      • 排序问题
      • 主题设置问题

1. 隐藏输出结果

在拟合数据时,如果使用第三方包拟合,可能会出现以下情景:

如果想删除自动输出的内容,可以使用以下代码

  sink("NUL")fit <- fit(obj, data, stepsEM = 300, every = 100)     sink()

此时,将不会自动输出其他结果。该方法参考于stackoverflow,上面代码适用于 mac,windows 读者自测噢~

sink("NUL")
....
sink()

自动创建文件夹

有时候,读者需要保存实验结果并将其放到子文件夹中,可以通过以下代码,自动创建 result3 文件夹。然后再配合 write.xlsx()save.image() 来存储数据和工作空间 (见下一个知识点)。

folder_path <- paste("result3/",lambda,'-',m,sep='') #路径设置
if (!file.exists(folder_path)) { dir.create(folder_path,recursive = TRUE) } else { cat("Folder already exists:", folder_path, "\n")}

保存多个数据到 Excel 中

使用 openxlsx 包,将需要保存的变量 RB, RMSE, LEN, COV 存放到列表中。并通过 write.xlsx() 进行保存:

library(openxlsx)
sheets = list('RB'= RB, 'RMSE' = RMSE, 'LEN' = LEN, 'COV' = COV)
write.xlsx(sheets,paste(folder_path,"/n",n,".xlsx",sep=''),colNames = TRUE,rowNames = TRUE)

此时得到的结果:

技巧: 使用 paste() 函数,自动根据参数不同(n),改变路径和文件名称(文件夹要提前建立好,结合上一个知识点)。

运行完程序提醒

使用 beepr 包中的 beep(),在代码末尾加入,即可在程序结束后发出声音从而提醒读者。详细小编以前写的推文:程序结束后记得提醒我。

beepr::beep(sound = "mario")

计算运行时间

有时候需要计算每次循环的运行时间,可以使用以下代码:

start_time <- Sys.time() # 记录初始时间
myfunction() # 运行你的代码
end_time <- Sys.time() # 记录终止时间

还有其他更高级的用法,详细见小编以前写的推文:计算代码运行时间的 5 种方法。

运行时进度条显示

为了展示循环次数和循环进度,可以在循环中添加 print(i)

for(i in 1:10){print(i)my_funtions #其他内容
}

当循环次数太多时,可以使用 if(i %% 10 == 0) print(i),此时得到:

另一种方式是,创建一个进度条:

# 创建一个进度条
pb <- txtProgressBar(min = 0, max = 100, style = 3) # 指定最小值、最大值和样式# 模拟一个循环,更新进度条
for (i in 1:100) {Sys.sleep(0.1)  # 模拟耗时操作setTxtProgressBar(pb, i)  # 更新进度条
}close(pb)  # 关闭进度条

画图常用细节

包含数学符号

显示为中文问题

排序问题

主题设置问题

相关文章:

模拟实验中经常遇到的问题和常用技巧

简介 最近在进行新文章的数值模拟阶段。上一次已经跟读者们分享了模拟实验的大致流程&#xff0c;见&#xff1a;数值模拟流程记录和分享 。 本文是在前提下&#xff0c;汇总了小编在模拟实验中经常遇到的问题和常用技巧。 文章目录 简介1. 隐藏输出结果自动创建文件夹保存多…...

微信小程序(二) ——模版语法1

文章目录 wxml模板语法拼接字符数据绑定 wxml模板语法 拼接字符 <image src"{{test1src}}" mode""/>数据绑定 在data中定义数据&#xff0c;吧数据定义到data对象中在wxml中使用数据不论是绑定内容还是属性都是用 {{}} 语法 动态绑定内容 *声明…...

牛客小白月赛83 解题报告

题目链接&#xff1a; https://ac.nowcoder.com/acm/contest/72041#question A题 解题思路 签到 代码 #include <bits/stdc.h> using namespace std;int main() {int a, b, c, d, e;cin >> a >> b >> c >> d >> e;int A, B, C, D…...

蓝桥杯专题-真题版含答案-【三角螺旋阵】【干支记年法】【异或加密法】【金字塔】

Unity3D特效百例案例项目实战源码Android-Unity实战问题汇总游戏脚本-辅助自动化Android控件全解手册再战Android系列Scratch编程案例软考全系列Unity3D学习专栏蓝桥系列ChatGPT和AIGC &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff0c;以及各种资源分…...

鸿蒙篇——初次使用鸿蒙原生编译器DevEcoStudio创建一个鸿蒙原生应用遇到的坑--汇总(持续更新)

前言&#xff1a;欢迎各位鸿蒙初学者、开发者来本帖交流讨论&#xff0c;包含各位遇到的问题、鸿蒙的bug、解决方法等等&#xff0c;我会收集有效的内容更新到本文章中。 背景&#xff1a;2023年12月13日&#xff0c;使用DevEcoStudio 4.0.0.600版本&#xff0c;项目的compileS…...

细胞培养之一二三:哺乳动物细胞培养污染问题和解决方案

一、哺乳动物细胞污染是什么[1]&#xff1f; 污染通常是指在细胞培养基中存在不需要的微生物、不需要的哺乳动物细胞和各种生化或化学物质&#xff0c;从而影响所需哺乳动物细胞的生理和生长。由于微生物在包括人体特定部位在内的环境中无处不在&#xff0c;而且它们的繁殖速度…...

《Linux C编程实战》笔记:文件属性操作函数

获取文件属性 stat函数 在shell下直接使用ls就可以获得文件属性&#xff0c;但是在程序里应该怎么获得呢&#xff1f; #include<sys/types.h> #include <sys/stat.h> #include <unistd.h> int stat(const char *file_name,struct stat *buf); int fstat(i…...

linux中的网络知识

网络 认识基本网络网络划分计算机网络分为LAN、MAN、WAN公网ip和私网ip 传输介质单位换算客户端和服务端 OSI模型osi七层模型TCP/IP:传输控制协议簇HTTP协议简介UDP协议介绍物理地址&#xff1a;mac地址&#xff0c;全球唯一&#xff0c;mac由6段16进制数组成&#xff0c;每段有…...

tp中的调试模式

ThinkPHP有专门为开发过程而设置的调试模式&#xff0c;开启调试模式后&#xff0c;会牺牲一定的执行效率&#xff0c;但带来的方便和除错功能非常值得。 我们强烈建议ThinkPHP开发人员在开发阶段始终开启调试模式&#xff08;直到正式部署后关闭调试模式&#xff09;&#xf…...

【docker 】基于Dockerfile创建镜像

Dockerfile文档 Dockerfile文档地址 Dockerfile 是一个用来构建镜像的文本文件&#xff0c;文本内容包含了一条条构建镜像所需的指令和说明。 DockerFile 可以说是一种可以被 Docker 程序解释的脚本&#xff0c;DockerFile 是由一条条的命令组成的&#xff0c;每条命令对应 …...

C# 提取PDF中指定文本、图片的坐标

获取PDF文件中文字或图片的坐标可以实现精确定位&#xff0c;这对于快速提取指定区域的元素&#xff0c;以及在PDF中添加注释、标记或自动盖章等操作非常有用。本文将详解如何使用国产PDF库通过C# 提取PDF中指定文本或图片的坐标位置&#xff08;X, Y轴&#xff09;。 ✍ 用于…...

CTF网络安全大赛是干什么的?发展史、赛制、赛程介绍,参赛需要学什么?

CTF&#xff08;Capture The Flag&#xff09;是一种网络安全竞赛&#xff0c;它模拟了各种信息安全场景&#xff0c;旨在提升参与者的网络安全技能。CTF 赛事通常包含多种类型的挑战&#xff0c;如密码学、逆向工程、网络攻防、Web 安全、二进制利用等。 发展史 CTF 的概念…...

阿里云SMC迁移RedHat/CentOS 5 内核升级

阿里云SMC迁移RedHat/CentOS 5 内核升级 1. 起因 服务器需要迁移上阿里云,有几台服务器用的是Redhat 5.x,在使用SMC进行迁移时出现以下报错. [2023-12-13 09:50:55] [Error] Check System Info Failed, codeS16_111, msgGet OS Info Failed: [error] grub is too old for C…...

无代码开发让合利宝支付与CRM无缝API集成,提升电商用户运营效率

合利宝支付API的高效集成 在当今快速发展的电子商务领域&#xff0c;电商平台正寻求通过高效的支付系统集成来提升用户体验和业务处理效率。合利宝支付&#xff0c;作为中国领先的支付解决方案提供者&#xff0c;为电商平台提供了一个高效的API连接方案。这种方案允许无代码开…...

数据标注公司如何确保数据安全?景联文科技多维度提供保障

数据标注公司通常拥有大量的AI数据和用户数据&#xff0c;保护数据安全是数据标注公司的重要任务。 数据标注公司确保标注数据的安全可以从制度、人员、工具等多个方面入手&#xff0c;建立完善的安全管理体系和审计机制&#xff0c;加强应急预案和备份机制的建立&#xff0c;以…...

(C语言)精确计算程序运行时间的方法

一、先计算每秒多少个计数 typedef __int64 s64;s64 tps; /* timestamp counter per second */s64 get_tps(void) {s64 t0 rdtsc();Sleep(100);return (rdtsc() - t0) * 10; } 这段代码定义了一个函数 get_tps&#xff0c;该函数用于测量处理器的时间戳计数器&#xff08;RD…...

【Vulnhub 靶场】【VulnCMS: 1】【简单】【20210613】

1、环境介绍 靶场介绍&#xff1a;https://www.vulnhub.com/entry/vulncms-1,710/ 靶场下载&#xff1a;https://download.vulnhub.com/vulncms/VulnCMS.ova 靶场难度&#xff1a;简单 发布日期&#xff1a;2021年06月13日 文件大小&#xff1a;1.4 GB 靶场作者&#xff1a;to…...

普冉(PUYA)单片机开发笔记(10): I2C通信-配置从机

概述 I2C 常用在某些型号的传感器和 MCU 的连接&#xff0c;速率要求不高&#xff0c;距离很短&#xff0c;使用简便。 I2C的通信基础知识请参见《基础通信协议之 IIC详细讲解 - 知乎》。 PY32F003 可以复用出一个 I2C 接口&#xff08;PA3&#xff1a;SCL&#xff0c;PA2&a…...

Idea maven打包时 报错 illegalArgumentException: Malformed \uxxxx encoding 解决方法

1 改变打包命令重新打包 在maven打包命令上加入 -e -X 2 找到报错类和方法 可以看到是 java.util.Properties#loadConvert类方法中有个throw new IllegalArgumentException( "Malformed \\uxxxx encoding.")&#xff0c;在此打断点 3 以Debug方式重新运行maven…...

Qt中槽函数在那个线程执行的探索和思考

信号和槽是Qt的核心机制之一&#xff0c;通过该机制大大简化了开发者的开发难度。信号和槽属于观察者模式&#xff08;本质上是回调函数的应用&#xff09;。是函数就需要考虑其是在那个线程中执行&#xff0c;本文讨论的就是槽函数在那个线程中执行的问题。 目录 1. connect…...

JavaSec-RCE

简介 RCE(Remote Code Execution)&#xff0c;可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景&#xff1a;Groovy代码注入 Groovy是一种基于JVM的动态语言&#xff0c;语法简洁&#xff0c;支持闭包、动态类型和Java互操作性&#xff0c…...

Android Wi-Fi 连接失败日志分析

1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分&#xff1a; 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析&#xff1a; CTR…...

深入理解JavaScript设计模式之单例模式

目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式&#xff08;Singleton Pattern&#…...

镜像里切换为普通用户

如果你登录远程虚拟机默认就是 root 用户&#xff0c;但你不希望用 root 权限运行 ns-3&#xff08;这是对的&#xff0c;ns3 工具会拒绝 root&#xff09;&#xff0c;你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案&#xff1a;创建非 roo…...

数据库分批入库

今天在工作中&#xff0c;遇到一个问题&#xff0c;就是分批查询的时候&#xff0c;由于批次过大导致出现了一些问题&#xff0c;一下是问题描述和解决方案&#xff1a; 示例&#xff1a; // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...

初探Service服务发现机制

1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能&#xff1a;服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源&#xf…...

push [特殊字符] present

push &#x1f19a; present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中&#xff0c;push 和 present 是两种不同的视图控制器切换方式&#xff0c;它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...

Windows安装Miniconda

一、下载 https://www.anaconda.com/download/success 二、安装 三、配置镜像源 Anaconda/Miniconda pip 配置清华镜像源_anaconda配置清华源-CSDN博客 四、常用操作命令 Anaconda/Miniconda 基本操作命令_miniconda创建环境命令-CSDN博客...

4. TypeScript 类型推断与类型组合

一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式&#xff0c;自动确定它们的类型。 这一特性减少了显式类型注解的需要&#xff0c;在保持类型安全的同时简化了代码。通过分析上下文和初始值&#xff0c;TypeSc…...

掌握 HTTP 请求:理解 cURL GET 语法

cURL 是一个强大的命令行工具&#xff0c;用于发送 HTTP 请求和与 Web 服务器交互。在 Web 开发和测试中&#xff0c;cURL 经常用于发送 GET 请求来获取服务器资源。本文将详细介绍 cURL GET 请求的语法和使用方法。 一、cURL 基本概念 cURL 是 "Client URL" 的缩写…...