如果需要查看更多文章,请微信搜索公众号 csharp编程大全,需要进C#交流群群请加微信z438679770,备注进群, 我邀请你进群! ! !

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.IO;namespace ConsoleApplication7{ class Program { static void Main(string[] args) { List<byte[]> Zhendata = new List<byte[]>(); byte[] byt1 = { 0x01, 0x1e, 0x1d, 0x1c, 0x1b, 0x1a, 0x19, 0x18, 0x17, 0x16, 0x15 }; byte[] byt2 = { 0x02, 0x14, 0x13, 0x12, 0x11, 0x10, 0x0f, 0x0e, 0x0d, 0x0c, 0x0b }; byte[] byt3 = { 0x03, 0x0a, 0x09, 0x08, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01 }; Zhendata.Add(byt1); Zhendata.Add(byt2); Zhendata.Add(byt3); adDataCaculate(Zhendata); } public static void adDataCaculate(List<byte[]> Zhendata) { byte[] byteData = new byte[30]; int count1 = 0, count2 = 0; StringBuilder sNeed = new StringBuilder(); foreach (Byte[] Package in Zhendata) { count1 = 0; foreach (byte byt in Package) { if (count1 >=1) //跳过第一个数 { byteData[count2] = byt; count2++; // Console.Write("--" + byt); } count1++; } } // Console.ReadKey(); double[] channel = new double[5]; double variance = 0.0, average = 0.0; for (int i = 0; i < 3; i++) { for (int j = 0; j < 5; j++) { channel[j] = byteData[j * 6 + i*2] + byteData[j * 6 + i*2+1]; sNeed.Append(channel[j] + ","); } variance = Var(channel); sNeed.Append(variance + "--"); average = channel.Average(); sNeed.Append(average); strWrite(sNeed.ToString(), Environment.CurrentDirectory + "\\channelData", "channelData.txt"); sNeed.Clear(); } } public static double Var(double[] v) { double sum1 = 0; for (int i = 0; i < v.Length; i++) { double temp = v[i] * v[i]; sum1 = sum1 + temp; } double sum = 0; foreach (double d in v) { sum = sum + d; } double var = sum1 / v.Length - (sum / v.Length) * (sum / v.Length); return var; } private static int rowCount = 0; private static void strWrite(string str, string filePath, string fileName) { if (!Directory.Exists(filePath)) Directory.CreateDirectory(filePath); if (!File.Exists(filePath + "\\" + fileName)) File.Create(filePath + "\\" + fileName).Close(); //.Close 很关键,不然会有问题 if (rowCount < 3600) { StreamWriter sw = new StreamWriter(filePath + "\\" + fileName, true);//true 追加数据 sw.WriteLine(str); sw.Close(); rowCount++; } else { StreamWriter sw = new StreamWriter(filePath + "\\" + fileName, false);//true 追加数据 sw.WriteLine(str); sw.Close(); rowCount = 0; } } }}追加了温度数据:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using ThzData;using System.Threading.Tasks;using System.Net;using System.Net.Sockets;using System.Threading;using System.IO;using System.Diagnostics;using System.Drawing;using ThzDataProcess;using System.Windows.Forms;namespace BLL{ class DataCalculate { public void tempartureData_zyr(List<byte[]> Zhendata) { StringBuilder sNeed = new StringBuilder(); foreach (Byte[] match in Zhendata) sNeed.Append(BitConverter.ToString(match).Replace("-", "").Substring(20).ToUpper()); double[] temparture = GetTemparture_zyr(sNeed.ToString()); sNeed.Clear(); foreach (var tem in temparture) sNeed.Append(tem + "***"); strWrite_zyr(sNeed.ToString(), Environment.CurrentDirectory + "\\bin", "tempartureData.txt"); sNeed.Clear(); } public double[] GetTemparture_zyr(string str) { string tepStr = str.Substring(20 * 2, 8 * 2); double[] Temparture = new double[4]; if (tepStr == null) return Temparture; byte[] Wen = DataProcess.strToToHexByte(tepStr); if ((Wen[0] & 0xf0) >> 4 == 15) Temparture[0] = -(~Wen[1] + 1 + 256.0 * ~Wen[0]) / 16; else Temparture[0] = (Wen[1] + 256.0 * Wen[0]) / 16; if ((Wen[2] & 0xf0) >> 4 == 15) Temparture[1] = -(~Wen[3] + 1 + 256.0 * ~Wen[2]) / 16; else Temparture[1] = (Wen[3] + 256.0 * Wen[2]) / 16; if ((Wen[4] & 0xf0) >> 4 == 15) Temparture[2] = -(~Wen[5] + 1 + 256.0 * ~Wen[4]) / 16; else Temparture[2] = (Wen[5] + 256.0 * Wen[4]) / 16; if ((Wen[6] & 0xf0) >> 4 == 15) Temparture[3] = -(~Wen[7] + 1 + 256.0 * ~Wen[6]) / 16; else Temparture[3] = (Wen[7] + 256.0 * Wen[6]) / 16; return Temparture; } public void adDataCaculate_zyr(List<byte[]> Zhendata) { byte[] byteData = new byte[35250];//1410*25 int count1 = 0, count2 = 0; StringBuilder sNeed = new StringBuilder(); foreach (Byte[] Package in Zhendata) { count1 = 0; foreach (byte byt in Package) { if (count1 >= 20) //跳过第一个数 { byteData[count2] = byt; count2++; } count1++; } } // Console.ReadKey(); double[] channel = new double[473]; double variance = 0.0, average = 0.0; for (int i = 0; i < 36; i++) { for (int j = 0; j < 473; j++) { byte bigByte = Convert.ToByte(byteData[j * 74 + i * 2].ToString("X"), 16); if ((bigByte & 0xf0) >> 4 == 15) channel[j] = -(~byteData[j * 74 + i * 2 + 30] + 1 + 256.0 * ~byteData[j * 74 + i * 2 + 31]) / 16; else channel[j] = (byteData[j * 74 + i * 2 + 30] + 256.0 * ~byteData[j * 74 + i * 2 + 31]) / 16; sNeed.Append(channel[j] + ","); } variance = Var_zyr(channel); sNeed.Append("***variance:" + variance + "***average:"); average = channel.Average(); sNeed.Append(average); strWrite_zyr(sNeed.ToString(), Environment.CurrentDirectory + "\\bin", "channelData.txt"); sNeed.Clear(); } } public double Var_zyr(double[] v) { double sum1 = 0; for (int i = 0; i < v.Length; i++) { double temp = v[i] * v[i]; sum1 = sum1 + temp; } double sum = 0; foreach (double d in v) { sum = sum + d; } double var = sum1 / v.Length - (sum / v.Length) * (sum / v.Length); return var; } private int rowCount = 0; private void strWrite_zyr(string str, string filePath, string fileName) { if (!Directory.Exists(filePath)) Directory.CreateDirectory(filePath); if (!File.Exists(filePath + "\\" + fileName)) File.Create(filePath + "\\" + fileName).Close(); //.Close 很关键,不然会有问题 if (rowCount < 3600) { StreamWriter sw = new StreamWriter(filePath + "\\" + fileName, true);//true 追加数据 sw.WriteLine(str); sw.Close(); rowCount++; } else { StreamWriter sw = new StreamWriter(filePath + "\\" + fileName, false); sw.WriteLine(str); sw.Close(); rowCount = 0; } } }}
原文转载:http://www.shaoqun.com/a/500065.html
terapeak:https://www.ikjzd.com/w/556
周宁:https://www.ikjzd.com/w/1647
邮政电话:https://www.ikjzd.com/w/202
如果需要查看更多文章,请微信搜索公众号csharp编程大全,需要进C#交流群群请加微信z438679770,备注进群,我邀请你进群!!!usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.IO;namespaceCo
邮乐网购:邮乐网购
立刻网:立刻网
醉美武隆 三月乌江梨花烂漫时 - :醉美武隆 三月乌江梨花烂漫时 -
龙岗日月潭有什么好玩的?深圳龙岗日月潭烧烤怎么收费?:龙岗日月潭有什么好玩的?深圳龙岗日月潭烧烤怎么收费?
自驾车长途旅游要注意什么呢?:自驾车长途旅游要注意什么呢?
No comments:
Post a Comment