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. setOnTouchListener在小米手机中不走ACTION_UP而是走ACTION_CANCEL

    单点触控: MotionEvent.ACTION_DOWN:手指 初次接触到屏幕 时触发. MotionEvent.ACTION_MOVE:手指 在屏幕上滑动 时触发,会多次触发. MotionEve ...

  2. Centos6下使用yum安装MariaDB

    1)增加mariaDB的yum源 1 2 3 4 5 6 7 8 9 [root@centos6-test08 ~]# cd /etc/yum.repos.d/ [root@centos6-test0 ...

  3. sunTime

    哈哈哈  开通了博客,有缘的你看能不能来到这里,或许我们认识呢

  4. STS(Spring Tool Suite)下SSM(Spring+SpringMVC+Mybatis)框架搭建(二)

    继完成controller配置并使用controller实现页面跳转,现连接数据库进行登录. 在SSM框架中,使用Mybatis与数据库连接,因此需要配置关于mybatis的配置. 废话少说直接开始: ...

  5. SpringBoot报错:Invalid bound statement (not found)

    错误原因: 没有发现Mybatis配置文件的路径 解决方法: 检查Mapper包名与xml文件标签的namespace数据名称是否相同 <mapper namespace="com.t ...

  6. .NET题目(收集来自网络)

    1: .NET和c#有什么区别? 答: .NET一般是指.NET FrameWork框架,是一种平台,一种技术 c#是一种编程语言,是可以基于.NET平台的应用 2: c#中的委托是什么?事件是不是一 ...

  7. h5唤起APP并检查是否成功

    // 检查app是否打开 function checkOpen(cb) { const clickTime = +(new Date()); function check(elsTime) { if ...

  8. vue-router的学习

    一.路由的概述. vue-router是vue.js官方的路由插件,它和vue.js是深度集成的,适用于构建单页面.vue的单页面应用是基于路由和组件的,路由是用于设定访问路径,并将路径和组件映射起来 ...

  9. Ubunto使用 码云 创建项目

    1.安装 git sudo apt-get install git配置 git 文件 git config --global user.name "你的用户名" git confi ...

  10. Tensorboard可视化(关于TensorFlow不同版本引起的错误)

    # -*- coding: utf-8 -*-"""Created on Sun Nov 5 15:28:50 2017 @author: Administrator&q ...