科学计算方法:经典小项目1(分形)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
7/15
小项目1
Newton法画出最美图形 要求: 文档(word, ppt 或 pdf)和代码 标准: 1. 图形美 2. 代码美 3.文档美
Iteration of apparently simple functions can resolve complex and difficult problems.
15/15
牛顿迭代法的收敛域问题:
用牛顿迭代法求解方程 zd – 1 = 0的复根。例如d=3 时, 方程在复平面上三个根分别是
z1 = 1
13 z2 2 2 i
13 z3 2 2 i
选择中心位于坐标原点, 边长为2 的正方形内的任意点作初始值, 进行迭代, 把收敛பைடு நூலகம்三个根的初 值分为三类, 并分别标上不同颜
色(例如红、绿和蓝)。对充分多 的初始点进行实验, 绘出牛顿迭 代法对该方程的收敛域彩色图。
1/15
2/15
3/15
4/15
5/15
代码片段1: (百度网盘: 科学计算方法/Matlab代码/fractal.m)
%% Perform Newton iterations for k=1:maxIter;(收敛条件的说明) Z=Z-(f(Z,d)./fprime(Z,d)); end
function y=f(x,d); y=(x.^d)-1;
end
function y=fprime(x,d);
y=d*(x.^(d-1));
6/15
end
代码片段2:
%% Find d roots of unity, and the mask for j=1:d root=exp(2*pi*i/d)^j; % the jth root Mj=abs(Z-root); % distance % Each root gets a unique number in [1,d] mask=(Mj<=tol)*j; renderMat=renderMat+mask; end colormap(hsv); % Set the color map imagesc(renderMat) % Render the fractal
8/15
(谢建东, 2013)
9/15
(蒋勇, 2013)
10/15
(谢建东, 2013)
11/15
(SAQR THABET, 2014)
12/15
(SAQR THABET, 2014)
13/15
(SAQR THABET, 2014)
14/15
一些建议: 1. 试试不同的函数; 2. 试试不同的颜色板(colormap); 3. 试试放大图像。
小项目1
Newton法画出最美图形 要求: 文档(word, ppt 或 pdf)和代码 标准: 1. 图形美 2. 代码美 3.文档美
Iteration of apparently simple functions can resolve complex and difficult problems.
15/15
牛顿迭代法的收敛域问题:
用牛顿迭代法求解方程 zd – 1 = 0的复根。例如d=3 时, 方程在复平面上三个根分别是
z1 = 1
13 z2 2 2 i
13 z3 2 2 i
选择中心位于坐标原点, 边长为2 的正方形内的任意点作初始值, 进行迭代, 把收敛பைடு நூலகம்三个根的初 值分为三类, 并分别标上不同颜
色(例如红、绿和蓝)。对充分多 的初始点进行实验, 绘出牛顿迭 代法对该方程的收敛域彩色图。
1/15
2/15
3/15
4/15
5/15
代码片段1: (百度网盘: 科学计算方法/Matlab代码/fractal.m)
%% Perform Newton iterations for k=1:maxIter;(收敛条件的说明) Z=Z-(f(Z,d)./fprime(Z,d)); end
function y=f(x,d); y=(x.^d)-1;
end
function y=fprime(x,d);
y=d*(x.^(d-1));
6/15
end
代码片段2:
%% Find d roots of unity, and the mask for j=1:d root=exp(2*pi*i/d)^j; % the jth root Mj=abs(Z-root); % distance % Each root gets a unique number in [1,d] mask=(Mj<=tol)*j; renderMat=renderMat+mask; end colormap(hsv); % Set the color map imagesc(renderMat) % Render the fractal
8/15
(谢建东, 2013)
9/15
(蒋勇, 2013)
10/15
(谢建东, 2013)
11/15
(SAQR THABET, 2014)
12/15
(SAQR THABET, 2014)
13/15
(SAQR THABET, 2014)
14/15
一些建议: 1. 试试不同的函数; 2. 试试不同的颜色板(colormap); 3. 试试放大图像。