matlab程序作分形蕨,matlab学习第一天笔记
>> phi=(1+sqrt(5))/2
phi =
1.6180
>> format long
>> phi
phi =
1.618033988749895
>> p=[1 -1 -1]; %表示多项式 x^2-x-1%
>> r=roots(p)
r =
-0.618033988749895
1.618033988749895
>> syms x
>> r=solve(1/x==x-1) %直接求解方程不用转换多项式%
r =
1/2 - 5^(1/2)/2
5^(1/2)/2 + 1/2
>> pretty(r)
/ 1 sqrt(5) \
| - - ------- |
| 2 2 |
| |
| sqrt(5) 1 |
| ------- + - |
\ 2 2 /
>> phi=r(1) %获取第一个元素%
phi =
1/2 - 5^(1/2)/2
>> vpa(phi,50) %变精度%
ans =
-0.61803398874989484820458683436563811772030917980576
>> phi=double(phi)
phi =
-0.618033988749895
>> f=@(x)1./x-(x-1) %必须用./数组除算符%
f =
@(x)1./x-(x-1)
>> ezplot(f,[0,4]) %easyplot%
>> phi=fzero(f,1) %找零点%
phi =
1.618033988749895
>> phi=(1+sqrt(5))/2;
>> x=[0 phi phi 0 0]; %x包含5个元素%
>> y=[0 0 1 1 0];
>> u=[1 1];
>> v=[0 1];
>> plot(x,y,'b',u,v,'b--') %x-y是蓝色实线,u-v是蓝色虚线%
>> text(phi/2,1.05,'\phi') %标识字符,不同位置的标识字符%
>> text((1+phi)/2,-.05,'\phi-1')
>> text(-.05,.5,'1')
>> text(.5,-.05,'1')
>> axis equal %使x,y方向坐标相等%
>> axis off %使坐标消失%
>> set(gcf,'color','white') %背景色设为白色%
以下保存在m文件中
function goldfract(n)
%GOLDFRACT Golden ratio continued fraction.
% GOLDFRACT(n) displays n terms.
% Copyright 2014 Cleve Moler
% Copyright 2014 The MathWorks, Inc.
p = '1';
for k = 1:n
p = ['1+1/(' p ')']; %p的6级截断连分式,不断循环%
end
p
p = 1;
q = 1;
for k = 1:n
s = p;
p = p + q;
q = s;
end
p = sprintf('%d/%d',p,q) %q/p,相当于q+p/p,不断循环%
format long
p = eval(p) %和上面的p相等,但是是十进制表达%
format short
err = (1+sqrt(5))/2 - p %phi和p之间的误差%
命令窗口输入
goldfract2(6)
结果输出
p =
1+1/(1+1/(1+1/(1+1/(1+1/(1+1/(1))))))
p =
21/13
p =
1.615384615384615
err =
0.0026
斐波那契数
function f = fibonacci(n)
f = zeros(n,1); %(n*1的零向量)%
f(1) = 1;
f(2) = 2;
for k = 3:n
f(k)=f(k-1)+f(k-2);
end
fibonacci(12)
ans =
1
2
3
5
8
13
21
34
55
89
144
233
生成第n个斐波那契数
function f = fibnum(n)
if n <= 1
f=1;
else
f= fibnum(n-1) + fibnum(n-2);
end
>>fibnum(12)
ans =
233
>> n=40;
>> f= fibonacci(40) %注意这里不用;%
f =
1
2
3
5
8
13
21
34
55
89
144
233
377
610
987
1597
2584
4181
6765
10946
17711
28657
46368
75025
121393
196418
317811
514229
832040
1346269
2178309
3524578
5702887
9227465
14930352
24157817
39088169
63245986
102334155
165580141
>> f(2:n) ./ f(1:n-1)
ans =
2.0000
1.5000
1.6667
1.6000
1.6250
1.6154
1.6190
1.6176
1.6182
1.6180
1.6181
1.6180
1.6180
1.6180
1.6180
1.6180
1.6180
1.6180
1.6180
1.6180
1.6180
1.6180
1.6180
1.6180
1.6180
1.6180
1.6180
1.6180
1.6180
1.6180
1.6180
1.6180
1.6180
1.6180
1.6180
1.6180
1.6180
1.6180
1.6180
>> phi=1.6180
phi =
1.6180
>> f(2:n) ./ f(1:n-1) - phi
ans =
0.3820
-0.1180
0.0487
-0.0180
0.0070
-0.0026
0.0010
-0.0004
0.0002
-0.0000
0.0001
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
>> format long e
>> n = (1:40)';
>> f = (phi.^(n+1) - (1-phi).^(n+1))/(2*phi-1) %.^代表的是数组幂%
%没有使用 ./ 是因为 (2*phi-1) 是标量,当除数为标量时,数组 ./ 的作用和矩阵右除 / 一样%
f =
1.000000000000000e+00
1.999924000000001e+00
2.999848000000001e+00
4.999620005776002e+00
7.999240017328002e+00
1.299848005198357e+01
2.099711212707026e+01
3.399460429456987e+01
5.499012064111847e+01
8.898214134576197e+01
1.439680827377117e+02
2.329434614407314e+02
3.769006026041551e+02
6.098263603418171e+02
9.866983185001744e+02
1.596478332038606e+03
2.583101661466575e+03
4.179458661151946e+03
6.762364006892249e+03
1.094150502918595e+04
1.770335509641367e+04
2.864402857121741e+04
4.634603821264375e+04
7.498788983768976e+04
1.213304057514294e+05
1.963125965094915e+05
3.176337811500838e+05
5.139314579022405e+05
8.315410988849569e+05
1.345433497996397e+06
2.176911399757839e+06
3.522242644808389e+06
5.698988599299847e+06
9.220963553667231e+06
1.491951902983353e+07
2.413978179027069e+07
3.905816693665795e+07
6.319611410351259e+07
1.022513126194834e+08
1.654426238183241e+08
>> f = round(f)
f =
1
2
3
5
8
13
21
34
55
89
144
233
377
610
987
1596
2583
4179
6762
10942
17703
28644
46346
74988
121330
196313
317634
513931
831541
1345433
2176911
3522243
5698989
9220964
14919519
24139782
39058167
63196114
102251313
165442624
实现分形蕨
function fern
%FERN 分形蕨的MATLAB 实现
%不会自动停止
shg %显示图形窗%
clf reset
set(gcf,'color','white','menubar','none',...'numbertitle','off','name','Fractal Fern')
x=[.5;.5]; %起点坐标%
h = plot(x(1),x(2),'.');
darkgreen = [0 2/3 0]; %采用RGB三元组定义颜色%
set(h,'markersize',1,'color',darkgreen,'erasemode','none');
axis([-3 3 0 10])
axis off
stop = uicontrol('style','toggle','string','stop',...'background','white'); %在图形左下角标示stop键%
drawnow
p = [.85 .92 .99 1.00];
A1 = [ .85 .04; -.04 .85]; b1 = [0; 1.6]; %定义四个反射变量%
A2 = [ .20 -.26; .23 .22]; b2 = [0; 1.6];
A3 =[-.15 .28; .26 .24]; b3 = [0; .44];
A4 = [ 0 0; 0 .16];
cnt = 1; %初始化绘图点%
tic %开启秒表计时器%
while ~get(stop,'value')
r = rand;
if r < p(1)
x = A1*x + b1;
eleseif r < p(3)
x = A3*x + b3;
else
x = A4*x;
end
set(h,'xdata',x(1),'ydata',x(2));
cnt = cnt +1; %使计数器加一%
drawnow
end
t = toc; %记录时间%
s = sprintf('%8.0f points in %6.3f seconds',cnt,t);
text(-1.5,-0.5,s,'forntweight','bold');
set(stop,'stytle','pushbutton','string','close',...'callback','close(gcf)')
matlab程序作分形蕨,matlab学习第一天笔记相关推荐
- jacobi matlab程序,jacobi迭代法实验MATLAB程序数值分析
jacobi迭代法实验MATLAB程序数值分析 例1. 求线性方程组 得近似解.精确解为x*=[3,2,1]'. 解:对方程进行移项就得 记为Ax=b,或写为x=B0 x+f,其中 取初始值,代入原方 ...
- MATLAB程序详细解析,遗传算法——matlab代码解析
遗传算法--matlab代码解析 本文为学习B站老哥数学建模课程之后的一点笔记,图片源自web,代码源自老哥程序包,侵权删. 详细的遗传算法原理不再赘述,百度即可找到. 算法定义 遗传算法(GA)是模 ...
- 分形吧matlab,几个分形的matlab实现
几个分形的matlab 实现 摘要:给出几个分形的实例,并用matlab 编程实现方便更好的理解分形,欣赏其带来的 数学美感 关键字:Koch 曲线 实验 图像 一.问题描述: 从一条直线段开始,将线 ...
- 脉动风时程matlab程序,脉动风时程matlab程序
脉动风时程matlab程序 根据风的记录,脉动风可作为高斯平稳过程来考虑.观察n个具有零均值的平稳高斯过程,其谱密度函数矩阵为: s11( )s12( ) s( )s( ) 22 S( ) 21 .. ...
- vb.net 调用matlab程序 绘图,vbnet调用matlab
\\然后参考该 类库的文档,在类里引用 matlab 的命名空间 装 matlab ,添加引用[VB.Net] Matlab = CreateObject("matlab.applicati ...
- fdtd算法的matlab程序,FDTD算法的Matlab程序
<FDTD算法的Matlab程序>由会员分享,可在线阅读,更多相关<FDTD算法的Matlab程序(6页珍藏版)>请在人人文库网上搜索. 1.* 5= T$h;O % 3-D ...
- 线性规划单纯形法的matlab程序,线性规划单纯形法的MATLAB实现_数学专业.doc
摘要:运筹学有着长远的发展历史,并且不断地发展变化出许多分支理论,线性规划是运筹学中专研较早,发展比较快速,对现实社会作用涵盖面广,理论系统趋于成熟的一个重要分支,虽然其只是运筹学的一小部分,但是作用 ...
- 用matlab程序表示三角形序列,MATLAB程序举例带注释
1.绘制云图 Ex=18 En=2 He=0.2 hold on for i=1:1000 Enn=randn(1)*He+En; x(i)=randn(1)*Enn+Ex; y(i)=exp(-(x ...
- fdtd算法的matlab程序,一维FDTD的matlab程序(最新整理)
<一维FDTD的matlab程序(最新整理)>由会员分享,可在线阅读,更多相关<一维FDTD的matlab程序(最新整理)(2页珍藏版)>请在人人文库网上搜索. 1.一维 FD ...
最新文章
- 什么是Hive?它有哪些特点和特性?
- 英特尔5G基带发布时间提前半年以上,但2019款iPhone支持5G仍有点悬
- oracle cbo 查询展开,Oracle CBO几种基本的查询转换详解
- php+curl+restapi,php – cURL适用于我的REST API,但不是Guzzle
- 配电技术——配电线路系统电气设备详解
- unity 编辑器扩展 扩展摄像机的属性查看器
- java中date加1s_是否有一个java库将描述时间度量(例如“1d 1m 1s”)的字符串转换为毫秒?...
- 从零开始学习ASP.NET MVC 入门
- 新建站点的mysql数据库_lAMP下新建维护站点全过程
- 高速信号传输约翰逊 pdf_智芯文库 | 高速数字电路的设计与仿真
- 50 招教你防止黑客入侵,适用于入门小白到专业人员
- 将JavaScript函数作为参数传递
- 矩阵运算_如何理解矩阵对矩阵求导?
- 12-ubuntu:010 Editor
- 动态链接库劫持--libc
- 彻底搞懂单例模式的懒汉式饿汉式 双检索 线程安全问题
- 第二证券|沪指缩量跌0.25%,地产、医药板块强势,钠电池概念表现亮眼
- 加密聊天解决方案——木星文
- PyQt5 QTreeView
- 计算机考试wps题型,2016年计算机一级WPS上机考试指导
热门文章
- wireshark/The NPF driver isn’t running./Unable to load WinPcap (wpcap.dll)
- vue : 无法加载文件 C:\Users\lihongjie\AppData\Roaming\npm\vue.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 htt ps:/go.micr
- data augment
- 2022腾讯云年终双十一活动攻略汇总!
- 我的世界核电工艺量子计算机,我的世界工业2模组核电教程之搭建反应堆
- 中华英才网后续难雄起
- 六大计算机应用领域,人工智能领域六大分类
- java-接口之运动员教练员综合案例
- 计算机软件保护对象,计算机软件著作权保护的对象是什么
- Paging3 分页库的使用