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)是一个无序排列,可哈希, 支持集合关系测试,不支持索引和切片操作,没有特定语法格式, 只能通过工厂函数创建.集合里不会出现两个相同的元素, 所以集合常用来对字符串或元组或 ...
随机推荐
- JavaSE_List&Array_Java1.7
这里简单写了下List和Array的相互转换 package cn.rocker.collection.list; import org.junit.Test; import java.util.Ar ...
- JS事件委托应用场景
给列表元素添加点击事件: 在javaScript中,添加到页面上的事件处理程序的数量,将直接关系到页面的整体运行性能. <li>标签的数量很大时,循环为每个子元素添加事件,绝非好方法. 有 ...
- log4j 基础教程【转】
参考引用自: http://javacrazyer.iteye.com/blog/1135493 我的git地址: https://git.oschina.net/KingBoBo/Log4JDemo ...
- 错误记录:vue跟vue编译器版本不一致
错误如下: error in ./src/Utils.vue Module build failed: Error: Vue packages version mismatch: - vue@ - v ...
- keeping.py
定时push+告警 #!/usr/bin/env python # -*- coding:utf-8 -*- # Author : 71standby@gmail.com # Description ...
- MySQL数据库基本命令-1
第一章:数据库概述1.数据(data) 数据库(DB) 数据库管理系统(DBMS) 数据库系统(DBS)2.数据库管理系统提供的功能: (1)数据定义语言:DDL (2)数据操作语言:DML 基本的数 ...
- DevExpress 之 GridControl 自定义列
Ø 前言 DevExpress 控件大家应该都有所了解,使用这个框架实现B/S或C/S的,都是非常出色的.本文主要讨论下 GridControl 中如何[自定义列]或[计算列],可使用以下两种方法实 ...
- Redis基础知识 之——发布/订阅
一.说明: 订阅,取消订阅和发布实现了发布/订阅消息范式(引自wikipedia),发送者(发布者)不是计划发送消息给特定的接收者(订阅者).而是发布的消息分到不同的频道,不需要知道什么样的订阅者订阅 ...
- 【bzoj 4756】[Usaco2017 Jan] Promotion Counting
Description The cows have once again tried to form a startup company, failing to remember from past ...
- Docker 查看容器 IP 地址
查看Docker的底层信息. docker inspect 会返回一个 JSON 文件记录着 Docker 容器的配置和状态信息 docker inspect NAMES # 查看容器所有状态信息: ...