# -*- 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打印朱莉娅集合的更多相关文章

  1. Python列表、集合与字典(3)

    目录 一.列表 二.集合 三.字典 一.列表 1. 列表初识   列表的使用为处理特定顺序排列的数据提供了便利,列表元素可以是字母.数字或者其他信息,同时所加元素之间不存在任何关系.   在Pytho ...

  2. Python打印到屏幕_读取键盘输入

    Python打印到屏幕_读取键盘输入: print( ): 打印输出括号中的值 print("hello") # hello strs = 'hello' print(" ...

  3. Python打印格式化与字符串

    关于Python打印格式化与字符串,比较全面的总结,希望对大家有帮助~ # -*- coding: cp936 -*- ''' 打印格式 ''' print "a" print & ...

  4. python打印表格式数据,留出正确的空格和段落星号或注释

    python打印表格式数据,留出正确的空格,格式化打出 代码如下: def printPicnic(itemsDict,leftWidth,rightWidth): print('PICNIC ITE ...

  5. python爬虫工具集合

    python爬虫工具集合 大家一起来整理吧!强烈建议PR.这是初稿,总是有很多问题,而且考虑不全面,希望大家支持! 源文件 主要针对python3 常用库 urllib Urllib是python提供 ...

  6. Python序列结构--集合

    集合:元素之间不允许重复 集合属于Python无序可变序列,元素之间不允许重复 集合对象的创建与删除 直接将值赋值给变量即可创建一个集合 >>> a = {3,5}>>& ...

  7. python 打印 emoji

    python 打印 emoji 如需转发,请注明出处:小婷儿的python  https://www.cnblogs.com/xxtalhr/p/10486506.html 一.Unicode字符集: ...

  8. python打印列表的下标和值的例子:

    python打印列表的下标和值的例子: In [1]: list01=[1,4,5] In [10]: def funct01(ll):   ....:     for index,value in ...

  9. python 中的集合set

    python中,集合(set)是一个无序排列,可哈希, 支持集合关系测试,不支持索引和切片操作,没有特定语法格式, 只能通过工厂函数创建.集合里不会出现两个相同的元素, 所以集合常用来对字符串或元组或 ...

随机推荐

  1. python3 rrdtool 使用

    源自 python自动化运维:技术与最佳实践 并做略微修改 安装 yum install python-rrdtoolyum install rrdtool-devel #因为采集用了psutil模块 ...

  2. JAVA核心技术I---JAVA基础知识(常量设计和常量池)

    一:常量---一种不会修改的变量 –Java没有constant关键字 –不能修改,final –不会修改/只读/只要一份,static –方便访问publicJava中的常量 –public sta ...

  3. C#设计模式(0)——设计原则

    设计原则 使用设计模式的根本原因是适应变化,提高代码复用率,使软件更具有可维护性和可扩展性.在进行设计的时候,我们需要遵循以下几个原则:单一职责原则.开闭原则.里氏替代原则.依赖倒置原则.接口隔离原则 ...

  4. 【1】【leetcode-115】 不同的子序列 distinct-subsequences

    不同的子序列 distinct-subsequences(hard) (忘了,典型) 给定一个字符串 S 和一个字符串 T,计算在 S 的子序列中 T 出现的个数. 一个字符串的一个子序列是指,通过删 ...

  5. HDU - 6357 Hills And Valleys(DP)

    http://acm.hdu.edu.cn/showproblem.php?pid=6357 题意 给一个数值范围为0-9的a数组,可以选择翻转一个区间,问非严格最长上升子序列,以及翻转的区间. 分析 ...

  6. Mongodb aggregation 基本操作示例

    MongoDB二个主要的操作:一个是查询,另一个是统计.对于查询而言,主要是find()方法,再配合Filters组合多个查询条件. 对于统计而言,则主要是aggregate操作,比如 group.s ...

  7. 从零开始学HTTP (一)网络基础

    网络基础 web发展史 下面列出了web发展中几个重要的历史结点 1990年 HTTP/0.9问世(HTTP/0.9含有HTTP1.0之前版本的意思,这时HTTP并未作为标准被公布) CERN(欧洲核 ...

  8. Java入门系列Java NIO

    jdk1.4中新加入的NIO,引入了通道与缓冲区的IO方式,它可以调用Native方法直接分配堆外内存,这个堆外内存就是本机内存,不会影响到堆内存的大小.

  9. luogu 1484\1792 种树 奇怪的贪心可反悔

    1484 种树 此版本是线性的,那么根据链表维护即可: 构建新点,点的左右分别是原整个区间的前驱及后继,再正常维护即可 注意两个版本的维护有所不同 第二个版本的维护直接将左右两点删除 1792 种树2 ...

  10. ASP.NET MVC利用PagedList分页(一)

    前几天看见博客园上有人写ASP.NET MVC的分页思想,这让我不禁想起了PagedList.PagedList是NuGet上提供的一个分页的类库,能对任何IEnumerable<T>进行 ...