【发布时间】:2016-07-14 14:31:57
【问题描述】:
输入:
Xf = 和保存点 x 值的数组
Yf = 保存点方法的 y 值的数组 = 2 点前向差、2 点后向差、3 点中心差、5 点中心差
输出:
X = 包含可以实际使用所选方法的有效 x 值的数组(例如,您不能在 Xf 数组的上限使用前向差分方法,因为没有值之后)
DF = 这些点的导数
我需要给一个脚本一组点,然后使用 4 种不同的方法计算这些点的导数不使用像 diff 这样的内置导数函数。我需要一些帮助来编写其中一个代码,然后我想我应该能够弄清楚如何完成其余的工作。
我的尝试:
[a, minidx] = min(Xf);
[b, maxidx] = max(Xf);
n = 10;
h = (b-a)/n;
f = (x .^3) .* e.^(-x) .* cos(x);
If method = "forward" #Input by user
X = [min(Xf), Xf(maxidx-1)];
for k = min(Xf):n # not sure if this is the right iteration range...
f(1) = f(x-2*h) + 8*f(x +h);
f(2) = 8*f(x-h) + f(x+2*h);
DF = (f1-f2)/(12*h);
endfor
endif
【问题讨论】:
标签: matlab for-loop octave derivative