4 常用math函数|Ch2 C\C++|算法笔记

MATH36022 Numerical Analysis 2 Numerical Solution of ODEs – Week 9 Exercises 英国曼大NA第二学期考前习题答案 阅读详情

需添加math.h头文件。

function namedescription
fabs(double x)取绝对值
floor(double x)/ceil(double)向下取整/向上取整
pow(double r, double p)rpr^prp
sqrt(double x)double型的算术平方根
log(double x)以自然对数为底的对数
sin(double x)/cos(double x)/tan(double x)正弦/余弦/正切值,参数为弧度制
asin(double x)/acos(double x)/atan(double x)反正弦/余弦/正切值
round(doubel x)四舍五入

PS:需要用换底公式来求不以e为底的对数logab=logeb/logealog_ab=log_eb/log_ealoga​b=loge​b/loge​a。

YOLO26改进:CoT模块与C3k2优化实战 目标检测是计算机视觉的核心任务之一,YOLO系列因其高效的实时检测能力被广泛应用。本文深入解析如何通过Contextual Transformer(CoT)模块和C3k2结构优化YOLO26模型。CoT创新性地融合静态卷积与动态注意力机制,有效提升小目标检测精度;而C3k2模块通过改进特征融合方式增强模型表达能力。这两种改进在VisDrone数据集上分别带来3.2%和1.8%的mAP提升,计算开销仅增加15%和5%。特别适用于无人机航拍、自动驾驶等需要处理复杂场景的视觉任务,为实时目标检测系统提供了新的优化 阅读详情

相关推荐

H7-TOOL LUA脚本编程:电压、电流、NTC与4-20mA模拟量采集全解析

数据采集是嵌入式开发与工业监控中的基础环节,其核心在于将物理世界的连续模拟信号(如电压、电流、温度)转换为可被微处理器处理的数字信号。这一过程依赖于模数转换器(ADC)与信号调理电路,其技术价值在于实现高精度、多参数的实时监测,广泛应用于设备调试、功耗分析和环境传感等场景。本文聚焦于H7-TOOL这一多功能工具,深入探讨如何利用其内置的**高性能ADC**和灵活的**LUA脚本编程**接口,高效实现电压、电流、NTC热敏电阻以及工业标准4-20mA信号的采集、处理与系统集成,为工程师提供一套从硬件原理到软件

weixin_33722405的博客 366

算法笔记——C/C++语言基础篇(已完结)

开始系统学习算法,希望自己能够坚持下去,期间会把常用到的算法写进此博客,便于以后复习,同时希望能够给初学者提供一定的帮助,手敲难免存在错误,欢迎评论指正,共同学习。博客也可能会引用别人写的代码,如有引用,定会注明。本博客内容主要按照算法笔记内容进行学习。(2018-12-03) 1.万能头文件 #include<bits/stdc++.h> using namespac...

weixin_30437481的博客 397

CH340/CH341 安卓USB Host模式3大常见问题排查:OTG、权限、驱动

本文详细解析了CH340/CH341在安卓USB Host模式开发中的三大核心问题:OTG配置、权限获取与驱动兼容性。通过硬件检查、权限动态请求及驱动层解决方案,提供从基础配置到数据收发的完整指南,帮助开发者高效实现USB转串口通信。

430

C标准库数学计算与文件操作深度解析:从math.h到io.h的实战指南

在C语言编程中,标准库函数是连接应用程序与操作系统底层功能的核心桥梁,其设计哲学深刻影响着代码的性能与健壮性。理解其原理,首先要掌握浮点数处理与错误检测机制,这直接关系到数值计算的精度与稳定性。现代C库通过fpclassify等分类宏进行高效错误检查,替代了传统的errno方式,提升了多线程环境下的安全性。在文件系统交互层面,目录遍历与二进制文件处理是系统编程的常见需求,涉及平台相关的API调用与可移植性设计。这些技术共同支撑了高性能数值计算核心与高效系统工具的构建。本文聚焦于math.h数学函数库的浮点数

weixin_34364071的博客 298

Math-To-Manim 生成公式动画

Math-To-Manim 生成傅里叶级别动画

jacke121的专栏 113

寻迹Arduino智能小车

Arduino巡线寻迹智能小车

Rachael_Wang的博客 9982

Fundamental of Computer Graphics Note ch2 - Miscellaneous Math

Computer Graphics

习惯就好zz的专栏 274

IC 时钟设计核心问题与高质量系统设计指南(附源码)

本文深入探讨了IC时钟设计的核心问题与高质量系统设计方法。时钟系统作为IC的"心脏",其性能直接影响时序稳定性、功耗效率和可靠性。文章从五个维度展开分析:时钟源选择与性能匹配、时钟分配网络设计、抖动抑制、多时钟域管理和功耗优化。针对高质量时钟系统设计,提出了时钟源优化、时钟树结构优化、干扰抑制与仿真验证等具体方法。同时,系统阐述了时钟与复位的协同设计关系,强调异步复位同步释放等技术的重要性。文章还总结了高质量IC系统设计的综合要点,包括电源/信号完整性、时序功耗平衡、可靠性设计及全流程验

Open 1060

【C语言入门】函数详解

本文介绍了C语言中函数的基本概念与分类,包括库函数和自定义函数的定义与使用方法。库函数是标准提供的功能函数,使用时需包含对应头文件;自定义函数则由程序员根据需求自行设计。文章详细讲解了函数的结构、形参与实参的区别,并通过代码示例展示了函数的具体应用。

weixin_45084469的博客 273

YOLOv11改进 | 检测头篇 | 利用动态蛇形卷积DySnakeConv改进yolov11分割检测头(全网独家首发,Segment)

本文给大家带来的最新改进机制是一种我进行优化的专用于分割的检测头,在分割的过程中,最困难的无非就是边缘的检测,动态蛇形卷积(Dynamic Snake Convolution)通过自适应地聚焦于细长和迂回的局部结构,准确地捕捉管状结构的特征。这种卷积方法的核心思想是,通过动态形状的卷积核来增强感知能力,针对管状结构的特征提取进行优化,所以将这个卷积针对于YOLOv11的分割头进行融合是非常合适的,当然本文的检测头也支持用于目标检测,但是我将其设计出来是主要为了分割的读者使用的。

Snu77的博客 3429

RK3568平台(网络篇)WIFI模块RTL8821CU调试

RTL8821CU是瑞昱半导体推出的usb接口的wifi,下面的教程将介绍如何将RTL8821CU移植到rk3588的平台上。移植usb wifi需要修改的文件Android hal层需要修改的文件//kernel需要修改的文件kernel/arch/arm64/boot/dts/rockchip/rk3399-tve1030g.dtsi //除去板上的sdio的wifi。

weixin_49303682的博客 3903

第七篇:C 语言数组全面解析与经典练习实战

本文深入讲解 C 语言数组知识,包括基础概念、一二维数组操作、C99 变长数组,附字符汇聚、二分查找等经典练习及代码实现。

2401_86187158的博客 1310

Open3D 可视化(1)——简单可视化【2026最新版】

简单可视化,博客长期更新,本文最新更新时间为:2026年5月10日。

点云侠的博客 5684

【c语言】1.5 预处理、函数、函数库全讲解

客户拿到.a和.h文件后,通过.h头文件得知库中的库函数的原型,然后在自己的.c文件中直接调用这些库文件,在连接的时候链接器会去.a文件中拿出被调用的那个函数的编译后的.o二进制代码段链接进去形成最终的可执行程序。sqrt本来是库函数,在编译器库中是有.a和.so链接库的(函数体在链接库中的),因为是不常用库,加一个 -lm告诉链接器去libm中查找用到的函数 (gcc 6.10.math.c -lm 就不会报错了) ldd a.out 显示用到了那些函数库。函数运行完毕会释放占用的资源。

m0_61768887的博客 594

cesium单向流动线效果

在学材质的路上一去不复返了属实是,难也难在这。还请各位大佬多多指教~

就zhei? 689

【制作100个unity游戏之22】3DRPG游戏开发01——项目的设置和导入及渲染管线的安装修复

如果你现在存在一些疑惑unity导入素材为什么是粉紫色的?表示他没有适配我们的URP通用渲染管线,要如何适配呢?素材渲染错误丢失要如何解决?如果你有上面3个任意的问题,那这篇文章同样适合你,我将手把手教你如何安装修复渲染管线,看完你就了解了!在Unity中,他们都是渲染管线,它们的主要区别在于性能和功能。LWRP是早期版本的URP,它专门为移动设备和低端PC设计,旨在提供更高的性能。它使用基于顶点的光照和简化的后处理效果,可以在更低的硬件要求下运行。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 2428

在CH558T单片机上移植BASIC-52解释器:复古编程与现代硬件的融合实践

解释型语言是计算机编程中的重要概念,它允许程序在运行时逐行解析和执行源代码,无需预先编译。其核心原理在于通过解释器实时翻译并执行指令,这种即时反馈的特性在嵌入式系统和教育领域具有独特的技术价值。在单片机开发中,解释型语言能显著降低学习门槛,提供直观的交互式编程体验。BASIC语言作为经典的入门级解释型语言,以其简洁语法和硬件操作能力,广泛应用于嵌入式控制、教学演示和快速原型开发等场景。本文聚焦于将复古的BASIC-52解释器移植到基于增强型51内核的CH558T单片机,通过构建硬件抽象层和优化内存管理,实现

weixin_30326515的博客 407

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

JAVA 常用API学习笔记

本文总结了Java API学习笔记中的基础概念和常用工具类,主要包括以下内容: 基础概念:API即JDK提供的所有类和接口,可分为工具类、字符串相关、包装类&大数&根父类、时间API四大模块。 工具类: Math类:提供数学运算方法如绝对值、取整、幂运算、随机数生成等 System类:包含系统相关方法如exit终止虚拟机、currentTimeMillis获取时间戳、arraycopy数组复制 Objects类:提供对象操作如equals安全比较、isNull/nonNull判空 Runtime类:表示Ja

m0_75052952的博客 241

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

C语言函数设计实战:从奇数和习题到工程化编程

函数是编程语言中实现代码复用和模块化的核心概念,其本质是将特定功能封装为独立的代码单元。在C语言中,函数设计遵循输入、处理、输出的基本逻辑,通过参数传递数据,利用返回值输出结果。掌握函数设计不仅能提升代码的可读性和可维护性,更是实现复杂软件系统的基石。在实际工程中,函数设计需兼顾可测试性、健壮性和可复用性,例如通过分离输入输出与核心计算逻辑来降低耦合。本文以一道经典的“求奇数和”习题为切入点,深入探讨了**函数设计**与**参数传递**的关键技术细节,展示了如何从简单的习题过渡到符合工程实践的高质量代码实现

weixin_33796177的博客 371

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

用Shader让图片中的3D圆环转起来:原理、代码与优化

着色器编程是图形开发中实现高性能动态视觉的核心技术之一,它允许开发者直接在GPU上逐像素计算颜色,从而在静态图片上生成逼真的立体效果。借助GLSL语言与片元着色器,我们可以利用距离场思想在UV坐标系中精确绘制圆环区域,并通过极坐标角度计算光照方向。引入时间变量后,光影和几何坐标能够随时间变化,使二维图像产生三维旋转的视觉错觉——这正是伪3D动画的常见实现方式。这种技术不仅适用于Cocos、Unity等游戏引擎的UI特效,也可用于Web端动态背景和加载动画,无需额外美术资源即可获得流畅的旋转圆环效果。本文从基

weixin_34221276的博客 519

Java基础:常用类(四)

Java的类库(也称为Java API)非常庞大和丰富,它包含了大量用于处理各种常见编程任务的类和接口,包括字符串处理、基础数据类型包装类、数学计算、日期时间、正则表达式等。

文优 958

Djisktra,A*,混合A*算法【详解】

Djisktra算法是从一个顶点到其余各顶点的最短路径算法,节点边是有各自不同的权重,但都必须是正数,如果有负数,就需要用则需要Bellman-Ford算法了,如果想要求任意两点之间的最短路径,那就需要用Floyd算法。Djisktra算法的示意图如下,从0到4规划最短路径,规划算法如下, 1、每次从未标记的节点中选择距离出发点最近的节点,标记,收录到最优路径集合中, 2、计算刚加入节点A的邻近节点B的距离(不包含标记的节点),若(节点A的距离+节点A到节点B的边长)<节点B的距离,就更新节点B的距离和前面

qq_23022733的博客 758

C语言期末考试应急指南

本文摘要: C语言基础速查手册,涵盖程序结构、数据类型、运算符等核心内容。主要包括:1) 最小程序结构(main函数框架)和编译流程(预处理、编译、汇编、链接);2) 基本数据类型(整型、浮点型等)及其修饰符,变量声明与初始化方法;3) 常量的多种表示方式(整型、浮点、字符、字符串)及转义字符;4) 运算符分类(算术、关系、逻辑等)和使用要点。手册采用表格形式呈现关键知识点,如数据类型大小、格式化符号、运算符优先级等,便于快速查阅。特别强调C语言特性:面向过程、弱类型检查、手动内存管理等,适合初学者快速掌握

qq_38856191的博客 1980

写给三弟的 C语言编程 快速入门

三弟,你要的C语言快速入门,已整理好 请接收。

码刀攻城 3930

python笔记

my_name='陈志隆'print('luck_number的数据类型是',type(luck_number))# python 可以动态修改变量的数据类型 通过赋不同类型的值,就可以修改luck_number='北京欢迎你'# python中允许多个变量指向同一个值运行后输出如下:D:\Anaconda\envs\run\python.exe D:\Pycharm\Project\Basic\示例3-3变量的定义和使用.pyluck_number的数据类型是 <class 'int'>

weixin_55944609的博客 137
上一篇: 3 输入输出|Ch2 C/C++|算法笔记
下一篇: 5 switch|Ch2 C\C++|算法笔记
PearlyWave
博客等级 码龄8年 8粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值