Choose Statements--这个命令可对报表的每行进行选择性编辑

【信息科学与工程学】【数据中心】第三十五篇 云计算数据中心的学科知识04 编号学科(课程)核心知识点在云计算/云存储/云网络/云安全/云MaaS中的作用代表教材/资料/论文 + 数学方程式列表工业界应用D1421​云原生数据库:TiDB​HTAP(混合事务/分析处理)、分布式SQL、水平扩展、强一致(Raft)、自动故障恢复、与MySQL兼容、TiFlash列式引擎提供弹性扩展的分布式数据库;支撑高并发在线交易与实时分析教材:《TiDB in Action》PingCAP(2020) 论文:《TiDB: A Raft-based HTAP Database》(2017) 阅读详情

我们来看看具体的吧::

Use the choose, when, and otherwise elements to express multiple conditional tests. If certain conditions are met in the incoming XML data then specific sections of the template will be rendered. This is a very powerful feature of the RTF template. In regular XSL programming, if a condition is met in the choose command then further XSL code is executed. In the template, however, you can actually use visual widgets in the conditional flow (in the following example, a table).

Use the following syntax for these elements:

<?choose:?>

<?when:expression?>

<?otherwise?>

以上是帮助文档里的原文,我在做了实验后,自己做了如下注解:

 

 

本示例引用的数据源见附1; 该示例的结果是,当wdpower列中数据为-1的时候,数据显示模式如第一行,黄色底色,红字,而且,为-1时显示(无采样数据)。

F

域内容:<?for-each:WIND_DATA1_ROW?>

<?choose:?>

注意,要写冒号

<?When: wdpower=’-1’?>

注意,when后写冒号,当wdpower=某个值时,这一行如此显示

<?end When?>

写在行结尾处,when条件结束

<?otherwise:?>

例外,除了when指定的那一行,其他行都按例外指示的显示,注意冒号

<?end otherwise?>

例外结束

<?end choose?>

Choose函数结束

 

 

Dayday

Wdpower

Fs

F <?choose:?><?When: wdpower=’-1’?>dayday

(无采样数据)

fs <?end When?>

<?otherwise:?> dayday

wdpower

fs <?end otherwise?> <?end choose?> E

 

想学习的朋友,可以直接将附1的文件,做成xml文件,然后导入预览一下。

 

附1:

<DATA><wd_power><WD_POWER_ROW>

<d_time>1</d_time>

<wd_power>7</wd_power>

</WD_POWER_ROW><WD_POWER_ROW>

<d_time>2</d_time>

<wd_power>7</wd_power>

</WD_POWER_ROW><WD_POWER_ROW>

<d_time>3</d_time>

<wd_power>0</wd_power>

</WD_POWER_ROW><WD_POWER_ROW>

<d_time>4</d_time>

<wd_power>0</wd_power>

</WD_POWER_ROW><WD_POWER_ROW>

<d_time>5</d_time>

<wd_power>0</wd_power>

</WD_POWER_ROW><WD_POWER_ROW>

<d_time>6</d_time>

<wd_power>0</wd_power>

</WD_POWER_ROW><WD_POWER_ROW>

<d_time>7</d_time>

<wd_power>4</wd_power>

</WD_POWER_ROW><WD_POWER_ROW>

<d_time>8</d_time>

<wd_power>7</wd_power>

</WD_POWER_ROW><WD_POWER_ROW>

<d_time>9</d_time>

<wd_power>5</wd_power>

</WD_POWER_ROW><WD_POWER_ROW>

<d_time>10</d_time>

<wd_power>2</wd_power>

</WD_POWER_ROW><WD_POWER_ROW>

<d_time>11</d_time>

<wd_power>4</wd_power>

</WD_POWER_ROW><WD_POWER_ROW>

<d_time>12</d_time>

<wd_power>0</wd_power>

</WD_POWER_ROW><WD_POWER_ROW>

<d_time>13</d_time>

<wd_power>0</wd_power>

</WD_POWER_ROW><WD_POWER_ROW>

<d_time>14</d_time>

<wd_power>0</wd_power>

</WD_POWER_ROW><WD_POWER_ROW>

<d_time>15</d_time>

<wd_power>0</wd_power>

</WD_POWER_ROW><WD_POWER_ROW>

<d_time>16</d_time>

<wd_power>0</wd_power>

</WD_POWER_ROW><WD_POWER_ROW>

<d_time>17</d_time>

<wd_power>0</wd_power>

</WD_POWER_ROW><WD_POWER_ROW>

<d_time>18</d_time>

<wd_power>0</wd_power>

</WD_POWER_ROW><WD_POWER_ROW>

<d_time>19</d_time>

<wd_power>872</wd_power>

</WD_POWER_ROW><WD_POWER_ROW>

<d_time>20</d_time>

<wd_power>2</wd_power>

</WD_POWER_ROW><WD_POWER_ROW>

<d_time>21</d_time>

<wd_power>0</wd_power>

</WD_POWER_ROW><WD_POWER_ROW>

<d_time>22</d_time>

<wd_power>0</wd_power>

</WD_POWER_ROW><WD_POWER_ROW>

<d_time>23</d_time>

<wd_power>0</wd_power>

</WD_POWER_ROW><WD_POWER_ROW>

<d_time>24</d_time>

<wd_power>0</wd_power>

</WD_POWER_ROW></wd_power><fl><FL_ROW>

<d_time>1</d_time>

<fs>1.3</fs>

</FL_ROW><FL_ROW>

<d_time>2</d_time>

<fs>1.3</fs>

</FL_ROW><FL_ROW>

<d_time>3</d_time>

<fs>1.7</fs>

</FL_ROW><FL_ROW>

<d_time>4</d_time>

<fs>0.8</fs>

</FL_ROW><FL_ROW>

<d_time>5</d_time>

<fs>0.6</fs>

</FL_ROW><FL_ROW>

<d_time>6</d_time>

<fs>2.2</fs>

</FL_ROW><FL_ROW>

<d_time>7</d_time>

<fs>1.2</fs>

</FL_ROW><FL_ROW>

<d_time>8</d_time>

<fs>1.2</fs>

</FL_ROW><FL_ROW>

<d_time>9</d_time>

<fs>1.0</fs>

</FL_ROW><FL_ROW>

<d_time>10</d_time>

<fs>2.3</fs>

</FL_ROW><FL_ROW>

<d_time>11</d_time>

<fs>1.5</fs>

</FL_ROW><FL_ROW>

<d_time>12</d_time>

<fs>4.2</fs>

</FL_ROW><FL_ROW>

<d_time>13</d_time>

<fs>6.2</fs>

</FL_ROW><FL_ROW>

<d_time>14</d_time>

<fs>6.0</fs>

</FL_ROW><FL_ROW>

<d_time>15</d_time>

<fs>3.2</fs>

</FL_ROW><FL_ROW>

<d_time>16</d_time>

<fs>3.0</fs>

</FL_ROW><FL_ROW>

<d_time>17</d_time>

<fs>5.7</fs>

</FL_ROW><FL_ROW>

<d_time>18</d_time>

<fs>9.5</fs>

</FL_ROW><FL_ROW>

<d_time>19</d_time>

<fs>3.0</fs>

</FL_ROW><FL_ROW>

<d_time>20</d_time>

<fs>2.4</fs>

</FL_ROW><FL_ROW>

<d_time>21</d_time>

<fs>1.1</fs>

</FL_ROW><FL_ROW>

<d_time>22</d_time>

<fs>0.9</fs>

</FL_ROW><FL_ROW>

<d_time>23</d_time>

<fs>1.2</fs>

</FL_ROW><FL_ROW>

<d_time>24</d_time>

<fs>0.0</fs>

</FL_ROW></fl><wind_data><WIND_DATA_ROW>

<avgpower>avgfl</avgpower>

<wdpower>0.0</wdpower>

<d_time/>

</WIND_DATA_ROW><WIND_DATA_ROW>

<avgpower>avgpower</avgpower>

<wdpower>-1.0</wdpower>

<d_time/>

</WIND_DATA_ROW><WIND_DATA_ROW>

<avgpower>avgfl</avgpower>

<wdpower>1.8</wdpower>

<d_time>0</d_time>

</WIND_DATA_ROW><WIND_DATA_ROW>

<avgpower>avgpower</avgpower>

<wdpower>14.0</wdpower>

<d_time>0</d_time>

</WIND_DATA_ROW><WIND_DATA_ROW>

<avgpower>avgfl</avgpower>

<wdpower>1.3</wdpower>

<d_time>1</d_time>

</WIND_DATA_ROW><WIND_DATA_ROW>

<avgpower>avgpower</avgpower>

<wdpower>7.0</wdpower>

<d_time>1</d_time>

</WIND_DATA_ROW><WIND_DATA_ROW>

<avgpower>avgfl</avgpower>

<wdpower>1.3</wdpower>

<d_time>2</d_time>

</WIND_DATA_ROW><WIND_DATA_ROW>

<avgpower>avgpower</avgpower>

<wdpower>7.0</wdpower>

<d_time>2</d_time>

</WIND_DATA_ROW><WIND_DATA_ROW>

<avgpower>avgfl</avgpower>

<wdpower>1.7</wdpower>

<d_time>3</d_time>

</WIND_DATA_ROW><WIND_DATA_ROW>

<avgpower>avgpower</avgpower>

<wdpower>-1.0</wdpower>

<d_time>3</d_time>

</WIND_DATA_ROW><WIND_DATA_ROW>

<avgpower>avgfl</avgpower>

<wdpower>0.8</wdpower>

<d_time>4</d_time>

</WIND_DATA_ROW><WIND_DATA_ROW>

<avgpower>avgpower</avgpower>

<wdpower>-1.0</wdpower>

<d_time>4</d_time>

</WIND_DATA_ROW><WIND_DATA_ROW>

<avgpower>avgfl</avgpower>

<wdpower>0.6</wdpower>

<d_time>5</d_time>

</WIND_DATA_ROW><WIND_DATA_ROW>

<avgpower>avgpower</avgpower>

<wdpower>-1.0</wdpower>

<d_time>5</d_time>

</WIND_DATA_ROW><WIND_DATA_ROW>

<avgpower>avgfl</avgpower>

<wdpower>2.2</wdpower>

<d_time>6</d_time>

</WIND_DATA_ROW><WIND_DATA_ROW>

<avgpower>avgpower</avgpower>

<wdpower>0.0</wdpower>

<d_time>6</d_time>

</WIND_DATA_ROW><WIND_DATA_ROW>

<avgpower>avgfl</avgpower>

<wdpower>1.2</wdpower>

<d_time>7</d_time>

</WIND_DATA_ROW><WIND_DATA_ROW>

<avgpower>avgpower</avgpower>

<wdpower>4.0</wdpower>

<d_time>7</d_time>

</WIND_DATA_ROW><WIND_DATA_ROW>

<avgpower>avgfl</avgpower>

<wdpower>1.2</wdpower>

<d_time>8</d_time>

</WIND_DATA_ROW><WIND_DATA_ROW>

<avgpower>avgpower</avgpower>

<wdpower>7.0</wdpower>

<d_time>8</d_time>

</WIND_DATA_ROW><WIND_DATA_ROW>

<avgpower>avgfl</avgpower>

<wdpower>1.0</wdpower>

<d_time>9</d_time>

</WIND_DATA_ROW><WIND_DATA_ROW>

<avgpower>avgpower</avgpower>

<wdpower>5.0</wdpower>

<d_time>9</d_time>

</WIND_DATA_ROW><WIND_DATA_ROW>

<avgpower>avgfl</avgpower>

<wdpower>2.3</wdpower>

<d_time>10</d_time>

</WIND_DATA_ROW><WIND_DATA_ROW>

<avgpower>avgpower</avgpower>

<wdpower>2.0</wdpower>

<d_time>10</d_time>

</WIND_DATA_ROW><WIND_DATA_ROW>

<avgpower>avgfl</avgpower>

<wdpower>1.5</wdpower>

<d_time>11</d_time>

</WIND_DATA_ROW><WIND_DATA_ROW>

<avgpower>avgpower</avgpower>

<wdpower>4.0</wdpower>

<d_time>11</d_time>

</WIND_DATA_ROW><WIND_DATA_ROW>

<avgpower>avgfl</avgpower>

<wdpower>4.2</wdpower>

<d_time>12</d_time>

</WIND_DATA_ROW><WIND_DATA_ROW>

<avgpower>avgpower</avgpower>

<wdpower>-1.0</wdpower>

<d_time>12</d_time>

</WIND_DATA_ROW><WIND_DATA_ROW>

<avgpower>avgfl</avgpower>

<wdpower>6.2</wdpower>

<d_time>13</d_time>

</WIND_DATA_ROW><WIND_DATA_ROW>

<avgpower>avgpower</avgpower>

<wdpower>-1.0</wdpower>

<d_time>13</d_time>

</WIND_DATA_ROW><WIND_DATA_ROW>

<avgpower>avgfl</avgpower>

<wdpower>6.0</wdpower>

<d_time>14</d_time>

</WIND_DATA_ROW><WIND_DATA_ROW>

<avgpower>avgpower</avgpower>

<wdpower>-1.0</wdpower>

<d_time>14</d_time>

</WIND_DATA_ROW><WIND_DATA_ROW>

<avgpower>avgfl</avgpower>

<wdpower>3.2</wdpower>

<d_time>15</d_time>

</WIND_DATA_ROW><WIND_DATA_ROW>

<avgpower>avgpower</avgpower>

<wdpower>-1.0</wdpower>

<d_time>15</d_time>

</WIND_DATA_ROW><WIND_DATA_ROW>

<avgpower>avgfl</avgpower>

<wdpower>3.0</wdpower>

<d_time>16</d_time>

</WIND_DATA_ROW><WIND_DATA_ROW>

<avgpower>avgpower</avgpower>

<wdpower>-1.0</wdpower>

<d_time>16</d_time>

</WIND_DATA_ROW><WIND_DATA_ROW>

<avgpower>avgfl</avgpower>

<wdpower>5.7</wdpower>

<d_time>17</d_time>

</WIND_DATA_ROW><WIND_DATA_ROW>

<avgpower>avgpower</avgpower>

<wdpower>-1.0</wdpower>

<d_time>17</d_time>

</WIND_DATA_ROW><WIND_DATA_ROW>

<avgpower>avgfl</avgpower>

<wdpower>9.5</wdpower>

<d_time>18</d_time>

</WIND_DATA_ROW><WIND_DATA_ROW>

<avgpower>avgpower</avgpower>

<wdpower>-1.0</wdpower>

<d_time>18</d_time>

</WIND_DATA_ROW><WIND_DATA_ROW>

<avgpower>avgfl</avgpower>

<wdpower>3.0</wdpower>

<d_time>19</d_time>

</WIND_DATA_ROW><WIND_DATA_ROW>

<avgpower>avgpower</avgpower>

<wdpower>872.0</wdpower>

<d_time>19</d_time>

</WIND_DATA_ROW><WIND_DATA_ROW>

<avgpower>avgfl</avgpower>

<wdpower>2.4</wdpower>

<d_time>20</d_time>

</WIND_DATA_ROW><WIND_DATA_ROW>

<avgpower>avgpower</avgpower>

<wdpower>2.0</wdpower>

<d_time>20</d_time>

</WIND_DATA_ROW><WIND_DATA_ROW>

<avgpower>avgfl</avgpower>

<wdpower>1.1</wdpower>

<d_time>21</d_time>

</WIND_DATA_ROW><WIND_DATA_ROW>

<avgpower>avgpower</avgpower>

<wdpower>-1.0</wdpower>

<d_time>21</d_time>

</WIND_DATA_ROW><WIND_DATA_ROW>

<avgpower>avgfl</avgpower>

<wdpower>0.9</wdpower>

<d_time>22</d_time>

</WIND_DATA_ROW><WIND_DATA_ROW>

<avgpower>avgpower</avgpower>

<wdpower>-1.0</wdpower>

<d_time>22</d_time>

</WIND_DATA_ROW><WIND_DATA_ROW>

<avgpower>avgfl</avgpower>

<wdpower>1.2</wdpower>

<d_time>23</d_time>

</WIND_DATA_ROW><WIND_DATA_ROW>

<avgpower>avgpower</avgpower>

<wdpower>-1.0</wdpower>

<d_time>23</d_time>

</WIND_DATA_ROW></wind_data><wind_head><WIND_HEAD_ROW>

<seqid>60</seqid>

<stime>2010-07-29</stime>

</WIND_HEAD_ROW></wind_head><wind_data1><WIND_DATA1_ROW>

<dayday>0</dayday>

<wdpower>14</wdpower>

<fs>1.8</fs>

</WIND_DATA1_ROW><WIND_DATA1_ROW>

<dayday>1</dayday>

<wdpower>7</wdpower>

<fs>1.3</fs>

</WIND_DATA1_ROW><WIND_DATA1_ROW>

<dayday>2</dayday>

<wdpower>7</wdpower>

<fs>1.3</fs>

</WIND_DATA1_ROW><WIND_DATA1_ROW>

<dayday>3</dayday>

<wdpower>-1</wdpower>

<fs>1.7</fs>

</WIND_DATA1_ROW><WIND_DATA1_ROW>

<dayday>4</dayday>

<wdpower>-1</wdpower>

<fs>0.8</fs>

</WIND_DATA1_ROW><WIND_DATA1_ROW>

<dayday>5</dayday>

<wdpower>-1</wdpower>

<fs>0.6</fs>

</WIND_DATA1_ROW><WIND_DATA1_ROW>

<dayday>6</dayday>

<wdpower>0</wdpower>

<fs>2.2</fs>

</WIND_DATA1_ROW><WIND_DATA1_ROW>

<dayday>7</dayday>

<wdpower>4</wdpower>

<fs>1.2</fs>

</WIND_DATA1_ROW><WIND_DATA1_ROW>

<dayday>8</dayday>

<wdpower>7</wdpower>

<fs>1.2</fs>

</WIND_DATA1_ROW><WIND_DATA1_ROW>

<dayday>9</dayday>

<wdpower>5</wdpower>

<fs>1.0</fs>

</WIND_DATA1_ROW><WIND_DATA1_ROW>

<dayday>10</dayday>

<wdpower>2</wdpower>

<fs>2.3</fs>

</WIND_DATA1_ROW><WIND_DATA1_ROW>

<dayday>11</dayday>

<wdpower>4</wdpower>

<fs>1.5</fs>

</WIND_DATA1_ROW><WIND_DATA1_ROW>

<dayday>12</dayday>

<wdpower>-1</wdpower>

<fs>4.2</fs>

</WIND_DATA1_ROW><WIND_DATA1_ROW>

<dayday>13</dayday>

<wdpower>-1</wdpower>

<fs>6.2</fs>

</WIND_DATA1_ROW><WIND_DATA1_ROW>

<dayday>14</dayday>

<wdpower>-1</wdpower>

<fs>6.0</fs>

</WIND_DATA1_ROW><WIND_DATA1_ROW>

<dayday>15</dayday>

<wdpower>-1</wdpower>

<fs>3.2</fs>

</WIND_DATA1_ROW><WIND_DATA1_ROW>

<dayday>16</dayday>

<wdpower>-1</wdpower>

<fs>3.0</fs>

</WIND_DATA1_ROW><WIND_DATA1_ROW>

<dayday>17</dayday>

<wdpower>-1</wdpower>

<fs>5.7</fs>

</WIND_DATA1_ROW><WIND_DATA1_ROW>

<dayday>18</dayday>

<wdpower>-1</wdpower>

<fs>9.5</fs>

</WIND_DATA1_ROW><WIND_DATA1_ROW>

<dayday>19</dayday>

<wdpower>872</wdpower>

<fs>3.0</fs>

</WIND_DATA1_ROW><WIND_DATA1_ROW>

<dayday>20</dayday>

<wdpower>2</wdpower>

<fs>2.4</fs>

</WIND_DATA1_ROW><WIND_DATA1_ROW>

<dayday>21</dayday>

<wdpower>-1</wdpower>

<fs>1.1</fs>

</WIND_DATA1_ROW><WIND_DATA1_ROW>

<dayday>22</dayday>

<wdpower>-1</wdpower>

<fs>0.9</fs>

</WIND_DATA1_ROW><WIND_DATA1_ROW>

<dayday>23</dayday>

<wdpower>-1</wdpower>

<fs>1.2</fs>

</WIND_DATA1_ROW></wind_data1></DATA>

 

Android17车载音频进阶之H2XML定制Module(一百七十七) 目的:理解H2XML如何把Module接口和Key定义转换为ARC可用的元数据,并通过Graph、GKV、CKV和TKV驱动AudioReach用例配置。H2XML根据带注解的C头文件生成XML元数据。ARC使用这些元数据配置Module、Graph和参数,ACDB保存对应的Graph定义与Calibration数据,运行时由GSL和AML按Key Vector查询数据。H2XML负责生成配置所需的元数据,不负责执行CAPI Module中的算法。fill:#333;important; 阅读详情

相关推荐

激光可燃气体传感器DIY指南:从TDLAS原理到STM32实战(附代码)

本文详细介绍了如何DIY激光可燃气体传感器,从TDLAS原理到STM32实战,包括硬件选型、光路搭建、电子系统设计和嵌入式软件开发。通过TDLAS技术实现高灵敏度甲烷检测,适合工业安全和环境监测应用。附有完整代码和实用调试技巧,帮助开发者快速掌握光学气体检测技术。

fanta的博客 440

数据结构课程设计 B树的实现

参考来源 知识点 https://www.cnblogs.com/nullzx/p/8729425.html 别人的B树的实现 https://blog.youkuaiyun.com/qq965194745/article/details/78323470

Authur_gyc 522

飞书云文档API操作详细介绍

开通云文档API、python程序调用飞书api、飞书获取app_id和app_secret、

Brother_ning的博客 1万+

<c:choose>

<shiro:hasPermission name="hmlwx:hmlwxExhibitItem:edit"><td> <c:choose> <c:when test="${empty hmlwxExhibitItem.status || hmlwxExhibitItem.status eq '0'}"><a hr...

detscaozv622278146的博客 117

Linux音频调试实战:ALSA架构与tinymix工具的高级应用技巧

本文深入探讨了Linux音频调试的核心技术,重点解析了ALSA架构下音频信号的路由与混合机制。通过介绍轻量级命令行工具tinymix的高级应用技巧,指导开发者如何精准排查无声、音量异常、多路音频共存等复杂问题,并分享编写自动化测试脚本以提升嵌入式及智能设备音频开发效率的实战方法。

weixin_29210727的博客 101

AGV、RGV、四向车openTCS调度系统(三)车辆适配器解读,封装自己的适配器

AGV、RGV、四向车调度。理解适配器的整体作用,以及如何使用官方例子改造自己的适配器,

要这头发有何用 3610

c语言编写的商品管理程序,简单的商品库存管理程序 C语言

#include#include#define LEN sizeof(struct goods)struct goods{long number;char name[20];int count;struct goods* next;};struct goods* creat(struct goods* head);struct goods* destory(struct goods* head);...

weixin_30100295的博客 961

2025目标检测新方向:弱监督目标检测的最新论文研究与应用

2025目标检测新方向:弱监督目标检测的最新论文研究与应用 ,人工智能,计算机视觉,大模型,AI,本文聚焦2025年弱监督目标检测新方向,阐述其基础概念,包括弱监督学习定义、标注形式及面临的定位不准等挑战。介绍最新论文研究的多种算法,如基于点标注的算法等,还涉及相关模型、应用领域,以及评价指标、数据集、实现工具框架,分析未来趋势与补充挑战及解决方案,为该领域研究提供全面参考。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 7万+

Spark Neo Core 耳机练琴设备评测:如何实现“一副耳机装下整个琴房”

音频接口是连接乐器与数字音频工作站(DAW)或监听设备的核心硬件,负责模拟信号与数字信号的转换。其工作原理基于AD/DA转换芯片,确保高保真、低延迟的音频传输。在音乐制作与个人练习场景中,音频接口的技术价值在于提供专业级的音质和灵活的连接方案,尤其对于电声乐器用户至关重要。空间模拟算法和低延迟监听则是提升沉浸式练习体验的关键技术,它们通过数字信号处理(DSP)模拟真实声学环境,解决居家练琴的扰民与音质问题。本文以Spark Neo Core为例,深入解析其如何集成声卡、效果处理与房间模拟功能,打造出可随身携

weixin_33985679的博客 460

AUTOSAR从入门到精通-【应用实战篇】车载HMI-ADAS

ADAS是高级驾驶辅助系统(Advanced Driving Assistance System)简称ADAS。ADAS高级驾驶辅助系统是利用安装于车上的各式各样的传感器, 在第一时间收集车内外的环境数据, 进行静、动态物体的辨识、侦测与追踪等技术上的处理, 从而能够让驾驶者在最快的时间察觉可能发生的危险, 以引起注意和提高安全性的主动安全技术。

lin_xiu的博客 1435

【FPGA教程案例96】控制案例1——基于FPGA的自适应PID控制器verilog实现

首先,我们复习下课程传统的PID控制器,往往存在调整速度较慢,超调过大等缺点。为了解决这个问题,在实际的PID应用中,需要实时的调整PID的控制参数,以达到加快PID控制速度,降低超调等目标。目前,自适应PID控制器,一般有误差反馈调整,模糊控制器调整,神经网络调整。其中模糊控制器调整,神经网络调整较为复杂,在入门案例中不做介绍,在本课程中,我们将实现相对略微简单点的基于误差反馈调整的自适应PID控制器。

FPGA/MATLAB学习教程/源码/项目合作开发 6203

FormDestroy和Destroy中选其一个使用.

FormDestroy和Destroy都是执行Free时执行的两个函数 FormDestroy是事件, Destroy是析构函数.FormDestroy是在Destroy中执行的事件,是为了方便程序员写释放资源的代码. 在程序中要么用直接用Destroy释放,要么用FormDestroy事件,不要混合使用. 都知道写Destroy的一般都是 destructor Destroy() be...

264

手把手教你学simulink(16.2)--基于Simulink的高通滤波器(High-Pass Filter)项目

基于Simulink的高通滤波器(High-Pass Filter)项目的详细实例介绍。这个项目将重点放在高通滤波器的设计、实现和仿真上,帮助你理解和应用高通滤波器在信号处理中的作用。

MHD0815的博客 926

choose属性的使用(radio,checked)

男  女  男  女  男  女  checked选中传回value值,不选中传null 取消单选框 男

梦落雲的博客 896

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Unity 使用UGUI制作连连看小游戏

@[TOC]Unity UGUI 制作连连看那点儿事 前言 从事unity行业,仿真方向也3年有余了,从来没有尝试过自己写点什么,面对生活的各种压力人的情绪可能会产生各种波动,随着年龄的增长,人的想法也会产生一些改变,所以我想记录一些东西算是我的脚印陪伴我前行,就算有一天我从事其他行业回头看看也多少觉得我留下了些什么。 最近公司给出了一个客户需要做一个小的连连看游戏,主要需求是分成5个关卡,第一关...

zhouyinqing2654的博客 7597

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

使用CHOOSE使用举例-动态排序字段

CHOOSE在SQL Server2012后才开始支持。在2012前需要用CASE实现 用法:https://msdn.microsoft.com/en-us/library/hh213019.aspx print CHOOSE (abs(checksum(newid()))%5+1 , 'A','B','C','D','E') go 10 Beginning execution l

道素的专栏 641

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

ui-choose|列表选择jQuery美化插件

ui-choose是一款基于jQuery的列表选择美化插件。ui-choose可用于选项不太多的select、radio、checkbox等,提升用户体验。 使用方法 使用ui-choose列表美化插件需要引入jQuery、ui-choose.js和ui-choose.css文件。 <link href="src/ui-choose.css" rel=...

weixin_30399155的博客 203

OnDestroy方法 很好用的方法

OnDestroy方法 很好用的方法 不能忘了它 用一段简单的例子解释一下 这是AA脚本 using UnityEngine; using System.Collections; public class AA : MonoBehaviour { void OnDestroy(){ print("Des A"); } } 这是CC脚本 using UnityEngin

CyRo 1万+

bi publish图表,x轴y轴加说明(单位)--chart

bi publish图表,x轴y轴加说明(单位)--chart rtf 图表,chart设置图片格式

newb921的专栏 4915

BI publisher- 在超链接里引入变量

<br />在超链接里引入变量<br /><?xdoxslt:current_date('ja-JP', 'Asia/Tokyo')?><br />结果:2010-08-09<br /><?xdoxslt:current_date('zh-CN', 'Asia/Shanghai')?><br />这是中国上海时区<br /><br />我们要在一个超级链接里传送这个日期变量,当前系统日期<br /><br /><?variable:gurDate;xdoxslt:current_date('zh-CN',

newb921的专栏 1707

If-then-Else Statements--RTF文档

帮助原文是这样写的:BI Publisher supports the common programming construct "if-then-else". This is extremely useful when you need to test a condition and conditionally show a result. For example:IF X=0 THEN Y=2 ELSE Y=3 END IFYou can also nest these statements

newb921的专栏 1563

Running Totals--在RTF文档中,声明变量进行计算

Running Totals--在RTF文档中,声明变量进行计算,将各种变量在文档中进行计算

newb921的专栏 1492

OPC UA 地址空间导入实践|XML 与 CSV 两条路径

部署OPC UA服务器时,核心瓶颈在于数据注入——地址空间结构设计与时间序列模拟。XML定义节点结构,需注意命名空间索引(应基于URI而非运行编号)及父子关系双向声明,改动后必须重启生效;CSV注入时序,按SourceTimestamp分组批量写入,建议使用nsu=URI;s=名称格式避免索引错位。推荐使用Prosys仿真服务器,结合UaModeler建模,实现高效、稳定的仿真部署。

MotroEngineer的博客 259

JS XML验证及格式化处理

该代码提供XML验证、格式化及转换功能:isValidXML通过jQuery解析判断字符串是否为合法XML;formatXML对XML进行缩进美化,支持标签、文本、CDATA和注释;xmlToString将XML文档对象转为字符串;escapeHtml用于HTML转义。整体实现简洁,适用于前端XML处理场景。

程序就是世界 163

Spring 框架AOP与 XML 基础

本文涵盖AOP配置文件方式与注解方式、JDBC模板技术、模拟转账开发、XML语法与约束、DOM4J与XPath等内容,并附核心易错点速查表。

既然你都点开这里了,那可以给我点个关注吗?可以吗?可以吗? 274
上一篇: 宝宝去上幼儿园
下一篇: If-then-Else Statements--RTF文档
angel_new
博客等级 码龄23年 90粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值