学习笔记——利用C&C++语言计算二重积分

二重积分定义如下(来源百度百科)
这里写图片描述
以z=xy在区域0<=y<=1,0<=x<=y內的二重积分为例,经计算理论值为:0.125,下面用C语言实现二重积分的离散计算

#include <iostream>      
using namespace std;
double fun_dbjf(double step,double low_y, double high_y, double(*p_y_1)(double), double(*p_y_2)(double), double(*p_f_x_y)(double, double));//计算f(x,y)的二次积分
double fun_jf_fxy(double step, double low_x, double high_x, double y, double(*p_x)(double, double));//计算函数f(x,y0)的积分
double fun_fxy(double x, double y);//函数f(x,y)
double fun_y_l(double x);//下限积分
double fun_y_h(double x);//上限积分
int main(int argc, char*argv[])
{
    cout << "二次积分值为:" << fun_dbjf(0.00001, 0, 1, fun_y_l, fun_y_h, fun_fxy) << endl;
    cout << "理论值为:" << 1.0 / 8.0;


}
double fun_dbjf(double step,double low_y, double high_y, double(*p_y_l)(double), double(*p_y_h)(double), double(*p_f_x_y)(double, double))
{
    double sum = 0;
    for (double t = low_y; t < high_y; t += step)
    {
        sum += fun_jf_fxy(step, (*p_y_l)(t), (*p_y_h)(t), t, p_f_x_y)*step;
    }
    return sum;
}
double fun_jf_fxy(double step, double low_x, double high_x, double y,double(*p_x)(double,double))
{
    double sum = 0;
    for (double t = low_x; t < high_x; t += step)
    {
        sum += (*p_x)(t, y)*step;
    }
    return sum;
}
double fun_fxy(double x, double y)
{
    return x*y;
}
double fun_y_l(double x)
{
    return 0;//f(x)=0
}
double fun_y_h(double x)
{
    return x;//f(x)=x
}

运行结果:
这里写图片描述
运行时间较长,但结果与理论值十分接近

  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
cda备考学习学习笔记——基础知识篇(二)主要涉及了计算机科学与技术领域的基本概念和知识。 首先,它介绍了计算机网络的基础知识。网络是将多台计算机通过通信链路连接起来,使它们能够相互通信和共享资源的系统。笔记中详细介绍了网络的组成、拓扑结构和通信协议等重要内容。 其次,笔记还解释了计算机系统的基本组成。计算机系统由硬件和软件两部分组成,其中硬件包括中央处理器、存储器、输入输出设备等,而软件则分为系统软件和应用软件。笔记详细介绍了各种硬件和软件的功能和作用。 此外,笔记还对数据库管理系统进行了介绍。数据库管理系统是一种用于管理和组织数据的软件系统,它能够实现数据的存储、检索和更新等操作。笔记中详细介绍了数据库的概念、结构和操作等内容。 最后,笔记还包括了算法和数据结构的基础知识。算法是解决问题的一系列步骤和规则,而数据结构则是组织和存储数据的方式。笔记中介绍了常用的算法和数据结构,如排序算法、树和图等。 总之,通过学习CDA备考学习笔记中的基础知识篇(二),我们能够更好地理解计算机网络、计算机系统、数据库管理系统以及算法和数据结构等相关概念和知识。这些基础知识对于我们深入研究计算机科学与技术领域是非常重要的,也为我们日后的学习和工作奠定了坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值