# -*- 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. Event Recommendation Engine Challenge分步解析第六步

    一.请知晓 本文是基于: Event Recommendation Engine Challenge分步解析第一步 Event Recommendation Engine Challenge分步解析第 ...

  2. 3、JPA-API

    Persistence Persistence 类用于获取 EntityManagerFactory 实例,该类包含一个名为 createEntityManagerFactory 的静态方法 . cr ...

  3. C++回顾day01---<C++对C的增强>

    一:命名空间 二:三目运算符 (一)C语言三目运算符返回值(不可修改) (二)C++中三目运算符直接返回变量本身(可以直接进行修改) 三:C++要求所有函数必须有类型(不重要) (一)C语言允许函数无 ...

  4. [JUC-2]AbstractQueuedSynchronizer源码分析

    AbstactQueuedSynchronizer的基本数据结构 AbstractQueuedSynchronizer的基本数据结构为Node,关于Node,JDK作者写了详细的注释,这里我大致总结几 ...

  5. Redis之路

    前言:数据库是一切数据的源头,因此我们没有逃避的理由 (一) 什么是redis? redis是nosql(not noly sql)产品中最为出色的一种非关系型的数据库,主要包括以下几种存储结构:St ...

  6. golang json序列化

    结构体序列化 func main() { var j = js{ Name: "zhangsan", Age: 16, Sal: 1500.3, Intro: "aiha ...

  7. 23.Secondary Index

    一. Secondary Index(二级索引)1.1. Secondary Index 介绍 • Clustered Index(聚集索引) ◦ 叶子节点存储所有记录(all row data) • ...

  8. getnameinfo函数

    一.函数原型 #include <netdb.h> int getnamefo(const struct sockaddr *sockaddr, socklen_t addrlen, ch ...

  9. Java SE之正则表达式一:概述

    正则表达式 概念 定义:符合一定规则的表达式 作用:用于专门操作字符串 特点:用于一些特定的符号表示代码的操作,这样就简化了长篇的程序代码 好处:可以简化对字符串的复杂操作 弊端:符号定义越多,正则越 ...

  10. scrapy框架的每个模块的用途

    ## 一.scrapy框架的每个模块的用途 1.spiders: 自定义爬虫 定义允许爬取的范围 定义开始爬取的url parse:一定要重写 start_request:一般不需要重写,可以通过重写 ...