python离散随机变量可能的取值为10个汉字,其中包含本人的姓名中的字(将姓名作为多个字处理)。 自行设置10个汉字对应的分布律,然后对其进行1000次采样,输出采样结果,即1000个汉字。 用直方图画出采样所得汉字各自出现的次数,与第1步中设置的分布律进行比较
时间: 2024-10-09 21:06:35 浏览: 87
在Python中,我们可以使用`random.choices`函数来生成离散随机变量的样本,同时利用`collections.Counter`来统计每个汉字出现的频率。首先,我们需要确定一个由10个汉字组成的列表,包含您的姓名中的字,假设姓名是"张三":
```python
import random
from collections import Counter
# 假设您的姓名是"张三"
name = "张三"
# 将名字拆分为单个汉字
name_chars = list(name)
# 设置分布律,这里可以手动设定权重,例如均匀分布
weights = [1] * len(name_chars)
# 如果需要非均匀分布,例如特定汉字更可能出现
# weights = [0.2, 0.3, 0.4, 0.1 for _ in name_chars]
# 进行1000次采样
sample_size = 1000
samples = random.choices(name_chars, weights=weights, k=sample_size)
# 统计每个汉字出现的次数
counter = Counter(samples)
# 输出采样结果
print("采样结果:", samples[:5], "... (共1000个字符)")
# 画出直方图并与分布律比较
import matplotlib.pyplot as plt
plt.figure(figsize=(8, 6))
plt.hist(counter.values(), bins=len(weights), align='left', rwidth=0.9)
plt.xticks(range(1, len(weights) + 1), name_chars)
plt.xlabel('汉字')
plt.ylabel('出现次数')
plt.title('采样次数分布与原始分布比较')
plt.show()
# 对比分析部分
original_distribution = {char: weights.index(weight) + 1 for char, weight in zip(name_chars, weights)}
difference = [counter[char] - original_distribution[char] if char in counter else 0 for char in name_chars]
print("差异情况:", difference[:5])
```
这个脚本首先创建了指定姓名的汉字列表,并设置了一个简单的均匀分布(所有汉字都有相同的概率出现)。然后进行1000次采样,并绘制直方图。你可以根据需要修改权重,使得某些汉字更有可能出现。
注意:由于实际姓名隐私保护,此处示例仅用于演示目的,实际应用中请替换为实际姓名并调整权重。
阅读全文
相关推荐
















资源下载链接为:
https://pan.quark.cn/s/d9ef5828b597
在Web开发中,将Canvas内容保存为图片或直接保存页面上的图片是一个常见需求。本文将介绍如何通过JavaScript实现这两种功能。
Canvas是HTML5提供的一个强大的绘图工具,允许开发者通过JavaScript动态绘制图形、文字和图片等。它支持复杂的图形操作,如变换、渐变和阴影等。要将Canvas内容保存为图片,可以使用toDataURL()方法。该方法会将Canvas内容转换为一个数据URL,通常是一个base64编码的PNG或JPEG图像。
以下是一个将Canvas内容保存为图片的函数示例:
在这个函数中,canvas参数是Canvas元素的DOM对象,name参数是保存的图片名称。通过调用toDataURL()方法,我们获取Canvas的图像数据,并创建一个元素。设置href属性为图像数据URL,download属性为文件名,然后模拟点击该链接,浏览器便会开始下载图片。
如果需要保存页面上的一张图片,可以直接操作
元素。假设页面中有一个
元素,其src属性指向要保存的图片,可以使用以下方法:
在这个函数中,img参数是
元素的DOM对象,name是保存的图片名称。通过将a.href设置为图片的src属性,然后触发点击事件,即可实现图片的下载。
需要注意的是,toDataURL()默认生成PNG格式的图片,但也可以通过指定MIME类型(如image/jpeg)来生成其他格式的图片。此外,由于同源策略的限制,如果Canvas绘制的内容来自跨域资源,可能无法正确转换为数据URL。同时,浏览器的安全策略可能会限制download属性的使用,例如在某些情况下不允许非用户交互式触发下载。
总之,JavaScript提供了简单的方法来将Canvas内容



