Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

โปรแกรม C++ เพื่อคำนวณ Double Integration


เราได้รับด้วยขีดจำกัดล่างของตัวแปร x ขีดจำกัดบนของตัวแปร x ขีดจำกัดล่างของตัวแปร y ขีดจำกัดบนของตัวแปร y ขั้นตอนที่ดำเนินการสำหรับ x ที่สอดคล้องกัน และขั้นตอนสำหรับ y ที่สอดคล้องกัน และภารกิจคือการสร้างการรวมสองครั้งและ แสดงผล

ตัวอย่าง

อินพุต-:ขั้นตอนสำหรับ x =1.2 ขั้นตอนสำหรับ y =0.54 ขีดจำกัดล่างของ x =1.3 ขีดจำกัดบนของ x =2.1 ขีดจำกัดล่างของ y =1.0 ขีดจำกัดบนสำหรับ y =2.1 เอาต์พุต-:การรวมสองครั้งคือ:2.1 

แนวทางที่ใช้ในโปรแกรมด้านล่างมีดังนี้

  • ป้อนค่าของขีดจำกัดบนและล่างของ x และ y โดยป้อนขั้นตอนที่ทำสำหรับ x และ y
  • วิธีที่เราใช้คำนวณ double Integration สำหรับทั้ง x และ y คือวิธี Simpson 1/3
  • สร้างตารางต่อไปนี้ก่อนดำเนินการต่อ

โปรแกรม C++ เพื่อคำนวณ Double Integration

  • ใช้กฎซิมป์สัน 1/3 กับแต่ละแถวสำหรับอินทิกรัลแรกและทำซ้ำสองครั้งสำหรับการผสานรวมสองครั้ง
  • พิมพ์ผลลัพธ์

อัลกอริทึม

StartStep 1-> ประกาศฟังก์ชันคำนวณกำลังสำหรับการรวม float fun(float x, float y) return pow(pow(x, 4) + pow(y, 5), 0.5)Step 2-> ประกาศฟังก์ชันเพื่อค้นหา ค่าอินทิกรัลคู่ float doubleIntegral(float step_x, float step_y, float lower_x, float upper_x, float lower_y, float upper_y) ประกาศ int n1, n2 ประกาศ float arr[50][50], arr_2[50], ชุดผลลัพธ์ n1 =( upper_x - lower_x) / step_x + 1 set n2 =(upper_y - lower_y) / step_y + 1 Loop For int i =0 and i  In main() ประกาศขั้นตอนสำหรับ x เป็น float step_x =1.2 ประกาศขั้นตอนสำหรับ y เป็น float step_y =0.54 ประกาศขีดจำกัดล่างของ xfloat lower_x =1.3 ประกาศขีดจำกัดบนของ xfloat upper_x =2.1 ประกาศขีดจำกัดล่างของ yfloat lower_y =1.0 ประกาศขีดจำกัดบนของ yfloat upper_y =2.1 การเรียก (step_x, step_y, lower_x, upper_x, lower_y, upper_y)Stop

ตัวอย่าง

#include ใช้เนมสเปซ std;float fun(float x, float y) { return pow(pow(x, 4) + pow(y, 5), 0.5);}// Function เพื่อหาค่าปริพันธ์สองเท่า float doubleIntegral (float step_x, float step_y, float lower_x, float upper_x, float lower_y, float upper_y) { int n1, n2; float arr[50][50], arr_2[50], ผลลัพธ์; n1 =(upper_x - lower_x) / step_x + 1; n2 =(upper_y - lower_y) / step_y + 1; สำหรับ (int i =0; i  

ผลลัพธ์

การรวมสองครั้งคือ:2.1