⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ex1.m

📁 数值分析, 同济大学教材<<现代数值数学和计算>>数值分析课程所有算法的matlab代码,所有例程均经过测试,私家珍藏
💻 M
字号:

n = 6;
m = 50;
xmin = -2;
xmax = 2;
step0 = (xmax - xmin) / n;
x0 = [-2 : step0 : 2];
y0 = exp(-x0.^2);
step1 = (xmax - xmin) / m;
x = [-2 : step1 : 2];

%lagrange
y_lagrange = lagrange(x0, y0, x);
fplot('exp(-x.^2)', [-2 2], 'g');
hold on;
plot(x, y_lagrange, 'r');

%multi-linear
for j = 1 : n
  for i = 1 : m+1
    if (x(i) >= x0(j)) & (x(i) <= x0(j+1)) 
      y_linear(i) = y0(j) + (x(i)-x0(j)) * (y0(j+1) - y0(j)) / (x0(j+1) - x0(j));
    end
  end
end
plot(x, y_linear, 'k');

%spline
y00 = [0 y0 0];
pp = csape(x0, y00, 'complete')
[breaks, coefs, noplys, ncoefs, dim] = unmkpp(pp);
for j = 1 : n
  for i = 1 : m+1
    if (x(i) >= x0(j)) & (x(i) <= x0(j+1))
      y_spline(i) = polyval(coefs(j, :), x(i) - x0(j));
    end
  end
end
y_ppval = ppval(pp, x);
plot(x, y_spline, 'b', x, y_ppval, 'g');

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -