python打印朱莉娅集合
# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
# 複素数列の計算回数を出力する関数loopmax
def loopmax(z, c):
# 複素数列の初項
z_next = z
# 最大計算回数
num = 1000
# 計算回数まで計算
for i in range(1, num + 1):
# 発散しない限り
if abs(z_next) <= 2:
# 次の項を計算
z = z_next
z_next = z ** 2 + c
else:
# 発散したら終了
break
# 発散した際の計算回数を返す
return i
# 複素平面上のloopmaxの結果を配列で出力する関数calc_n
def calc_n(x_min, x_max, y_min, y_max, a, b, num):
# 実数軸の座標を等間隔でx_minからx_maxまで定義
x_array = np.linspace(x_min, x_max, num)
# 虚数軸の座標を等間隔でy_minからy_maxまで定義
y_array = np.linspace(y_min, y_max, num)
# 複素平面の定義(複素数なのでdtype=np.complex)
z_array = np.zeros((num, num), dtype=np.complex)
# 各座標でのnを格納する配列
n_array = np.zeros((num, num))
# a, bから定数の複素数cを定義
c = a + b * 1j
# 複素平面座標とその座標における計算回数の格納
for i in range(0, num):
for j in range(0, num):
# 複素平面座標
z_array[j, i] = x_array[i] + y_array[j] * 1j
# 計算回数の配列
n_array[j, i] = loopmax(z_array[j, i], c)
# 計算回数を格納した配列を出力
return n_array
# ジュリア集合を描く関数show_patterns
def show_patterns(U, ax=None):
ax.imshow(U, cmap=plt.cm.hot,
interpolation='bilinear')
ax.set_axis_off()
# メイン関数
if __name__ == "__main__":
# プロットする区間を選択
x_min = -1.5
x_max = 1.5
y_min = -1.5
y_max = 1.5
# 定数項のパラメータ
a = 0.285
b = 0.01
# 複素平面上に定義する各軸の座標の個数
num = 500
# 計算回数の配列を上記のパラメータから出力
n_array = calc_n(x_min, x_max, y_min, y_max, a, b, num)
# プロット
fig, ax = plt.subplots(1, 1, figsize=(8, 8))
show_patterns(n_array, ax=ax)
# 画像の保存
plt.savefig('Julia.png', dpi=1500)
python打印朱莉娅集合的更多相关文章
- Python列表、集合与字典(3)
目录 一.列表 二.集合 三.字典 一.列表 1. 列表初识 列表的使用为处理特定顺序排列的数据提供了便利,列表元素可以是字母.数字或者其他信息,同时所加元素之间不存在任何关系. 在Pytho ...
- Python打印到屏幕_读取键盘输入
Python打印到屏幕_读取键盘输入: print( ): 打印输出括号中的值 print("hello") # hello strs = 'hello' print(" ...
- Python打印格式化与字符串
关于Python打印格式化与字符串,比较全面的总结,希望对大家有帮助~ # -*- coding: cp936 -*- ''' 打印格式 ''' print "a" print & ...
- python打印表格式数据,留出正确的空格和段落星号或注释
python打印表格式数据,留出正确的空格,格式化打出 代码如下: def printPicnic(itemsDict,leftWidth,rightWidth): print('PICNIC ITE ...
- python爬虫工具集合
python爬虫工具集合 大家一起来整理吧!强烈建议PR.这是初稿,总是有很多问题,而且考虑不全面,希望大家支持! 源文件 主要针对python3 常用库 urllib Urllib是python提供 ...
- Python序列结构--集合
集合:元素之间不允许重复 集合属于Python无序可变序列,元素之间不允许重复 集合对象的创建与删除 直接将值赋值给变量即可创建一个集合 >>> a = {3,5}>>& ...
- python 打印 emoji
python 打印 emoji 如需转发,请注明出处:小婷儿的python https://www.cnblogs.com/xxtalhr/p/10486506.html 一.Unicode字符集: ...
- python打印列表的下标和值的例子:
python打印列表的下标和值的例子: In [1]: list01=[1,4,5] In [10]: def funct01(ll): ....: for index,value in ...
- python 中的集合set
python中,集合(set)是一个无序排列,可哈希, 支持集合关系测试,不支持索引和切片操作,没有特定语法格式, 只能通过工厂函数创建.集合里不会出现两个相同的元素, 所以集合常用来对字符串或元组或 ...
随机推荐
- springMVC的全局异常设置
先说为什么要设置全局异常.比如说,你程序出错了,500错误,大家都知道,程序出错就不会往下面执行,但是客户端那边还是一直等待状态,所以,我们后台无论正常还是报错都要给客户端返回数据.当然,我们可以tr ...
- jQuery使用(六):DOM操作之元素包裹、克隆DOM与data的综合应用
包裹 wrap() wrapInner() wrapAll() unwrap() clone() 数据缓存机制 data 文档处理(包裹) 1.1.wrap()--将所匹配的元素用其他元素结构化标签包 ...
- Nginx 之六: Nginx服务器的正向及反向代理功能
一:Nginx作为正向代理服务器: 1.正向代理:代理(proxy)服务也可以称为是正向代理,指的是将服务器部署在公司的网关,代理公司内部员工上外网的请求,可以起到一定的安全作用和管理限制作用,正向代 ...
- 【四】Java虚拟机内存区域初识
一.线程独占区 1.程序计数器 程序计数器是一块处于线程独占区较小的内存空间,它可以看是当前线程所执行的字节码的行号指示器. 如果线程执行的是Java方法,这个计数器记录的是正在执行的虚拟机字节码 ...
- IDApython教程(五)
我们继续IDAPython让生活更美好序列,这一部分我们解决逆向工程师日常遇到的问题:提取执行的内嵌代码. 恶意软件会用各种方式存储内嵌可执行代码,有些恶意软件将内嵌代码加到文件附加段,包括PE资源区 ...
- Session 起航 登录会话和注销请求 重定向和转发
[LoginServlet] @WebServlet(name="loginServlet",urlPatterns = "/login") public cl ...
- 数据库设计理论与实践·<五>常见疑难杂症
- Linux之增加系统调用[内核编译]
声明:如需引用或者摘抄本博文源码或者其文章的,请在显著处注明,来源于本博文/作者,以示尊重劳动成果,助力开源精神.也欢迎大家一起探讨,交流,以共同进步- 0.0 由于操作系统实验的缘故,有一个实验需要 ...
- Web前端性能优化常见面试题
一般说来,web前端指网站业务逻辑之前的部分,包括浏览器加载.网站视图模型.图片服务.CDN服务等,主要优化手段有浏览器访问.使用反向代理才.CDN等.1.减少http请求,合理浏览器缓存 2.启用压 ...
- luogu P3312 [SDOI2014]数表
传送门 我们看要求的东西\[\sum_{i=1}^{n}\sum_{j=1}^{m}[\sigma(gcd(i,j))\le a]\sigma(gcd(i,j))\] 然而\(\le a\)比较烦,可 ...