/** * 日期节假日换算类 * @version 1.0 2012-12-20 */ class Lunar { var $MIN_YEAR = 1891; var $MAX_YEAR = 2100; var $lunarInfo = array( array(0,2,9,21936),array(6,1,30,9656),array(0,2,17,9584),array(0,2,6,21168),array(5,1,26,43344),array(0,2,13,59728), array(0,2,2,27296),array(3,1,22,44368),array(0,2,10,43856),array(8,1,30,19304),array(0,2,19,19168),array(0,2,8,42352), array(5,1,29,21096),array(0,2,16,53856),array(0,2,4,55632),array(4,1,25,27304),array(0,2,13,22176),array(0,2,2,39632), array(2,1,22,19176),array(0,2,10,19168),array(6,1,30,42200),array(0,2,18,42192),array(0,2,6,53840),array(5,1,26,54568), array(0,2,14,46400),array(0,2,3,54944),array(2,1,23,38608),array(0,2,11,38320),array(7,2,1,18872),array(0,2,20,18800), array(0,2,8,42160),array(5,1,28,45656),array(0,2,16,27216),array(0,2,5,27968),array(4,1,24,44456),array(0,2,13,11104), array(0,2,2,38256),array(2,1,23,18808),array(0,2,10,18800),array(6,1,30,25776),array(0,2,17,54432),array(0,2,6,59984), array(5,1,26,27976),array(0,2,14,23248),array(0,2,4,11104),array(3,1,24,37744),array(0,2,11,37600),array(7,1,31,51560), array(0,2,19,51536),array(0,2,8,54432),array(6,1,27,55888),array(0,2,15,46416),array(0,2,5,22176),array(4,1,25,43736), array(0,2,13,9680),array(0,2,2,37584),array(2,1,22,51544),array(0,2,10,43344),array(7,1,29,46248),array(0,2,17,27808), array(0,2,6,46416),array(5,1,27,21928),array(0,2,14,19872),array(0,2,3,42416),array(3,1,24,21176),array(0,2,12,21168), array(8,1,31,43344),array(0,2,18,59728),array(0,2,8,27296),array(6,1,28,44368),array(0,2,15,43856),array(0,2,5,19296), array(4,1,25,42352),array(0,2,13,42352),array(0,2,2,21088),array(3,1,21,59696),array(0,2,9,55632),array(7,1,30,23208), array(0,2,17,22176),array(0,2,6,38608),array(5,1,27,19176),array(0,2,15,19152),array(0,2,3,42192),array(4,1,23,53864), array(0,2,11,53840),array(8,1,31,54568),array(0,2,18,46400),array(0,2,7,46752),array(6,1,28,38608),array(0,2,16,38320), array(0,2,5,18864),array(4,1,25,42168),array(0,2,13,42160),array(10,2,2,45656),array(0,2,20,27216),array(0,2,9,27968), array(6,1,29,44448),array(0,2,17,43872),array(0,2,6,38256),array(5,1,27,18808),array(0,2,15,18800),array(0,2,4,25776), array(3,1,23,27216),array(0,2,10,59984),array(8,1,31,27432),array(0,2,19,23232),array(0,2,7,43872),array(5,1,28,37736), array(0,2,16,37600),array(0,2,5,51552),array(4,1,24,54440),array(0,2,12,54432),array(0,2,1,55888),array(2,1,22,23208), array(0,2,9,22176),array(7,1,29,43736),array(0,2,18,9680),array(0,2,7,37584),array(5,1,26,51544),array(0,2,14,43344), array(0,2,3,46240),array(4,1,23,46416),array(0,2,10,44368),array(9,1,31,21928),array(0,2,19,19360),array(0,2,8,42416), array(6,1,28,21176),array(0,2,16,21168),array(0,2,5,43312),array(4,1,25,29864),array(0,2,12,27296),array(0,2,1,44368), array(2,1,22,19880),array(0,2,10,19296),array(6,1,29,42352),array(0,2,17,42208),array(0,2,6,53856),array(5,1,26,59696), array(0,2,13,54576),array(0,2,3,23200),array(3,1,23,27472),array(0,2,11,38608),array(11,1,31,19176),array(0,2,19,19152), array(0,2,8,42192),array(6,1,28,53848),array(0,2,15,53840),array(0,2,4,54560),array(5,1,24,55968),array(0,2,12,46496), array(0,2,1,22224),array(2,1,22,19160),array(0,2,10,18864),array(7,1,30,42168),array(0,2,17,42160),array(0,2,6,43600), array(5,1,26,46376),array(0,2,14,27936),array(0,2,2,44448),array(3,1,23,21936),array(0,2,11,37744),array(8,2,1,18808), array(0,2,19,18800),array(0,2,8,25776),array(6,1,28,27216),array(0,2,15,59984),array(0,2,4,27424),array(4,1,24,43872), array(0,2,12,43744),array(0,2,2,37600),array(3,1,21,51568),array(0,2,9,51552),array(7,1,29,54440),array(0,2,17,54432), array(0,2,5,55888),array(5,1,26,23208),array(0,2,14,22176),array(0,2,3,42704),array(4,1,23,21224),array(0,2,11,21200), array(8,1,31,43352),array(0,2,19,43344),array(0,2,7,46240),array(6,1,27,46416),array(0,2,15,44368),array(0,2,5,21920), array(4,1,24,42448),array(0,2,12,42416),array(0,2,2,21168),array(3,1,22,43320),array(0,2,9,26928),array(7,1,29,29336), array(0,2,17,27296),array(0,2,6,44368),array(5,1,26,19880),array(0,2,14,19296),array(0,2,3,42352),array(4,1,24,21104), array(0,2,10,53856),array(8,1,30,59696),array(0,2,18,54560),array(0,2,7,55968),array(6,1,27,27472),array(0,2,15,22224), array(0,2,5,19168),array(4,1,25,42216),array(0,2,12,42192),array(0,2,1,53584),array(2,1,21,55592),array(0,2,9,54560) ); /** * 将阳历转换为阴历 * @param year 公历-年 * @param month 公历-月 * @param date 公历-日 */ function convertSolarToLunar($year,$month,$date){ //debugger; $yearData = $this->lunarInfo[$year-$this->MIN_YEAR]; if($year==$this->MIN_YEAR&&$month<=2&&$date<=9){ return array(1891,'正月','初一','辛卯',1,1,'兔'); } return $this->getLunarByBetween($year,$this->getDaysBetweenSolar($year,$month,$date,$yearData[1],$yearData[2])); } function convertSolarMonthToLunar($year,$month) { $yearData = $this->lunarInfo[$year-$this->MIN_YEAR]; if($year==$this->MIN_YEAR&&$month<=2&&$date<=9){ return array(1891,'正月','初一','辛卯',1,1,'兔'); } $month_days_ary = array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); $dd = $month_days_ary[$month]; if($this->isLeapYear($year) && $month == 2) $dd++; $lunar_ary = array(); for ($i = 1; $i < $dd; $i++) { $array = $this->getLunarByBetween($year,$this->getDaysBetweenSolar($year, $month, $i, $yearData[1], $yearData[2])); $array[] = $year . '-' . $month . '-' . $i; $lunar_ary[$i] = $array; } return $lunar_ary; } /** * 将阴历转换为阳历 * @param year 阴历-年 * @param month 阴历-月,闰月处理:例如如果当年闰五月,那么第二个五月就传六月,相当于阴历有13个月,只是有的时候第13个月的天数为0 * @param date 阴历-日 */ function convertLunarToSolar($year,$month,$date){ $yearData = $this->lunarInfo[$year-$this->MIN_YEAR]; $between = $this->getDaysBetweenLunar($year,$month,$date); $res = mktime(0,0,0,$yearData[1],$yearData[2],$year); $res = date('Y-m-d', $res+$between*24*60*60); $day = explode('-', $res); $year = $day[0]; $month= $day[1]; $day = $day[2]; return array($year, $month, $day); } /** * 判断是否是闰年 * @param year */ function isLeapYear($year){ return (($year%4==0 && $year%100 !=0) || ($year%400==0)); } /** * 获取干支纪年 * @param year */ function getLunarYearName($year){ $sky = array('庚','辛','壬','癸','甲','乙','丙','丁','戊','己'); $earth = array('申','酉','戌','亥','子','丑','寅','卯','辰','巳','午','未'); $year = $year.''; return $sky[$year{3}].$earth[$year%12]; } /** * 根据阴历年获取生肖 * @param year 阴历年 */ function getYearZodiac($year){ $zodiac = array('猴','鸡','狗','猪','鼠','牛','虎','兔','龙','蛇','马','羊'); return $zodiac[$year%12]; } /** * 获取阳历月份的天数 * @param year 阳历-年 * @param month 阳历-月 */ function getSolarMonthDays($year,$month){ $monthHash = array('1'=>31,'2'=>$this->isLeapYear($year)?29:28,'3'=>31,'4'=>30,'5'=>31,'6'=>30,'7'=>31,'8'=>31,'9'=>30,'10'=>31,'11'=>30,'12'=>31); return $monthHash["$month"]; } /** * 获取阴历月份的天数 * @param year 阴历-年 * @param month 阴历-月,从一月开始 */ function getLunarMonthDays($year,$month){ $monthData = $this->getLunarMonths($year); return $monthData[$month-1]; } /** * 获取阴历每月的天数的数组 * @param year */ function getLunarMonths($year){ $yearData = $this->lunarInfo[$year - $this->MIN_YEAR]; $leapMonth = $yearData[0]; $bit = decbin($yearData[3]); for ($i = 0; $i < strlen($bit);$i ++) { $bitArray[$i] = substr($bit, $i, 1); } for($k=0,$klen=16-count($bitArray);$k<$klen;$k++){ array_unshift($bitArray, '0'); } $bitArray = array_slice($bitArray,0,($leapMonth==0?12:13)); for($i=0; $i<count($bitArray); $i++){ $bitArray[$i] = $bitArray[$i] + 29; } return $bitArray; } /** * 获取农历每年的天数 * @param year 农历年份 */ function getLunarYearDays($year){ $yearData = $this->lunarInfo[$year-$this->MIN_YEAR]; $monthArray = $this->getLunarYearMonths($year); $len = count($monthArray); return ($monthArray[$len-1]==0?$monthArray[$len-2]:$monthArray[$len-1]); } function getLunarYearMonths($year){ //debugger; $monthData = $this->getLunarMonths($year); $res=array(); $temp=0; $yearData = $this->lunarInfo[$year-$this->MIN_YEAR]; $len = ($yearData[0]==0?12:13); for($i=0;$i<$len;$i++){ $temp=0; for($j=0;$j<=$i;$j++){ $temp+=$monthData[$j]; } array_push($res, $temp); } return $res; } /** * 获取闰月 * @param year 阴历年份 */ function getLeapMonth($year){ $yearData = $this->lunarInfo[$year-$this->MIN_YEAR]; return $yearData[0]; } /** * 计算阴历日期与正月初一相隔的天数 * @param year * @param month * @param date */ function getDaysBetweenLunar($year,$month,$date){ $yearMonth = $this->getLunarMonths($year); $res=0; for($i=1;$i<$month;$i++){ $res +=$yearMonth[$i-1]; } $res+=$date-1; return $res; } /** * 计算2个阳历日期之间的天数 * @param year 阳历年 * @param cmonth * @param cdate * @param dmonth 阴历正月对应的阳历月份 * @param ddate 阴历初一对应的阳历天数 */ function getDaysBetweenSolar($year,$cmonth,$cdate,$dmonth,$ddate){ $a = mktime(0,0,0,$cmonth,$cdate,$year); $b = mktime(0,0,0,$dmonth,$ddate,$year); return ceil(($a-$b)/24/3600); } /** * 根据距离正月初一的天数计算阴历日期 * @param year 阳历年 * @param between 天数 */ function getLunarByBetween($year,$between){ //debugger; $lunarArray = array(); $yearMonth=array(); $t=0; $e=0; $leapMonth=0; $m=''; if($between==0){ array_push($lunarArray, $year,'正月','初一'); $t = 1; $e = 1; }else{ $year = $between>0? $year : ($year-1); $yearMonth = $this->getLunarYearMonths($year); $leapMonth = $this->getLeapMonth($year); $between = $between>0?$between : ($this->getLunarYearDays($year)+$between); for($i=0;$i<13;$i++){ if($between==$yearMonth[$i]){ $t=$i+2; $e=1; break; }else if($between<$yearMonth[$i]){ $t=$i+1; $e=$between-(empty($yearMonth[$i-1])?0:$yearMonth[$i-1])+1; break; } } $m = ($leapMonth!=0&&$t==$leapMonth+1)?('闰'.$this->getCapitalNum($t- 1,true)):$this->getCapitalNum(($leapMonth!=0&&$leapMonth+1<$t?($t-1):$t),true); array_push($lunarArray,$year,$m,$this->getCapitalNum($e,false)); } array_push($lunarArray,$this->getLunarYearName($year));// 天干地支 array_push($lunarArray,$t,$e); array_push($lunarArray,$this->getYearZodiac($year));// 12生肖 array_push($lunarArray,$leapMonth);// 闰几月 return $lunarArray; } /** * 获取数字的阴历叫法 * @param num 数字 * @param isMonth 是否是月份的数字 */ function getCapitalNum($num,$isMonth){ $isMonth = $isMonth || false; $dateHash=array('0'=>'','1'=>'一','2'=>'二','3'=>'三','4'=>'四','5'=>'五','6'=>'六','7'=>'七','8'=>'八','9'=>'九','10'=>'十 '); $monthHash=array('0'=>'','1'=>'正月','2'=>'二月','3'=>'三月','4'=>'四月','5'=>'五月','6'=>'六月','7'=>'七月','8'=>'八月','9'=>'九月','10'=>'十月','11'=>'冬月','12'=>'腊月'); $res=''; if($isMonth){ $res = $monthHash[$num]; }else{ if($num<=10){ $res = '初'.$dateHash[$num]; }else if($num>10&&$num<20){ $res = '十'.$dateHash[$num-10]; }else if($num==20){ $res = "二十"; }else if($num>20&&$num<30){ $res = "廿".$dateHash[$num-20]; }else if($num==30){ $res = "三十"; } } return $res; } /* * 节气通用算法 */ function getJieQi($_year,$month,$day) { $year = substr($_year,-2)+0; $coefficient = array( array(5.4055,2019,-1),//小寒 array(20.12,2082,1),//大寒 array(3.87),//立春 array(18.74,2026,-1),//雨水 array(5.63),//惊蛰 array(20.646,2084,1),//春分 array(4.81),//清明 array(20.1),//谷雨 array(5.52,1911,1),//立夏 array(21.04,2008,1),//小满 array(5.678,1902,1),//芒种 array(21.37,1928,1),//夏至 array(7.108,2016,1),//小暑 array(22.83,1922,1),//大暑 array(7.5,2002,1),//立秋 array(23.13),//处暑 array(7.646,1927,1),//白露 array(23.042,1942,1),//秋分 array(8.318),//寒露 array(23.438,2089,1),//霜降 array(7.438,2089,1),//立冬 array(22.36,1978,1),//小雪 array(7.18,1954,1),//大雪 array(21.94,2021,-1)//冬至 ); $term_name = array( "小寒","大寒","立春","雨水","惊蛰","春分","清明","谷雨", "立夏","小满","芒种","夏至","小暑","大暑","立秋","处暑", "白露","秋分","寒露","霜降","立冬","小雪","大雪","冬至"); $idx1 = ($month-1)*2; $_leap_value = floor(($year-1)/4); $day1 = floor($year*0.2422+$coefficient[$idx1][0])-$_leap_value; if(isset($coefficient[$idx1][1])&&$coefficient[$idx1][1]==$_year) { $day1 += $coefficient[$idx1][2]; } $day2 = floor($year*0.2422+$coefficient[$idx1+1][0])-$_leap_value; if(isset($coefficient[$idx1+1][1])&&$coefficient[$idx1+1][1]==$_year) { $day1 += $coefficient[$idx1+1][2]; } //echo __FILE__.'->'.__LINE__.' $day1='.$day1,',$day2='.$day2.'<br/>'.chr(10); if($day==$day1) return $term_name[$idx1]; if($day==$day2) return $term_name[$idx1+1]; return ''; } /* * 获取节日:特殊的节日只能修改此函数来计算 */ function getFestival($today, $nl_info = false,$config = 1) { if($config == 1) { $arr_lunar=array('01-01'=>'春节','01-15'=>'元宵节','02-02'=>'二月二','05-05'=>'端午节','07-07'=>'七夕节','08-15'=>'中秋节','09-09'=>'重阳节','12-08'=>'腊八节','12-23'=>'小年'); $arr_solar=array('01-01'=>'元旦','02-14'=>'情人节','03-12'=>'植树节','04-01'=>'愚人节','05-01'=>'劳动节','06-01'=>'儿童节','10-01'=>'国庆节','10-31'=>'万圣节','12-24'=>'平安夜','12-25'=>'圣诞节'); }//需要不同节日的,用不同的$config,然后配置$arr_lunar和$arr_solar $festivals = array(); list($y,$m,$d) = explode('-',$today); if(!$nl_info) $nl_info = $this->convertSolarToLunar($y,intval($m),intval($d)); if($nl_info[7]>0&&$nl_info[7]<$nl_info[4]) $nl_info[4]-=1; $md_lunar = substr('0'.$nl_info[4],-2).'-'.substr('0'.$nl_info[5],-2); $md_solar=substr_replace($today,'',0,5); isset($arr_lunar[$md_lunar])?array_push($festivals, $arr_lunar[$md_lunar]):''; isset($arr_solar[$md_solar])?array_push($festivals, $arr_solar[$md_solar]):''; $glweek = date("w",strtotime($today)); //0-6 if($m==5&&($d>7)&&($d<15)&&($glweek==0))array_push($festivals, "母亲节"); if($m==6&&($d>14)&&($d<22)&&($glweek==0))array_push($festivals,"父亲节"); $jieqi = $this->getJieQi($y,$m,$d); if($jieqi)array_push($festivals,$jieqi); return implode('/',$festivals); } }
相关推荐
综上所述,“php日期节假日换算类”涵盖了多方面的日期处理能力,对于需要处理农历日期的PHP开发者来说,是一个非常有价值的工具。它不仅能够方便地进行阳历与阴历的转换,还能提供干支纪年、生肖计算以及农历日期的...
【公农双历查询】:生成多功能日历,可以查询所有节、假日和农历 【高级定位】:多功能选择(查找)工具。可以选择大于某值或者小于某值或者在某范围之间的值,文本定位时支持通配符。还可以按格式查找/定位 【背景...
mysql
基于springboot+vue前后端分离,学生心理咨询评估系统(源码+Mysql数据库+视频+论文+PPT+教程),高分项目,开箱即用(毕业设计)(课堂设计) 使用旧方法对学生心理咨询评估信息进行系统化管理已经不再让人们信赖了,把现在的网络信息技术运用在学生心理咨询评估信息的管理上面可以解决许多信息管理上面的难题,比如处理数据时间很长,数据存在错误不能及时纠正等问题。 这次开发的学生心理咨询评估系统有管理员和用户。管理员可以管理个人中心,用户管理,试题管理,试卷管理,考试管理等。用户参加考试。。经过前面自己查阅的网络知识,加上自己在学校课堂上学习的知识,决定开发系统选择B/S模式这种高效率的模式完成系统功能开发。这种模式让操作员基于浏览器的方式进行网站访问,采用的主流的Java语言这种面向对象的语言进行学生心理咨询评估系统程序的开发,后台采用Spring Boot框架,在数据库的选择上面,选择功能强大的MySQL数据库进行数据的存放操作。 学生心理咨询评估系统被人们投放于现在的生活中进行使用,该款管理类软件就可以让管理人员处理信息的时间介于十几秒之间。在这十几秒内就能完成信息的编辑等操作。有了这样的管理软件,学生心理咨询评估信息的管理就离无纸化办公的目标更贴近了。
道路坑洞与车牌人物多目标检测数据集 一、基础信息 数据集名称:道路坑洞与车牌人物多目标检测数据集 数据规模: - 训练集:3,900张道路场景图片 - 验证集:194张标注图片 - 测试集:72张评估图片 目标类别: - 行人(Human):道路场景中的行人目标 - 车牌(Licence):车辆牌照及编号信息 - 坑洞(Pothole):路面凹陷破损区域 - 复合目标(Potholes-carplate-and-people):同时包含坑洞/车牌/行人的复杂场景 技术规格: - 标注格式:YOLO格式标注框 - 数据格式:JPEG/PNG道路实拍图像 二、适用场景 自动驾驶感知系统开发: 支持车载摄像头实时检测道路坑洞、行人及车牌信息,提升自动驾驶系统的环境感知能力。 道路养护评估系统: 通过检测路面坑洞分布和严重程度,为市政道路维护提供量化评估依据。 交通监控解决方案: 适用于智能交通系统中异常路况检测、车牌识别与行人安全预警等多任务场景。 计算机视觉研究: 提供多目标联合检测的实战数据,支持目标检测、异常区域定位等算法研究。 三、核心优势 多目标协同检测: 覆盖道路场景四大关键目标类别,支持单帧图像中同时检测路面缺陷、车辆牌照和行人目标。 真实场景多样性: 包含不同光照条件、天气状况和道路类型的实际道路图像,确保模型泛化能力。 工业级兼容性: 原生YOLO格式标注可直接应用于YOLOv5/v7/v8等主流检测框架,降低数据转换成本。 专业数据标注: 所有标注框经过双重质量校验,确保目标定位精度和类别标注准确性,框体坐标误差小于2%。
2025年商业智能应用白皮书5.0.pdf
内容概要:本文详细介绍了如何利用Python构建Itasca PFC参数敏感性分析的代码框架,旨在提高接触模型参数优化的效率。首先解释了为何需要进行参数敏感性分析,指出它能够帮助研究人员更好地理解不同参数对材料宏观性能的影响。接着展示了具体的代码实现步骤,包括初始化PFC模型、定义参数范围、设置参数、运行模型以及保存结果。此外,还提供了多种实用技巧,如使用itertools生成参数组合、通过multiprocessing加速批处理任务、采用pandas和seaborn进行数据分析和可视化等。最后强调了该框架的优势,如减少手动调参的时间成本、增强实验可重复性和揭示参数间的复杂关系。 适合人群:从事岩土工程、材料科学等相关领域的科研人员和技术开发者。 使用场景及目标:适用于需要精确模拟材料行为的研究项目,特别是在探索接触模型中各参数对材料性能的具体影响时。通过该框架,可以快速找到最优参数组合,从而指导实际工程设计。 其他说明:文中提供的代码片段和方法不仅限于Itasca PFC软件,也可应用于其他类似仿真工具。
高空视角多类交通目标检测数据集 一、基础信息 数据集名称:高空视角多类交通目标检测数据集 数据规模: - 训练集:2,077张航拍图像 - 验证集:593张航拍图像 - 测试集:294张航拍图像 分类体系: 11类精细标注: - 工程机械类:农业车辆、工程车辆 - 交通工具类:轿车/卡车/巴士/火车/摩托车/船 - 特殊目标类:行人(UAP)、无人机相关目标(UAI) 技术特性: - 标注格式:YOLO格式边界框标注 - 数据视角:无人机航拍/高空俯视视角 - 场景特征:包含城市道路、建筑工地、港口、农田等多种空中监控场景 二、核心应用 智慧城市管理系统: - 空中交通流量监控与分析 - 大型施工场地设备调度监测 - 港口船舶停靠位置检测 农业智能化应用: - 农用机械作业轨迹追踪 - 农田区域车辆准入监控 - 农作物运输车辆识别 自动驾驶模型训练: - 提供独特俯视视角训练数据 - 增强车辆检测模型的空间感知能力 - 支持多尺度目标识别训练 无人机应用开发: - 航拍目标实时检测算法开发 - 低空领域飞行器识别 - 应急场景人员搜救定位 三、独特优势 视角多样性优势: - 涵盖0-400米不同航拍高度 - 包含多国道路场景样本 - 覆盖昼夜不同光照条件 目标检测强化特性: - 特别标注工程车辆细分类别(挖掘机/推土机等) - 包含特殊空中目标类别(UAI/UAP) - 密集小目标占比达32%(如远距离车辆/人员) 工程化支持能力: - 完整训练验证测试划分 - 兼容YOLO系列算法开箱即用 - 提供航拍场景负样本增强包
内容概要:本文详细介绍了西门子1200 PLC与三台台达MS300变频器通过Modbus RTU协议进行通讯控制的项目实施过程。主要内容涵盖硬件架构搭建、变频器参数设置、PLC侧Modbus主站程序设计、触摸屏变量映射以及调试过程中遇到的问题及其解决方案。文中强调了硬件接线注意事项、轮询机制的设计、数据格式转换、异常数据处理等方面的技术细节。最终实现了稳定的三台变频器协同控制,确保了系统的可靠性和扩展性。 适合人群:自动化工程师、PLC程序员、工业控制系统集成商。 使用场景及目标:适用于需要对多台变频器进行集中控制的工业应用场景,如生产线自动化、设备联动控制等。目标是提高生产效率,降低维护成本,增强系统的稳定性和可靠性。 其他说明:文中提供了详细的代码片段和配置要点,帮助读者快速理解和应用相关技术。同时,针对常见问题给出了具体的解决方案,便于实际操作中的故障排查和性能优化。
HALCON_机器视觉概述.pdf
内容概要:本文详细介绍了如何使用MATLAB和CPLEX实现冷热电多微网系统的双层优化配置模型,特别是在共享储能电站的应用。上层模型负责储能电站的容量配置,下层模型管理各微网的实时调度。文中探讨了KKT条件的转换、冷热电耦合处理、场景对比及数据可视化等关键技术细节。通过实例验证,共享储能模式相比传统方式节省了约18%的总成本,证明了模型的经济性和有效性。 适合人群:从事能源系统规划、电力系统优化的研究人员和技术人员,尤其是对MATLAB和CPLEX有一定基础的读者。 使用场景及目标:适用于希望深入了解冷热电多微网系统优化配置的技术人员,旨在提高能源利用效率,降低成本。具体应用场景包括但不限于微网系统设计、储能电站规划、能源管理系统开发等。 其他说明:文章提供了详细的代码片段和调试经验,帮助读者更好地理解和实现该模型。此外,还讨论了模型的实际应用前景及其扩展可能性,如加入随机优化层应对风光不确定性。
【FPGA相关论文232篇】: 7成像仪实时事件处理器的FPGA设计研究.pdf 8eFPGA的微小型飞行器控制系统的硬件设计.pdf 16Kbs类MELP语音压缩编码器的FPGA实现.pdf 800Mbps准循环LDPC码译码器的FPGA实现.pdf 并行数字相关器的FPGA实现.pdf 程门阵列门延时精确调整时序的方法.pdf 纯方位目标跟踪的伪线性卡尔曼滤波器实现.pdf 低成本网络数据传输存储系统的FPGA实现.pdf 低轨道卫星码分多址(CDMA)系统发信机的FPGA实现.pdf 电力线载波线路调制的FPGA实现.pdf 多电平通用空间矢量调制集成电路及其FPGA实现.pdf 多分辨率图像实时采集系统的逻辑设计.pdf 多级二维整数小波变换的FPGA实现研究.pdf 多通道自相关信号检测算法及其FPGA实现.pdf 飞机座舱图形显示加速系统设计及fpga实现.pdf 改进的载波频率相位联合估计方案及其fpga实现.pdf 高速并行FIR滤波器的FPGA实现.pdf 高速图像存储系统中SDRAM(Sdram)控制器的实现.pdf 高速移动下正交频分复用(OFDM)均衡器的FPGA实现.pdf 高速专用GFP处理器的FPGA实现.pdf 高吞吐量低存储量的LDPC码译码器FPGA实现。pdf 高帧频CMOS相机图像采集系统研究.pd 光谱宽覆盖遥感图像模拟信号源设计.pdf 焊接机器人实时跟踪系统传感器设计技术研究.pdf 红外林火图像采集系统设计.pdf 混沌跳频序列发生器的FPGA实现.pdf 机场跑道识别算法与实现研究.pdf 机载图像无损近无损压缩方案及其FPGA实现.pdf 基于 +FPGA+的卫星图像模拟源系统设计.pdf 基于查找表和牛顿(Newton)插值算法的正余弦函数的FPGA实现.pdf ..........等
内容概要:本文详细介绍了如何使用COMSOL软件构建并优化全息光栅模型,特别是在TE(横电模)和TM(横磁模)两种极化模式下的具体实现步骤。首先,文章阐述了光栅的基础参数设定,如波长、周期、刻蚀深度和入射角等,并强调了这些参数之间的关系及其对衍射效率的影响。接着,深入讲解了几何结构创建、物理场配置、求解器参数调整以及结果分析等方面的技术要点。尤其针对不同极化模式下的特殊处理进行了细致说明,例如TM模式采用表面电流边界条件,而TE模式则使用端口边界条件。此外,文中还分享了一些实用的小技巧,如通过参数化扫描减少内存占用、合理设置网格划分以提高计算精度等。 适用人群:从事光学设计、光电子器件研究的专业人士,尤其是那些希望深入了解全息光栅特性的科研工作者和技术开发者。 使用场景及目标:帮助读者掌握利用COMSOL进行全息光栅建模的基本流程,能够独立完成从模型建立到结果分析的全过程,从而更好地理解和应用全息光栅在各类光学设备中的性能表现。 其他说明:文章不仅提供了详细的代码示例,还结合实际案例指出了常见的错误及解决办法,确保读者能够在实践中少走弯路。
# 压缩文件中包含: 中文文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;
# 压缩文件中包含: 中文-英文对照文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文-英文对照文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;
本书《Python数据分析与可视化终极指南》由阿比纳巴·班纳吉撰写,旨在为读者提供使用Python进行数据处理、分析和可视化的全面指导。作者首先介绍了数据分析和可视化的基础,强调了数据分析在决策中的重要性,并详细讲解了数据分析过程中的各个步骤。接着,书中深入探讨了数据质量的重要性,如何获取数据,以及如何使用Python库进行网页抓取,并确保数据质量。此外,书中还涵盖了数据清洗和准备的过程,包括识别和修复数据错误、数据转换、数据整合,以及专门用于数据清洗的库。在探索性数据分析方面,作者强调了其重要性,并介绍了描述性统计、相关性分析、降维等探索方法,以及各种可视化、聚类分析和一些自动化探索性数据分析的低代码库。统计分析章节帮助读者理解统计分析的重要性,以及如何使用真实数据进行描述性统计、概率分布和统计检验。书中还包含了一些真实案例,帮助读者更好地理解如何分析问题并尝试解决。本书适合想要扩展技能的专业开发人员,以及愿意学习并将知识应用于数据分析的新手。
内容概要:本文详细介绍了使用200Smart PLC、威纶通触摸屏和台达伺服驱动器构建的电子手轮控制系统。该系统实现了手轮转动与伺服电机精确同步的功能,支持X/Y轴的选择和切换。文中涵盖了硬件选型、PLC编程、触摸屏配置以及调试过程中遇到的问题及其解决方案。特别强调了手轮信号处理、轴切换逻辑、脉冲输出配置等方面的技术细节,并提供了具体的代码示例。 适合人群:从事工业自动化领域的工程师和技术人员,尤其是对PLC编程有一定基础并希望深入了解伺服控制系统的人群。 使用场景及目标:适用于需要高精度位置控制的应用场景,如激光切割机的对刀系统、数控机床的手动调节等。主要目标是实现快速响应、精准定位的电子手轮控制系统。 其他说明:文中还分享了一些实用的经验和技巧,例如如何避免手轮信号丢失、正确设置电子齿轮比等。同时提醒读者注意一些常见的错误配置,确保系统的稳定性和可靠性。
内容概要:本文详细介绍了如何使用Matlab实现SSA-RF(麻雀搜索算法优化的随机森林)和传统RF(随机森林)神经网络的多元回归预测。主要内容包括数据输入输出设定、运行环境配置、代码结构解析、预测效果评估等方面。文中不仅提供了详细的代码实现步骤,还展示了具体的优化前后对比实验结果,如MSE(均方误差)、树木大小和叶子节点数等关键参数的变化。此外,文章还讨论了一些实用技巧,如数据归一化、参数范围设置、避免过拟合等问题。 适合人群:具有一定Matlab编程基础的数据分析师、机器学习爱好者、科研工作者。 使用场景及目标:适用于需要进行多元回归预测的研究和应用场景,特别是那些希望通过优化算法提高预测精度的场合。目标是帮助读者掌握SSA-RF的具体实现方法及其相对于传统RF的优势。 其他说明:文中提供的代码可以直接运行,便于读者快速上手实践。同时,文章鼓励读者尝试不同的优化算法并对比效果,进一步加深对模型优化的理解。
内容概要:本文详细介绍了电力系统中变压器空载合闸时产生的励磁涌流及其MATLAB仿真方法。首先,通过MATLAB脚本生成励磁涌流的基本波形,展示了不同参数如剩磁系数、合闸角度对涌流波形的影响。接着,使用Simulink搭建变压器模型进行更复杂的仿真,探讨了非线性电感模块的参数设置以及饱和特性对仿真结果的影响。文中还讨论了多种抑制励磁涌流的技术手段,如预充磁方法和选相合闸装置的应用。此外,针对涌流识别算法进行了深入研究,提出了基于二次谐波比的小波分解方法和波形对称度校验等改进方案。最后,强调了现场调试时需要注意的问题,如CT饱和对谐波测量精度的影响。 适合人群:从事电力系统继电保护工作的工程师和技术人员,尤其是对励磁涌流仿真和抑制感兴趣的读者。 使用场景及目标:适用于希望深入了解励磁涌流产生机制、仿真方法及其抑制措施的研究人员和工程师。目标是帮助读者掌握励磁涌流的仿真技巧,理解各种抑制措施的工作原理,并能够应用于实际工程项目中。 其他说明:文章提供了多个MATLAB代码片段和Simulink模型实例,便于读者动手实践。同时提醒读者在现场调试时应注意的实际问题,如CT饱和、参数敏感性和谐波测量误差等。
内容概要:本文详细介绍了MATLAB编程中的各种实用技巧和常见问题的解决方案。首先讨论了动态热力图的绘制及其内存管理问题,展示了如何通过复用图形对象降低内存占用。接着探讨了信号处理中的矩阵维度匹配问题,提供了具体的代码修改方案。随后介绍了图像处理中的晶界识别方法,强调了顶帽变换在预处理中的重要作用。此外,还涉及了实时心率检测算法的验证流程、自定义图形组件的创建以及多种调试技巧,如条件断点和全局设置保护。最后,分享了一些提高效率的小贴士,如使用内置函数代替手动循环进行数值积分。 适合人群:具有一定MATLAB基础的科研人员、工程师和技术爱好者。 使用场景及目标:帮助用户解决MATLAB编程过程中遇到的具体问题,提升代码性能和稳定性,适用于数据可视化、信号处理、图像处理等多个应用场景。 其他说明:文中提供的代码片段可以直接应用于实际项目中,同时附带了许多实用的调试和优化建议,能够显著缩短开发周期并提高代码质量。