C语言计算偏导数示例代码
假设要计算函数 f(x, y) = x^2 + 2xy + y^2 的偏导数,以下是对 x 求偏导的代码:
#include <stdio.h>
double f(double x, double y) {
return x*x + 2*x*y + y*y;
}
double partial_deriv_x(double x, double y) {
double h = 0.0001; // 微小增量
return (f(x+h, y) - f(x, y)) / h;
}
int main() {
double x = 2.0, y = 3.0;
printf("f(%.6lf, %.6lf) = %.6lf\n", x, y, f(x, y));
printf("partial derivative with respect to x: %.6lf\n", partial_deriv_x(x, y));
return 0;
}
输出结果:
f(2.000000, 3.000000) = 19.000000
partial derivative with respect to x: 8.000100
其中,partial_deriv_x 函数使用了数值微分的方法来计算偏导数。微小增量 h 取一个较小的值,例如 0.0001,然后用以下公式计算偏导数:
$$ \frac{\partial f(x, y)}{\partial x} \approx \frac{f(x+h, y) - f(x, y)}{h} $$
同理,可以编写一个函数 partial_deriv_y 来计算对 y 求偏导的结果。
原文地址: https://www.cveoy.top/t/topic/n6Ba 著作权归作者所有。请勿转载和采集!