Maxima可以画出Chaos、Duffing 、Fern、Lorenz、Rossler 、Portraits 、Mandelbrot、Staircase、Triangles等有趣的图...

Chaos


orbits(x^2+a, 0, 100, 400, [a,-1,-1.53], [x,-1.6,-0.8],

    [nticks, 400], [style,dots], WEB_IMAGE);



Duffing

a:1.0;

b:0.3;

c:0;

f:10.0;

eqs:[y,-(a*x^3+c*x+b*y)+f*cos(t)];

t_range:[t, 0, 40, 0.01];

inits:[0.0, 0.1];

sol:rk(eqs,[x,y],inits, t_range)$

plot2d([discrete, makelist([sol[i][2], sol[i][3]], i, 1, length(sol))], WEB_IMAGE);



Fern


a1: matrix([0.85,0.04],[-0.04,0.85])$

a2: matrix([0.2,-0.26],[0.23,0.22])$

a3: matrix([-0.15,0.28],[0.26,0.24])$

a4: matrix([0,0],[0,0.16])$

p1: [0,1.6]$

p2: [0,1.6]$

p3: [0,0.44]$

p4: [0,0]$

w: [85,92,99,100]$

ifs(w, [a1,a2,a3,a4], [p1,p2,p3,p4], [5,0], 50000, [style,dots], WEB_IMAGE);



Lorenz  √

d:10;

r:28;

b:8/3;

eqs:[d*(y-x),r*x-y-x*z, x*y-b*z];

t_range:[t, 0, 40, 0.01];

inits:[0.0, 0.1,0.0];

sol:rk(eqs,[x,y,z],inits, t_range)$

plot2d([discrete, makelist([sol[i][2], sol[i][3]], i, 1, length(sol))], WEB_IMAGE);

plot2d([discrete, makelist([sol[i][3], sol[i][4]], i, 1, length(sol))], WEB_IMAGE);

plot2d([discrete, makelist([sol[i][2], sol[i][4]], i, 1, length(sol))], WEB_IMAGE);





Rossler  

a:0.2;

b:0.2;

c:5.7;

eqs:[-y-z, x+a*y, b+x*z-c*z];

t_range:[t, 0, 200, 0.01];

inits:[0.0, 0.01, 0.01];

sol:rk(eqs,[x,y,z],inits, t_range)$

plot2d([discrete, makelist([sol[i][2], sol[i][3]], i, 1, length(sol))], WEB_IMAGE);

plot2d([discrete, makelist([sol[i][2], sol[i][4]], i, 1, length(sol))], WEB_IMAGE);

plot2d([discrete, makelist([sol[i][3], sol[i][4]], i, 1, length(sol))], WEB_IMAGE);






Portraits

numPortraits:8;

eqs:[sin(x)+y, sin(y)-x];

t_range:[t, 0, 10, 0.01];

for k:1 thru numPortraits do (

    inits:[0.0, k*0.1],

    sol[k]:rk(eqs,[x,y],inits, t_range)

 )$

sol_list:makelist(

    [discrete, makelist([sol[k][i][2], sol[k][i][3]], i, 1, length(sol[k]))],

     k, 1, numPortraits)$

plot2d(sol_list, WEB_IMAGE)$



simple Mandelbrot

mandel(reMin, reMax, imMin, imMax, resolution, iterations):=block(

    [reZ, imZ, absZ, i, pixels, reTemp],

    pixels:[[0,0]],

    for x:reMin step resolution thru reMax do [

        for y:imMin step resolution thru imMax do [

            reZ:0,

            imZ:0,

            absZ:0,

            for i:1 step 1 thru iterations while absZ < 4 do [

                reTemp:reZ^2 - imZ^2 + x,

                imZ:2*reZ*imZ + y,

                reZ:reTemp,

                absZ:reZ^2+imZ^2

            ],

            if absZ < 4 then pixels:append(pixels,[[x,y]])

        ]

    ],

    return(pixels)

 )$

 plot2d([discrete, mandel(-2,0.5,-1,1, 0.02, 16)],[style,

 [points,1,1,1]], WEB_IMAGE);



Staircase


load("dynamics")$

staircase(cos(y^2), 1, 11, [y, 0, 1.2], WEB_IMAGE);


Triangles


chaosgame([[0, 0], [1, 0], [0.5, sqrt(3)/2]], [0.1, 0.1], 1/2,

                 30000, [style, dots], WEB_IMAGE);



Maple中可以试着画出:

Duffing

Lorenz

Rossler

Portraits

用Maxima画出一些有趣的图的更多相关文章

  1. CSS画出的各种形状图

    利用CSS可以画出各种需要的图形目录[1]矩形[2]圆形[3]椭圆[4]直角三角形[5]正三角形[6]平行四边形[7]梯形[8]六角星[9]六边形[10]五角星简单图形 矩形div{ width: 1 ...

  2. 【EXCEL-折线图】百折不挠 | 用EXCEL画出与众不同的折线图(曲线图)

    很多熟悉EXLCE的朋友都知道EXCEL在生成统计图表方面的强大功能,我们在写各类总结.报告.方案等文档时常涉及到各类统计数字,将统计数字用图表的形式展示出来,既直观又美观.下面我分享一种不一样的折线 ...

  3. C++的菱形继承会发生什么问题?如何解决?画出其内存布局图

    菱形继承问题样例: #include <iostream> using namespace std; class A { public: ; virtual int getx() { re ...

  4. 使用Qt画出直方图和分位数图

    https://blog.csdn.net/gudanai/article/details/72136420

  5. Python——作业12(选做)选中矩阵的每行或每列画出对应的折线图(python programming)

    import os import platform import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5 ...

  6. achartengine画出动态折线图

    achartengine画出动态折线图的效果最近有个项目需要用到实时曲线图,我也上网搜索了一下,最后还是选择使用achartengine这个现成的东西,毕竟自己再canvas一下实在是太麻烦,而且项目 ...

  7. haploview画出所有SNP的LD关系图

    有时候我们想画出所有SNP的LD关系图,则需要在命令行添加“-skipcheck”命令行,如下所示: java -jar Haploview.jar -skipcheck -n -pedfile 80 ...

  8. 使用Pangolon在同一副图中,画出两个轨迹,比较误差

    使用 code/ground-truth.txt 和 code/estimate.txt 两条轨迹.请你根据上面公式,实现 RMSE的计算代码,给出最后的 RMSE 结果.作为验算,参考答案为:2.2 ...

  9. 灵悟礼品网上专卖店——画出E-R图

    一.小组成员: 洪雪意(产品负责人) 陈淑筠(Master) 二.组内人员任务情况 计划完成的任务的第三个模块:分析并建立数据库 已完成的任务: 任务的第三个模块: 陈淑筠(完成任务1):画出商品资料 ...

随机推荐

  1. mysql 分库分表转

    分表是分散数据库压力的好方法. 分表,最直白的意思,就是将一个表结构分为多个表,然后,可以再同一个库里,也可以放到不同的库. 当然,首先要知道什么情况下,才需要分表.个人觉得单表记录条数达到百万到千万 ...

  2. Py:数据挖掘之对个人微信朋友圈好友的性别、区域、昵称、签名信息进行情感分析——Jason niu

    #Py:数据挖掘之对微信朋友圈好友的性别.区域.昵称.签名信息进行情感分析——Jason niu import os import re import csv import time import j ...

  3. 1.3 正则表达式和python语言-1.3.7 匹配任何单个字符

    1.3.7 匹配任何单个字符 (2018-05-08) 点号(.)不能匹配一个换行符\n 或者非字符,也就是说,一个空字符串 搜索一个真正的句点(小数点), 而我们通过使用一个反斜线对句点的功能进行转 ...

  4. thrift小试--C++

    [转自]http://blog.csdn.net/poechant/article/details/6618284# Thrift可以实现C++.Java.Python等多种语言的自动生成,此处以C+ ...

  5. 2018 Multi-University Training Contest 3 - HDU Contest

    题解: solution Code: A. Ascending Rating #include<cstdio> const int N=10000010; int T,n,m,k,P,Q, ...

  6. c# asp.net mvc4 使用uploadify插件实现上传功能

    [1]首先去官网下载插件:http://www.uploadify.com/download/ .ww我使用的是免费的,基于flash的版本.因为基于H5的版本需付费使用,然后使用该插件也就是做做毕设 ...

  7. VB读写进程的内存

    在窗体部分简单测试了ReadProcessMemory和WriteProcessMemory对另一个程序进程的读写. 由于临时项目变动,又不需要了,所以直接封类,删工程.以下代码没有一个函数经过测试, ...

  8. 如何给网站添加IE浏览器升级提示

    1.在代码编辑器中(如Notepad++)打开网站头部模板 2.使用<!––[if IE]>语句添加升级提示,如: 判断是否IE(包含使用IE内核的浏览器) <!––[if IE]& ...

  9. 用万能马甲免费看VIP电影

    什么是:万能马甲? 它浏览器的一个扩展程序插件,安装后能看一些热门网址的VIP特权,免费观看付费电影等. 使用过程: 1. 访问网址:http://www.wndd123.com/ 点击免费看电影时提 ...

  10. 201771010118 马昕璐《面向对象程序设计java》第十周学习总结

    第一部分:理论知识学习部分 泛型:也称参数化类型(parameterized type)就是在定义类.接口和方法时,通过类型参数 指示将要处理的对象类型. 泛型程序设计(Generic program ...