0x04 内容简介与例题习题

汽车诊断之UDS入门-0x19 0x03/ 0x04服务 0x19 0x03/ 0x04服务解析 阅读详情

《算法竞赛进阶指南》读书笔记汇总
这里面是我在阅读《算法竞赛进阶指南》这本书时的一些思考,有兴趣可以瞧瞧!
如若发现什么问题,可以通过评论或者私信作者提出。希望各位大佬不吝赐教!

板子

整数域上的二分

在单调递增序列 a a a中查找 > = x >= x >=x的数中最小的一个(也就是STL的lower_bound)

while(l < r){
	int mid = l + r >> 1;
	if(a[mid] >= x) r = mid;
	else l = mid + 1;
}
return a[l];

在单调递增序列 a a a中查找 < = x <=x <=x的数中最大的一个

while(l < r){
	int mid = l + r + 1 >> 1;
	if(a[mid] <= x) l = mid;
	else r = mid - 1;
}
return a[l];

实数域上的二分

在保留 k k k位小数时,取 e p s = 1 0 − ( k + 2 ) eps = 10^{-(k +2)} eps=10−(k+2)

while(r - l > 1e-5){
	double mid = (l + r) / 2;
	if(check(mid)) r = mid;
	else l = mid;
}

或指定迭代次数

for(int i = 0;i < 100;i ++){
	double mid = (l + r) / 2;
	if(check(mid)) r = mid;
	else l = mid;
}

三分求单峰函数极值

求单峰函数 f ( x ) f(x) f(x)的极大值

while(r - l > eps){
	double lmid = l + (r - l) / 3;
	double rmid = l + (r - l) / 3 * 2;
	if(f(lmid) < f(rmid)) l = lmid;
	else r = rmid;
}
return f(l);

二分答案

一般看到使最小值最大或者最大值最小就可以联想二分答案。
我们把求最优解的问题,转化为给定一个值 m i d mid mid,判定是否存在一个可行方案评分达到 m i d mid mid的问题。求解这类问题的关键在于,找到题目中隐藏的单调性。

【例题】最佳牛围栏(AcWing102)

题目链接
思路: 二分出一个 m i d mid mid,判定“是否存在一个长度为 L L L的子段,平均数不小于 m i d mid mid”
那么如果把数列中的每一个数都减去 m i d mid mid,那么问题转化为判定“是否存在一个长度为 L L L的子段,子段和大于等于零”。那么其实就是求长度不小于 L L L的最大子段和,看这个和是否非负即可。
如果忽略长度限制,那么这个问题是经典的最大子段和问题。可用递推来求解(具体参考这道题。
如果我们考虑长度限制,设 s u m i sum_{i} sumi​表示 A 1 到 A i A_{1}到A_{i} A1​到Ai​的和,则子段和可以转化为前缀和相减的形式,即: m a x { A j + 1 + . . . + A i } = m a x { s u m i − m i n { s u m j } } max\{A_{j + 1}+...+A_{i}\} = max\{sum_{i} - min\{sum_{j}\}\} max{Aj+1​+...+Ai​}=max{sumi​−min{sumj​}},其中 i − j ≥ L , L ≤ i ≤ n i - j \ge L, L \le i \le n i−j≥L,L≤i≤n
仔细观察上面的式子可以发现,随着 i i i的增长, j j j每次只会增加1,那么我们可以用一个变量记录当前最小的 s u m j sum_{j} sumj​即可,没必要循环 j j j了。
这样我们可以求出长度不小于 L L L的最大的子段和,如果这个子段和非负,那么说明当前的 m i d mid mid满足要求可以继续变大;否则 m i d mid mid必须变小。(想想为什么)

AC代码:

#include<bits/stdc++.h>
#define LL long long
#define N 100005
using namespace std;

int n,m;
double a[N],b[N],sum[N];

void solve(){
    scanf("%d%d",&n,&m);
    for(int i = 1;i <= n;i ++)
        scanf("%lf",&a[i]);
    double l = -1e9,r = 1e9;
    while(r - l > 1e-6){
        double mid = (l + r) / 2;
        for(int i = 1;i <= n;i ++)
            b[i] = a[i] - mid,sum[i] = sum[i - 1] + b[i];
        double ans = -1e18,mi = 1e18;
        for(int i = m;i <= n;i ++){
            mi = min(sum[i - m],mi);
            ans = max(ans,sum[i] - mi);
        }
        if(ans >= 0) l = mid;
        else r = mid;
    }
    printf("%d\n",(int)(r * 1000));
}

int main(){
    solve();
    return 0;
}

习题

【练习】赶牛入圈(AcWing121)

题目链接
思路: 首先我们肯定需要二分正方形的长度,假设当前二分的长度为 l e n len len,我们来考虑一下怎么判定。
不难想到我们可以枚举所有正方形,判断每一个正方形里草的数目是否满足条件即可。枚举正方形只需要枚举左上角,右下角可以通过长度和左上角计算出来,但是这题的坐标范围为 [ 1 , 10000 ] [1,10000] [1,10000],这样做肯定会超时。
我们思考如何减少枚举数目,考虑一个最优性问题,就是考虑最优解有什么性质。通过观察我们发现这样一个性质,最优解正方形右下角的两条临边上必定有点。
可以通过画图证明这个性质,如下图:
在这里插入图片描述

我们可以通过如下变换使得右下角的两条临边上有点,且解不会变差。
首先把正方形缩小使得至少有两条对边上有点
在这里插入图片描述
然后通过移动使得下边或者右边有点
在这里插入图片描述
有了这个性质之后,我们枚举的右下角坐标范围就在所有草的坐标范围内,因此我们可以把所有草的坐标进行离散化,预处理出前缀和,通过双指针进行枚举即可。
为什么要用双指针,我直接枚举右下角不就行吗?但是你的左上角下标可能不在草的坐标里啊,这样怎么用前缀和算嘛。
这题还有一个细节,就是草并不是一个点,是一个区域,写代码的时候要注意一下(好吧其实实际上写起来和一般的前缀和也没有什么差别)

AC代码:

#include<bits/stdc++.h>
#define N 1010
#define INF 0x3f3f3f3f
#define PII pair<int,int>
using namespace std;

int c,n;
int b[N];
PII p[N];
int a[N][N];
int cnt,len;

int get(int x){
    return lower_bound(b + 1,b + 1 + len,x) - b;
}

bool check(int x){
    for(int x1 = 1,x2 = 1;x2 <= len;x2 ++){
        while(b[x2] - b[x1] + 1 > x) x1 ++;
        for(int y1 = 0,y2 = 1;y2 <= len;y2 ++){
            while(b[y2] - b[y1] + 1 > x) y1 ++;
            if(a[x2][y2] - a[x1 - 1][y2] - a[x2][y1 - 1] + a[x1 - 1][y1 - 1] >= c) return true;
        }
    }
    return false;
}

void solve(){
    scanf("%d%d",&c,&n);
    for(int i = 1;i <= n;i ++){
        int x,y;
        scanf("%d%d",&x,&y);
        p[i] = {x,y};
        b[++ cnt] = x,b[++ cnt] = y;
    }

    sort(b + 1,b + 1 + cnt);
    len = unique(b + 1,b + 1 + cnt) - b - 1;

    for(int i = 1;i <= n;i ++){
        int x = get(p[i].first),y = get(p[i].second);
        a[x][y] ++;
    }

    for(int i = 1;i <= len;i ++)
        for(int j = 1;j <= len;j ++)
            a[i][j] += a[i - 1][j] + a[i][j - 1] - a[i - 1][j - 1];

    int l = 1,r = 10000;
    while(l < r){
        int mid = (l + r) >> 1;
        if(check(mid)) r = mid;
        else l = mid + 1;
    }

    printf("%d\n",l);
}

int main(){
    solve();
    return 0;
}

WslRegisterDistribution failed with error_ 0x8007019e、0x800701bc、0x80370102 Ubuntu 20.04.4 LTS 报错解决方案。分别涉及到三个错误:WslRegisterDistribution failed with error: 0x8007019e、WslRegisterDistribution failed with error: 0x800701bc和WslRegisterDistribution failed with error: 0x80370102 阅读详情

相关推荐

别再乱猜了!UDS诊断中DTCFormatIdentifier的0x00和0x04到底有啥区别?

本文深度解析了UDS诊断中DTCFormatIdentifier的0x00与0x04的六大核心差异,包括标准溯源、字节解析、诊断服务表现等关键方面。通过真实案例和ISO14229-1标准对比,帮助工程师准确识别和应用这两种格式,避免诊断误判和错误维修建议。

weixin_42531886的博客 333

stm32地址偏移:为什么相邻寄存器的地址偏移量是0x04?

地址不是单纯的16进制数值,它表达的是内存空间。

g1191480414的博客 2万+

C# ModbusRTU/ASCII/TCP功能码0x01-0x04数据解析实战:从字节顺序到数值转换的完整指南

本文深入解析了C#中处理ModbusRTU/ASCII/TCP协议数据的关键技术,重点攻克了功能码0x01-0x04数据解析中的字节顺序难题。通过实战代码演示了如何从原始字节流中提取有效数据,并针对不同设备(如Modicon PLC)的字节顺序(如3412、1234)进行精准的数值转换,提供了从框架搭建到问题排查的完整指南。

v6b7n8m9q0的博客 814

0x04基础套接字

套接字基本概念 创建套接字 套接字在Linux系统中表现位文件描述符,形式上由一个int类型定义的整数表示,套接字的创建通过下面的Linux系统调用函数实现: #include <sys/types.h> #include <sys/socket.h> //头文件sys/type.h对于某些C的宏是必须的;sys/socket...

weixin_30659829的博客 298

从PLC到SCADA:一个真实案例带你理解Modbus故障码0x04和0x06背后的系统级问题

本文通过一个水处理厂的真实案例,深入解析Modbus故障码0x04和0x06背后的系统级问题。从现场设备到SCADA系统的多层交互中,揭示了通信任务调度、总线噪声干扰等关键因素,并提供了诊断框架和优化方案,帮助工程师有效应对工业自动化中的通信故障。

weixin_30333885的博客 512

Ansys 19.0 的安装与pyansys的使用 Ubuntu20.04

本文主要是笔者在ubuntu20.04上安装 ansys 19.0 及使用pyansys对其进行开发的一个汇总、总结。

bujiefenqing的博客 6298

操作系统0x04-进程与线程

2.1 进程与线程2.1.1 进程的概念和特征进程的概念进程的特性2.1.2 进程的状态和转换2.1.3 进程控制进程的创建(创建原语)进程的终止(撤销原语)进程的阻塞(阻塞原语)进程的阻塞(唤醒原语)2.1.4 进程的组织进程控制块程序段数据段2.1.5 进程的通信共享存储消息传递管道通信2.1.6 线程模型和多线程模型线程的基本概念线程与进程的比较线程的属性线程的实现方式多线程模型 2.1.1...

lhx0525的博客 884

Jetson Nano下Ubuntu18.04环境配置–aravis0.8+opencv4.x

此教程是为配置在jetson nano下进行实时全景图像拼接的实验环境。在ubuntu18.04下的环境配置较为复杂,建议在开始之前准备一个环境文件夹,将所有的环境源码统一存放。

weixin_51122252的博客 1520

C语言杂记 0x04

函数(function) 函数的返回值可以理解为:定义一个和返回值类型相同的变量,并且用return后面的语句进行初始化 函数分返回值不是左值,或者说函数表达式不能作为左值,因此下面的表达式是违法的 is_even(20) = 1; 循环和递归 递归能解决的问题循环也能解决,只是解决的思路不一样 对于递归来说,分配和释放了好多地址空间,所有变量都是在初始化的时候被赋值,然后就没再发生过...

Anhongzhan的博客 865

斯坦福HumanPlus机器人核心技术解析:从HST强化学习框架到HIT模仿学习的实现路径

本文深入解析了斯坦福HumanPlus人形机器人的核心技术实现路径。其核心在于HST强化学习框架与HIT模仿学习架构的协同:HST作为“小脑”,通过rsl_rl框架在仿真中训练稳健的低级运动控制;HIT作为“大脑”,基于改进的Transformer架构学习高级任务规划。文章详细拆解了从算法原理、代码实现到硬件部署的全流程,为复现这一前沿机器人系统提供了实战指南。

weixin_29082143的博客 282

使用OpenCV进行3D重建:详细指南

3D重建是计算机视觉领域的一项关键技术,它能够从二维图像中恢复出场景的三维结构。这项技术在机器人视觉、增强现实和3D建模等多个领域都有广泛的应用。在本篇技术博客中,我们将详细介绍如何使用OpenCV这一流行的计算机视觉库来实现3D重建。我们将逐步探讨整个过程,包括相机标定、特征点提取与匹配、立体校正、深度图计算以及最终的三维重建。3D重建是一个复杂的过程,涉及多个步骤和多种算法。OpenCV提供了强大的工具来支持这一过程,从相机标定到特征点提取与匹配,再到立体校正和深度图计算,最后实现三维重建。

weixin_41544125的博客 1318

0x04_数组_指针_字符串

C++郑莉第六章+自己的理解 整理

qq_51550750的博客 1373

生信人的一天~HIFI数据+HIC数据组装基因组

HIFI+HIC数据组装基因组!

qq_43337286的博客 9530

0x11 内容简介与例题习题

栈栈与卡特兰序列【例题】进出栈序列问题(Acwing130)表达式计算 对于栈的基本特性,这里就不再赘述。着重讲解与栈有关的应用以及相关习题。 栈与卡特兰序列 关于卡特兰序列,我会在0x36节中详细介绍。 【例题】进出栈序列问题(Acwing130) 题目链接 思路: 细心观察我们会发现,进出栈序列符合卡特兰序列的特性,可以利用通项公式进行计算(将会在0x36节详细推导)。该通项公式为,第NNN项卡特兰数为:C2NNN+1\frac{C_{2N}^N}{N + 1}N+1C2NN​​。本题的核心就是计算这个

juruo_c的博客 1146

Ubuntu开机卡在BusyBox?3种方法快速修复initramfs错误(附详细命令)

本文详细介绍了Ubuntu开机卡在BusyBox并出现initramfs错误的3种修复方法,包括使用fsck检查文件系统、调整BIOS/UEFI存储设置以及修改GRUB内核参数。针对常见的文件系统错误和根设备无法找到问题,提供了具体的命令行操作步骤和实用技巧,帮助用户快速恢复系统启动。

milk8的博客 785

K210开发板学习笔记(三)——STM32+K210+SD卡实现人脸识别(完整K210代码)

更新日记:2022年4月26日 更新了串口通信部分的内容,本文写的略为粗糙,恐有不当之处,希望大家不吝赐教。 人脸识别 一、MaixPy IDE开发 参考博主晨少hc的博文(https://blog.youkuaiyun.com/HuangChen666/article/details/113995079)来实现人脸识别功能,我用的硬件是亚博智能的K210开发板,在配置工程中有几步和这个博主的不一样,需要注意。 所需要的文件有:模型文件),脚本文件,ide需要的bin文件...

Embedded learner的博客 4万+

UDS诊断实战:一文搞懂DTCFormatIdentifier,别再混淆0x00和0x04了

本文深入解析UDS诊断中的DTCFormatIdentifier,详细对比0x00和0x04格式的差异与应用场景,帮助工程师避免常见混淆问题。通过实际案例和工具链集成指南,提升诊断协议ISO14229-1的实践能力,确保故障码解析的准确性。

weixin_26763955的博客 392

OpenClaw界面操作手册:命令行与交互模式的正确打开方式

"test": {"description": "运行项目的测试套件","prompt": "请执行项目的测试命令,并分析测试结果。如果有失败的测试,请提供修复建议。},"lint": {"description": "运行代码检查","prompt": "请运行代码检查工具,分析所有警告和错误,并提供修复建议。},"doc": {"description": "为当前文件生成文档","prompt": "请为当前打开的文件生成完整的API文档,包括函数说明、参数描述、返回值类型和使用示例。

gaoxiang_120的专栏 3148

Modbus(功能码 0x01,0x02,0x03,0x04)发送与接收报文结构

1.线圈类 (0x01, 0x02):数据区是紧凑型的,8个状态挤在1个字节里按位传输。2.寄存器类 (0x03, 0x04):数据区是宽松型的,每个数据稳稳占用2个字节(高字节在前)。只要记住了“功能码定类型,字节数定长短,CRC收尾”这个心法,以后你在抓包调试 Modbus 通信时,一眼就能看穿那一串十六进制码到底在传达什么物理意义了!

qq_43089552的博客 610

Python之achatbot包语法、参数和实际应用案例

本书是一本PyTorch深度学习实战指南,分为基础(前6章)和进阶(后5章)两大部分。基础部分涵盖张量运算、神经网络、数据预处理及CNN等核心内容;进阶部分则深入图像、文本、音频建模技术,重点解析Transformer架构及大语言模型开发。全书采用"理论+实践"模式,适合从零基础到进阶的PyTorch学习者。

王国平的博客 632

秋招突击——笔试整理——8/25——拼多多笔试整理

继续加油! 转变思维,有简单到复杂,由直观到抽象,这种贪心模拟的题目一直是这样的!

Blackoutdragon的博客 2402

c 语言0x%04x,学PE 遇到的问题。

该楼层疑似违规已被系统折叠隐藏此楼查看此楼刚好之前有写过这东西 ... 放段代码 ...void PeinfoWindow::ShowPeBaseInfo (wxString& FileName){static PCHAR pMemory;pMemory = _SharedCounter::pMemory;/* IMAGE_DOS_HEADER Check */if (*(PWORD)p...

weixin_34487462的博客 1411

深度学习工具包 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")

【UDS诊断】——0x19 04

文章目录一、服务概述二、报文1.请求报文定义2.肯定响应3.报文讲解3.1格式及内容3.2举例 19服务作用是允许外部诊断仪(Client)通过该服务读取存储在ECU芯片内的故障码(DTC)状态信息 一、服务概述 为了方便找到故障的原因,在对应故障发生时,ECU端要记录发生故障时的快照信息;而04服务就是用于请求指定故障码(DTC)的快照信息,通过查找故障发生时刻的这些数据,来分析故障原因。DTC快照信息的典型用法是检测到系统故障时,存储当前环境信息,比如记录故障发生时的车速,发动机转速,发生时间等。该功能

LOVE135149的博客 2万+

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

【UDS诊断】——0x34、0x36、0x37服务

Client端使用Routine Control服务来执行定义的步骤序列并获取特定序列的相关结果。该服务有极大的灵活性。Service31的典型用途可以包括擦除内存、重置定义的数据、覆盖正常服务控制策略以及控制ECU值随时间变化的功能。通过Service31可以启动特定序列、停止运行该特定序列、请求运行结果。该服务以往常用于ECU在做Software Update时,应用于检查刷写条件是否满足、传输数据完整性以及独立性检测。

LOVE135149的博客 6100

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

0x19服务04子服务实例分析

0x19服务04子服务实例分析 去发现同类优质开源项目:https://gitcode.com/ 资源文件介绍 文件名 0x19服务04子服务实例分析(14229-1).docx 文件描述 本资源文件详细解析了0x19服务的子服务0x04,并通过实例说明了客户端和ECU之间如何进行数据收发。虽然例子较少,但重点在于透彻理解该服务的具体应用和实现细节。 内容概述 0x19服务概述 0x19服务是诊断...

gitblog_06677的博客 419
上一篇: 【算法竞赛进阶指南】学习笔记
下一篇: 0x04 相关习题
juruo_c
博客等级 码龄6年 520粉丝 116原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值