数模原理精解【3】

文章目录

  • 随机事件与概率
    • 基础
    • 理论
      • Julia中计算概率
        • 1. 简单的概率计算
        • 2. 使用统计分布
        • 3. 蒙特卡洛模拟
      • 全排列
      • Julia计算阶乘
  • 参考文献

随机事件与概率

基础

  • 某本地电话号码本中有n个电话,每个电话带区号一起12个数字,问从这n个电话中取出后3位不相同的号码的概率是多少?
    1. 后 3 位 电 话 号 码 均 为 0 - 9 中 的 一 个 数 字 , 共 有 以 下 种 可 重 复 排 列 ( 有 放 回 的 ) 。 1 0 3 2. 因 为 后 3 位 不 相 同 , 所 以 是 一 种 无 放 回 排 列 , 以 下 种 排 列 。 P 10 3 3. P 10 3 1 0 3 = 0.72 1.后3位电话号码均为0-9中的一个数字,共有以下种可重复排列(有放回的)。 \\10^3 \\2.因为后3位不相同,所以是一种无放回排列,以下种排列。 \\P_{10}^3 \\3.\frac {P_{10}^3} {10^3}=0.72 1.3091032.3,P1033.103P103=0.72
julia> (factorial(10)/ factorial(7))/(10^3)

0.72

理论

下面内容来自文心一言的自动生成。

Julia中计算概率

在Julia中计算概率通常依赖于你想要解决的具体问题。概率的计算可以涉及简单的数学运算、使用统计分布,或者需要复杂的模拟。以下是一些基本的示例,展示如何在Julia中处理不同类型的概率计算。

1. 简单的概率计算

如果你只是需要计算基于给定概率的简单事件的概率,那么可以直接使用基本的数学运算。

# 假设有两个事件A和B,它们独立发生,P(A) = 0.4, P(B) = 0.5
P_A = 0.4
P_B = 0.5# 计算A和B同时发生的概率 P(A ∩ B) = P(A) * P(B)
P_A_and_B = P_A * P_B
println("P(A and B) = ", P_A_and_B)# 计算A或B发生的概率 P(A ∪ B) = P(A) + P(B) - P(A ∩ B)
P_A_or_B = P_A + P_B - P_A_and_B
println("P(A or B) = ", P_A_or_B)
2. 使用统计分布

Julia的Statistics包(或更专门的Distributions包)提供了多种统计分布的实现,你可以使用这些分布来计算概率。

首先,你需要安装Distributions包(如果你还没有安装的话):

julia> using Pkg
julia> Pkg.add("Distributions")

然后,你可以使用这些分布来计算概率:

using Distributions# 定义一个正态分布
normal_dist = Normal(0, 1)  # 均值为0,标准差为1# 计算x=1时的概率密度
pdf_value = pdf(normal_dist, 1)
println("PDF at x=1: ", pdf_value)# 计算x在-1到1之间的累积分布函数(CDF)值
cdf_value = cdf(normal_dist, 1) - cdf(normal_dist, -1)
println("CDF from -1 to 1: ", cdf_value)
3. 蒙特卡洛模拟

对于更复杂的概率问题,特别是那些难以直接通过解析方法求解的问题,蒙特卡洛模拟是一个很好的选择。

# 假设我们要估计π的值,使用蒙特卡洛方法
n_samples = 10000
inside_circle = 0for i = 1:n_samplesx = 2 * rand() - 1  # 生成-1到1之间的随机数y = 2 * rand() - 1if x^2 + y^2 <= 1inside_circle += 1end
end# π的估计值
pi_estimate = 4 * inside_circle / n_samples
println("Estimated π: ", pi_estimate)

以上只是概率计算在Julia中的几个示例。根据你的具体需求,你可能需要调整这些示例或探索更多的工具和库。

全排列

在Julia中,可以使用permutations函数来求解一个集合的所有排列。这个函数定义在Combinatorics.jl包中,因此你需要首先添加这个包。

首先,在REPL中运行下面的命令来添加Combinatorics.jl包:

using Pkg
Pkg.add("Combinatorics")

之后,你可以使用permutations函数来获取一个集合的所有排列:

using Combinatorics# 假设我们要获取1到3的所有排列
perms = permutations([1, 2, 3])## 打印排列结果
for p in permsprintln(p)
end

这段代码将会打印出1到3的所有排列。如果你需要排列的集合较大,请注意这可能会创建一个非常大的数组,因此请确保你的机器有足够的内存来处理这个结果。

Julia计算阶乘

在Julia中,你可以使用内置的factorial函数来计算阶乘。以下是一个计算阶乘的例子:

# 计算阶乘的函数
function factorial_digit(n)if n < 0error("输入必须为非负数")elseif n == 0return 1elsereturn factorial(n)end
end# 示例
n = 5
result = factorial_digit(n)
println("阶乘结果: ", result)

在这个例子中,我们定义了一个名为factorial_digit的函数,它接受一个整数n作为参数,并返回n的阶乘。如果n是0或负数,则会抛出错误。如果n是正数,则使用内置的factorial函数来计算它的阶乘。然后,我们计算5的阶乘并打印结果。

参考文献

  1. 文心一言
    2.《数学》中国财政经济出版社 2010版

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/876942.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【arxiv 2024】Latte: Latent Diffusion Transformer for Video Generation

【arxiv 2024】Latte: Latent Diffusion Transformer for Video Generation 一、前言Abstract1 Introduction2 Related Work3 Methodology3.1 Preliminary of Latent Diffusion Models3.2 The model variants of Latte3.3 The empirical analysis of Latte3.3.1 Latent video c…

C语言 ——— 函数指针数组的讲解及其用法

目录 前言 函数指针数组的定义 函数指针数组的使用 前言 数组是存放一组相同类型数据的存储空间 关于指针数组的知识请见&#xff1a;C语言 ——— 指针数组 & 指针数组模拟二维整型数组-CSDN博客 那么要将多个函数的地址存储到数组中&#xff0c;这个数组该如何定义…

C++中的依赖注入

目录 1.概述 2.构造函数注入 3.setter方法注入 4.接口注入 5.依赖注入框架 6.依赖注入容器 7.依赖注入框架的工作原理 8.依赖注入的优势 9.总结 1.概述 依赖注入是一种设计模式&#xff0c;它允许我们在不直接创建对象的情况下为对象提供其依赖项&#xff1b;它通过将…

云仓技术带来的物流变革影响

1、实时可视性&#xff1a; 云仓技术使物流公司能够实时跟踪和监控货物在供应链中的位置和状态。这种实时可视性提供了更好的货物追踪和管理能力&#xff0c;同时也提高了客户服务的质量。 ———————————————————— 2、仓储优化&#xff1a; 云仓技术可以…

从0开始搭建vue + flask 旅游景点数据分析系统(四):编写前端首页【数据驾驶舱】

本期我们编写数据驾驶舱页面(Dashboard)这个页面。主要任务是引入echarts 组件编写数据驾驶舱页面。 视频教程后续会更新在我的B站&#xff1a;https://space.bilibili.com/1583208775?spm_id_from666.25.0.0 推荐从教程第一集开始从零开始学习&#xff1a;https://blog.csdn…

实验室责任人员管理保障实训系统安全

在智慧校园的实训管理生态中&#xff0c;实验室责任人员的角色犹如精密机器中的关键齿轮&#xff0c;他们不仅是实验室安全与高效运转的守护者&#xff0c;更是实训教学质量的直接塑造者。这一角色的重要性&#xff0c;在智慧校园的数字化转型中得到了前所未有的凸显&#xff0…

Linux系统配置STM32的开发环境(代码编辑,编译,下载调试)

常见的stm32开发都是直接使用keil-MDK工具的&#xff0c;这是个集成开发环境&#xff0c;包含了代码编辑&#xff0c;编译&#xff0c;下载&#xff0c;调试&#xff0c;等功能&#xff0c;而且keil还是个图形化操作工具&#xff0c;直接可以点击图标案件就可以实现编译下载啥的…

Tableau入门|数据可视化与仪表盘搭建

原视频链接&#xff08;up:戴戴戴师兄&#xff09;&#xff0c;文章为笔者的自学笔记&#xff0c;用于复习回顾&#xff0c;原视频下方有原up整理的笔记&#xff0c;更加直观便捷。因为视频中间涉及的细节较多&#xff0c;建议一边操作&#xff0c;一边学习。 整体介绍 可视化…

set,map(java)

前言&#xff1a;要了解set和map&#xff0c;首先需要对搜索树和哈希有一定的了解&#xff0c;才能进一步深入的了解set和map。 1.搜索树 &#xff08;1&#xff09;性质&#xff1a; 若它的左子树不为空&#xff0c;则左子树上所有节点值都小于根节点的值。 若它的右子树不…

【单机锁】实现原理

文章目录 1.互斥锁 sync.Mutex 的实现原理&#xff1b;1.1获取策略有如下两种&#xff1a;1.2sync.Mutex的方案1.2.1具体方案如下&#xff1a;1.2.2转换的条件&#xff1a;1.2.3运行的两种模式&#xff1a;1.2.4两种模式的转换条件1.2.5唤醒标识&#xff1a; 1.3源码走读 2. sy…

猫头虎分享:PyTorch异常ModuleNotFoundError: No module named ‘torch’解决方案

&#x1f42f; 猫头虎分享&#xff1a;PyTorch异常ModuleNotFoundError: No module named ‘torch’解决方案 &#x1f4bb; 摘要 在本篇博客中&#xff0c;我们将深入探讨如何解决PyTorch中常见的“ModuleNotFoundError: No module named ‘torch’”错误。通过详细的步骤指…

差分法求解 Burgers 方程(附完整MATLAB 及 Python代码)

Burgers 方程的数值解及误差分析 引言 Burgers 方程是一个非线性偏微分方程&#xff0c;在流体力学、非线性声学和交通流理论中有广泛应用。本文将通过数值方法求解带粘性的 Burgers 方程&#xff0c;并分析其误差。 方程模型 Burgers 方程的形式为&#xff1a; u t u u …

Jmeter下载、安装、永久汉化(Windows环境)

1、JDK下载 JDK8下载地址https://www.oracle.com/java/technologies/downloads/#java8-windows JDK8的Windows的64位&#xff1a; 2、Jmeter下载 jmeter下载地址https://jmeter.apache.org/download_jmeter.cgi 3、配置环境变量 安装好后&#xff0c;把jdk和jmeter都配置到…

Docker从入门到实践教程(电子版)

前言 Docker 是个伟大的项目&#xff0c;它彻底释放了虚拟化的威力&#xff0c;极大降低了云计算资源供应的成本&#xff0c;同时让应用的 分发、测试、部署和分发都变得前所未有的高效和轻松&#xff01; 本电子书既适用于具备基础 Linux 知识的 Docker 初学者&#xff0c;也…

隧道可视化:实时监控保障行车安全

通过图扑可视化实现隧道的实时监控、数据分析及智能报警系统&#xff0c;提供全面的隧道管理和决策支持&#xff0c;提升行车安全&#xff0c;优化维护策略&#xff0c;确保交通顺畅。

【b站-湖科大教书匠】6 应用层 - 计算机网络微课堂

课程地址&#xff1a;【计算机网络微课堂&#xff08;有字幕无背景音乐版&#xff09;】 https://www.bilibili.com/video/BV1c4411d7jb/?share_sourcecopy_web&vd_sourceb1cb921b73fe3808550eaf2224d1c155 目录 6 应用层 6.1 应用层概述 6.2 客户-服务器方式和对等方…

PsExec横向:IPCPTHPTT

一.IPC下的PsExec 二.PTH下的psexec&#xff08;CS操作&#xff09; 三.PTT下的psexec PsExec工具&#xff1a; psexec 是 windows 下非常好的一款远程命令行工具。psexec的使用不需要对方主机开方3389端口&#xff0c;只需要对方开启admin$共享和ipc$ (该共享默认开启&#…

Spring boot 后端向前端发送日期时间发现少了8小时

问题 数据库 后端的控制台输出 前端控制台输出 可以发现少了8小时 问题 springboot 向前端响应数据是默认 Json 格式&#xff0c;所以会有类型转换&#xff0c;springboot 就通过 Jackson 来对 data 类型数据进行转换&#xff0c;但是Jackson 类型的时区是 GMT&#xff0c;与…

Google AI非坦途

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

Pytorch框架之神经网络

一、全连接神经网络的整体结构 二、全连接神经网络的单元结构 找出一组w,b使得结果最优 三、常见激活函数 四、前向传播 学习率是指训练模型时每次迭代更新模型参数的步长。 五、梯度下降法 六、反向传播计算 七、总结 1、准备数据 2、搭建模型 3、开始训练(设置学习率、…