使用Mathematica动态绘制参数方程(Manipulate, ParametricPlot)

最近才明白一个道理,原来很多复杂的图形,没办法用函数来表示(因为函数要求每个自变量x只能对应唯一的因变量y)。复杂的图形,可用参数方程来表示。

1. ParametricPlot[{fx, fy,{u,uMin,uMax}]
generates a parametric plot of a curve with x and y coordinates Subscript[f, x] and Subscript[f, y] as a function of u.
2. Manipulate[expr,{u,uMin,Subscript[u, max]}]
generates a version of expr with controls added to allow interactive manipulation of the value of u.


有了这个Manipulate功能,我们可以轻松查看图形怎样随参数变化而变化。教材中的这个例子,实际动手操作了一下,没想到如此好玩,大大超出了我的想象。所以,我索性给这个参数方程起了个名字——变形虫。




  • 7
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
程序分享如何实现实时滚动条效果类Mathematicamanipulate-manipulate.m 大家知道,在MATLAB中的滚动条控件是“非实时”的。所谓非实时,指的是用户在拖动滚动条时,滚动条的callback函数不会被触发,只有放开滚动条后,callback函数才会被调用一次。 但是,有的时候我们可能会有这样的需要:比如我们在窗口中做出了一个y = f函数的图形,这个函数有几个参数a, b, c ... 然后我们希望通过用滚动条的形式来改变这些参数的数值,并实时地在窗口中观察参数改变后的图形的结果。但直接使用滚动条控件的话,拖动滚动条时图形不会更新。想看到参数连续变化时对图形的影响,就只能一下一下地点击滚动条两端的箭头,非常繁琐。 这个功能在Mathematica下用manipulate命令就非常容易实现。但是在MATLAB下却一直没有提供具有类似功能的函数。所以我自己写了一个MATLAB的manipulate版本。当然,现在这个版本只能实现最基本的2D plot对象。至于其他类型的图形对象,我会在以后慢慢添加。 后 (或者在 http://www.mathworks.com/matlabcentral/fileexchange/36512-manipulate-interactive-parametrized-plotting 下载,帮我增加点人气) 在命令行中输入 manipulate复制代码 即可看到如下图所示的界面,用户可以随意拖动滚动条,axes中的内容会实时更新。 manipulate_demo.gif 实时滚动条效果演示 用户也可以使用自己给定的函数,并且可以操纵任意数目的参数,比如下列语句: manipulate*x param),[-10:10],[2 0]},{[-10 10],[-10 10]}, {1,'Slope',1 10}, {2,'Shift',-5 5})复制代码 会产生一条直线,用户可以操纵其斜率和截距。 更多使用方法请看函数自带的帮助(英文)。 欢迎提出宝贵意见。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值