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

โปรแกรม C++ สำหรับ Coefficient of Variation (สัมประสิทธิ์ความแปรปรวน)

โจทย์

เราได้รับอาเรย์ของค่า float ขนาด n งานคือหา coefficient of variation และแสดงผลลัพธ์

Coefficient of Variation คืออะไร?

ในมิติทางสถิติ coefficient of variation ใช้หาช่วงความแปรปรวนของข้อมูลที่กำหนด ในแง่การเงิน coefficient of variation ใช้หาจำนวนความเสี่ยงที่เกี่ยวข้องกับจำนวนเงินที่ลงทุน หากอัตราส่วนระหว่าง standard deviation และ mean ต่ำ ความเสี่ยงที่เกี่ยวข้องกับการลงทุนก็จะต่ำ Coefficient of variation คืออัตราส่วนระหว่าง standard deviation และ mean และกำหนดโดย -

Coefficient of variation = Standard Deviation / Mean

ตัวอย่าง

Input-: array[] = { 10.0, 21, 23, 90.0, 10.5, 32.56, 24, 45, 70.0 } Output-: coefficient of variation is : 0.75772
Input-: array[] = { 15.0, 36.0, 53.67, 25.45, 67.8, 56, 78.09} Output-: coefficient of variation is : 0.48177

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

  • รับอาเรย์ที่มีค่า float
  • คำนวณค่า mean และ standard deviation บนอาเรย์ที่กำหนด
  • คำนวณค่า coefficient of variation โดยการหารค่า standard deviation ด้วย mean
  • แสดงผลลัพธ์เป็น coefficient of variation

อัลกอริทึม

เริ่ม
ขั้นตอน 1 → ประกาศฟังก์ชันคำนวณค่า mean
  float cal_mean(float arr[], int size)
  ประกาศ float sum = 0
  วนลูป For i = 0 ถึง size และ i++
    ตั้งค่า sum = sum + arr[i]
  จบวน
  คืนค่า sum / size
ขั้นตอน 2 → ประกาศฟังก์ชันคำนวณค่า standard deviation
  float StandardDeviation(float arr[], int size)
  ประกาศ float sum = 0
  วนลูป For i = 0 ถึง size และ i++
    ตั้งค่า sum = sum + (arr[i] - cal_mean(arr, size)) * (arr[i] - cal_mean(arr, size))
  จบวน
  เรียก cal_mean(arr, size)
  คืนค่า sqrt(sum / (size - 1))
ขั้นตอน 3 → ประกาศฟังก์ชันคำนวณ coefficient of variation
  float CoefficientOfVariation(float arr[], int size)
  คืนค่า StandardDeviation(arr, size) / cal_mean(arr, size)
ขั้นตอน 4 → ใน main()
  ประกาศอาเรย์ float arr[] = { 10.0, 21, 23, 90.0, 10.5, 32.56, 24, 45, 70.0}
  คำนวณขนาดอาเรย์ int size = sizeof(arr) / sizeof(arr[0])
  เรียกฟังก์ชัน CoefficientOfVariation(arr, size)
หยุด

ตัวอย่างโค้ด C++

#include <bits/stdc++.h>
using namespace std;
// ฟังก์ชันคำนวณ mean
float cal_mean(float arr[], int size) {
  float sum = 0;
  for (int i = 0; i < size; i++)
    sum = sum + arr[i];
  return sum / size;
}
// ฟังก์ชันคำนวณ standard deviation
float StandardDeviation(float arr[], int size) {
  float sum = 0;
  for (int i = 0; i < size; i++)
    sum = sum + (arr[i] - cal_mean(arr, size)) * (arr[i] - cal_mean(arr, size));
  return sqrt(sum / (size - 1));
}
// ฟังก์ชันคำนวณ coefficient of variation
float CoefficientOfVariation(float arr[], int size) {
  return StandardDeviation(arr, size) / cal_mean(arr, size);
}
int main() {
  float arr[] = { 10.0, 21, 23, 90.0, 10.5, 32.56, 24, 45, 70.0};
  int size = sizeof(arr) / sizeof(arr[0]);
  cout<<"coefficient of variation is : "<<CoefficientOfVariation(arr, size);
  return 0;
}

ผลลัพธ์

coefficient of variation is : 0.75772