北邮Matlab选修 Week 4 插值问题(两道题)
绘图
问题描述
一个学校想要建一个钟楼,需要对其进行建模,将方程$ z=\frac{1}{x^2+y^2} $ 作为模型,编写一个绘制钟楼的脚本。$ x $、$ y $的取值范围是$ -0.75 \leq x \leq +0.75 $,数据间隔为$0.05$。设置坐标轴,使$ x $、$ y $的所有区域可见。并且$z$的范围在0
到300
之间。使用surf()
绘制图像。
程序设计
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
%question1.m
function question1()
x_min = -0.75;
x_max = 0.75;
y_min = -0.75;
y_max = 0.75;
interval = 0.05;
x = x_min:interval:x_max;
y = y_min:interval:y_max;
[X, Y] = meshgrid(x, y);
Z = 1 ./ (X.^2 + Y.^2);
Z_max = 300;
xlim([x_min x_max]);
ylim([y_min y_max]);
zlim([0 Z_max]);
surf(X, Y, Z);
end
|
计算结果
机器零件刷漆用料计算问题
问题描述
编写程序讨论下面两种数列生成算法的稳定性
数列$P_n=[1,\frac{1}{3},\frac{1}{9},\frac{1}{27},\cdots]$
- 设$P_0=1$,递推公式$P_n=\frac{1}{3} \times P_{n-1}$
- 设$P_0=1$,$P_1=\frac{1}{3}$,递推公式$P_n=\frac{10}{3} \times P_{n-1} - P_{n-2}$
程序设计
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
%question2.m
function question2()
p0 = 1;
N = 35;
tolerance = 0.01;
flag2 = N + 1;
pn1 = zeros(1, N);
pn1(1) = p0;
for n = 1:N-1
pn1(n+1) = (1/3) * pn1(n);
end
pn2 = zeros(1, N);
pn2(1) = p0;
pn2(2) = 1/3;
for n = 1:N-2
pn2(n+2) = (10/3) * pn2(n+1) - pn2(n);
end
for n = 1:N
if abs(pn1(n) - pn2(n)) > tolerance
flag2 = n;
break;
end
end
hold on;
plot(1:N, pn1, 'r');
plot(1:N, pn2, 'b');
plot(flag2, pn1(flag2), 'o', 'MarkerSize', 10, 'MarkerFaceColor', 'yellow');
xlabel('n');
ylabel('p[n]');
legend('pn1','pn2','Point');
end
|
计算结果