B - 反正切函数的应用解题报告(贺奕凯)

PMSM无感foc控制(滑模-反正切-PLL)【仿真模型搭建教程】(附模型) 本文主要目的是教大家如何把文献中的公式转换成仿真模型。 首先介绍滑模控制的原理及如何搭建simulink模型。 1.1基于反电势估计位置原理 永磁同步电机在静止坐标系αβ下的电压方程: 扩展反电动势包含转子位置信息,并且αβ轴下扩展反电动势的反正切函数正好就等于位置角theta。 1.2 滑模控制原理(比较重要的点是以电机电流模型推导展开) 通过滑模观测得到鲁棒性比较高的αβ轴下扩展反电动势,并求其反正切函数,得到位置信息。 /*********************... 阅读详情

B - 反正切函数的应用
Time Limit:1000MS     Memory Limit:10000KB     64bit IO Format:%I64d & %I64u

Description

反正切函数可展开成无穷级数,有如下公式 

(其中0 <= x <= 1) 公式(1) 

使用反正切函数计算PI是一种常用的方法。例如,最简单的计算PI的方法: 

PI=4arctan(1)=4(1-1/3+1/5-1/7+1/9-1/11+...) 公式(2) 

然而,这种方法的效率很低,但我们可以根据角度和的正切函数公式: 

tan(a+b)=[tan(a)+tan(b)]/[1-tan(a)*tan(b)] 公式(3) 

通过简单的变换得到: 

arctan(p)+arctan(q)=arctan[(p+q)/(1-pq)] 公式(4) 

利用这个公式,令p=1/2,q=1/3,则(p+q)/(1-pq)=1,有 

arctan(1/2)+arctan(1/3)=arctan[(1/2+1/3)/(1-1/2*1/3)]=arctan(1) 

使用1/2和1/3的反正切来计算arctan(1),速度就快多了。 
我们将公式(4)写成如下形式 

arctan(1/a)=arctan(1/b)+arctan(1/c) 

其中a,b和c均为正整数。 

我们的问题是:对于每一个给定的a(1 <= a <= 60000),求b+c的值。我们保证对于任意的a都存在整数解。如果有多个解,要求你给出b+c最小的解。 

Input

输入文件中只有一个正整数a,其中 1 <= a <= 60000。

Output

输出文件中只有一个整数,为 b+c 的值。

Sample Input

1

Sample Output

5

题目链接:http://poj.org/problem?id=1183
算法类型:数论
解题思路:先把a和b全部带入,用消元法消去b,然式子之和a有关,然后根据基本不等式的性质,a从大到小依次枚举,得到结果。
算法实现:


#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{
	__int64 a;
	while(scanf("%I64d",&a)!=EOF)
	{
		__int64 m,n;
		for(m=a;m>=1;m--)
		{
			if((a*a+1)%m==0)
			{
				n=(a*a+1)/m;
				break;
			}
		}
		printf("%I64d\n",2*a+m+n);
	}
	return 0;
}




FOC电机ST系列处理器使用的基础学习笔记 ST公司开源了STM32相关的FOC控制代码,通过其MotoControl Workbench 选择对应的开发板和电机板可以快速的生成FOC控制代码。 总体描述 生成的代码主要有下面结果部分: 1.Application/MDK-ARM 是ARM的启动代码。 2.Application/User主要是用户代码。 3.Drivers/STM32G*** 是驱动部分代码。 4.Drivers/CMSIS应该是ARMCortex-M系列IP的硬件抽象标准,Common Microcontroller Softw 阅读详情

相关推荐

反正切函数arctanx的应用

本文主要介绍反正切函数的相关知识,包括反正切函数的实现原理,和正弦或者余弦函数的关系,还介绍了反正切函数在实际项目中的应用。

mftang的博客 1万+

(POJ 1183)反正切函数的应用

反正切函数的应用 Description反正切函数可展开成无穷级数,有如下公式 (其中0 使用反正切函数计算PI是一种常用的方法。例如,最简单的计算PI的方法: arctan(1/2)+arctan(1/3)=arctan[(1/2

accode的专栏 1131

采用Cordic算法求解atan反正切角度

在无感FOC控制中,求解转子位置,可能会用到atan,如果直接运用反三角函数求解,运算量大,效率低。这里介绍一种Cordic数字迭代算法来快速求解反正切。 1、Cordic算法介绍 1.1、坐标平面的旋转 在下面的x y平面坐标上有两个点(x1,y1),(x2,y2),他和原点组成的向量模长相等都为R。向量一与x轴的夹角为α,向量二可由向量一逆时针旋转θ角度得到。 那么x2,y2和x1,y1的关系如下: 1.2、伪旋转 1.3、反正切角度求取 前面讲了那么多,现在讲下到底atan角度怎么求。 如果我

wanrenqi的博客 9462

CORDIC算法 arctan反正切计算原理及C语言定点实现

之前做FOC算法的时候,用到了TLV493D磁传感芯片通过两个相差90°的正弦曲线计算角度,所以需要计算arctan的值。这里就基于CORDIC(坐标旋转数字计算方法,Coordinate Rotation Digital Computer)理论,实现一种arctan的定点计算方法。 一、原理 坐标旋转 与FOC中的Park变换原理相同,CORDIC也是通过旋转坐标轴来求解反正切值的。 如果去掉cosθ,这样不会影响角度旋转的结果,只是x和y都被缩小了cosθ,这样能简化计算,这称为伪旋

主要分享嵌入式软件、人工智能部分知识 1万+

Matlab:常见涡旋光束仿真

代码: clc clear all close all %% 环形涡旋光束 N = 200; lambda = 632e-9; %波长为632nm k = 2*pi/lambda; %波数 w0 = 3; %束腰半径 x = linspace(-10,10,N); y = linspace(-10,10,N); [X,Y] = meshgrid(x,y); [t...

zzz997的博客 3万+

解锁 STP 与 SOLIDWORKS 转换密码:工具及迪威在线转换秘籍

STP 文件能够完整地记录 3D 模型的几何形状、尺寸、公差、材料属性等丰富信息,无论是简单的机械零件,还是复杂的装配体,都能精准呈现。而在线转换以迪威模型为例,凭借便捷性、高效性和安全性,为广大 3D 专业技术人员和学生党在无需安装额外软件的情况下,轻松实现格式转换提供了有力支持。在实际工作和学习中,可根据自身具体情况灵活选择合适的转换方式,以确保 3D 设计工作流程的顺畅进行,让创意在不同格式间自由流动并绽放光彩。在 3D 设计与建模的广袤世界里,不同格式文件间的转换常常是连接创意与实现的关键桥梁。

技术说明博主 3444

利用反正切函数展开计算∏的近似值

当x = 1时,arctan(x)的值即为∏/4的近似值#include <iostream> #include <cmath> using namespace std; int main() { double x, i, a, sum = 0; cout << "请输入正切值: " << endl; cin >> x; i = 1; a = x; w

David's Notes 5497

STM32F407控制舵机

STM32F407控制舵机运行 使用STM32F407控制舵机,首先来看下舵机图片 [黑红白,黑线接GND,红线接VCC,信号线接白色线(有的舵机线的颜色不同,例如褐色红色橘色,仅颜色不同接法还如上述)] 舵机需要信号的周期为20ms,即频率为50Hz。 接下来正式操作: 步骤一:STM32F4程序(本次程序的PWM信号产生的周期频率由定时器TIM14通道1产生(TIM14_CH1),想要使用其它定时器也没关系下面会讲到) #include "pwm.h" void TIM14_CH1_PWM_In

Ievn_Hare的博客 1万+

【电机控制】PMSM无感FOC控制(八)锁相环(PLL)的应用

介绍了锁相环在滑模观测器中的应用。滑膜观测器由于变结构系统因为自身的机理,在控制系统到达滑动平面时会产生抖振现象,使得反电动势这一观测量也存在高频抖振,直接通过简单的数值运算提取转子角度和速度的话,会将反电动势中的抖振引入到数值计算中,致使转子估计速度及位置也同样存在抖振,从而使得估计误差较大。为了消除滑膜观测器的抖振,实际应用中通常会把滑模观测器与锁相环结合起来使用,从而达到观测器估算转子转速的目的。

liuxiaofeng的博客 1万+

STorM BGC V1.31硬件+SimpleBGC固件:从零搭建三轴云台开发环境(Keil+JLink避坑指南)

本文详细介绍了如何从零搭建STorM BGC V1.31硬件+SimpleBGC固件的三轴云台开发环境,涵盖硬件连接、Keil+JLink开发工具配置、固件编译与烧录等关键步骤,并提供了常见问题的解决方案和调试技巧,帮助开发者快速上手三轴云台开发。

weixin_28693683的博客 380

基于 STM32 设计的 HC05 蓝牙音箱

本项目介绍如何使用 STM32 微控制器和 HC05 蓝牙模块设计一个简单的蓝牙音箱。该音箱可以接收来自手机或其他蓝牙设备的音频数据,并通过扬声器播放。该项目展示了如何使用 STM32 微控制器和 HC05 蓝牙模块设计一个简单的蓝牙音箱。易于实现功能实用可扩展性强如果您需要开发一个蓝牙音箱,该项目可以作为参考。

走向CTO的路上... 2470

stm32 滑膜观测器+PLL 锁相环 FOC 无感无刷电机控制

用锁相环控制系统替代串通的滑模观测器系统,通过滑模增益和反电动势的估算来减小系统误差与抖动,并根据锁相环控制系统推导出转角和转速公式,通过搭建的仿真模型可以看出,在PLL滑模观测器转速突变的情况下,能及时快速跟踪电机的实际转速和转角变化,通过PLL的滑模观测器比反正切的控制方法精准度更高,动态性能更好以及鲁棒性更强,可以满足电机实际控制性能的要求。上一期为大家介绍了滑膜观测器正反切的应用案例,收到不少小伙伴的反馈是否有PLL的案例,大概看了一下网上的资料,讲理论的很多,能转化成源码的几乎没有。

richardgann的博客 1万+

【毕设救星】从0到1打造YOLOv8货架商品检测与可视化系统,让你的毕设脱颖而出

本文介绍了一个基于YOLOv8的货架商品检测系统毕设项目。系统采用YOLOv8模型进行商品检测,包含环境搭建、数据集准备、模型训练与验证等完整流程,并开发了可视化UI界面。项目聚焦智能零售应用场景,技术栈完整且易于实现,适合作为计算机视觉方向的毕业设计。文章详细指导了从数据标注、模型训练到界面开发的全过程,提供代码示例和实用建议,帮助学生快速完成毕设并提升答辩表现。

LXY_LOVE36的博客 103

FOC 控制笔记【二】无感控制、滑膜观测器和 PLL

最后根据反正切函数计算出角度。

nullccc的博客 6596

手把手教你学Simulink--双足机器人的反步控制方法仿真

本文介绍了在Simulink中基于反步控制方法进行双足机器人仿真研究的步骤。主要内容包括:1)准备工作,包括MATLAB/Simulink安装和相关工具箱配置;2)构建简化双足机器人模型;3)设计反步控制器,阐述其递归设计原理及Lyapunov函数构造方法;4)通过MATLAB Function块实现控制逻辑并连接模型;5)仿真参数配置和结果分析。文章强调反步控制适用于非线性系统,通过逐步构造虚拟控制律保证系统稳定性,并指出需要多次调试和查阅文献来优化控制效果。该教程为研究双足机器人运动控制提供了实用的仿真

MHD0815的博客 151

Python 实现生命游戏及进化模拟完整指南

生命模拟是进化计算的一个特定子集,模拟了自然界中所观察到的自然过程,例如粒子或鸟群的聚集方式。生命模拟只是用来探索和优化问题的模拟形式之一,还有很多其他形式的模拟,可以更好地建模各种过程,但它们都源于康威生命游戏 (Conway’s Game of Life)。在本节中,我们将介绍生命模拟的基本概念,并使用 Python 实现康威生命游戏。

盼小辉丶的博客 7万+

atan2反正切快速近似算法

“` C float atan2( float y, float x ); C Computes the arc tangent of y/x using the signs of arguments to determine the correct quadrant. 结果的取值范围是[-PI, PI] 快速近似版本: ”’C

ubunfans的专栏 1万+

Camera2Demo

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

FOC之PLL锁相环

锁相环PLL: 为了对基准信号与反馈信号进行频率比较,二者的相位必须相同且锁住,任何时间都不能改变,这样才能方便的比较频率,所以叫锁相(Phase Locked) 为了快速稳定输出系统,整个系统加入反馈成为闭环,所以叫环(Loop) FOC中的锁相环: eα、eβ为反向电动势,ωr为转子角速度,θr 为转子位置角。 FOC中锁相环的作用: ...

ShawnChan的博客 2万+

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

三角函数快速算法(反正切,正余弦,开平方)

2010-09-08 09:14:27|  分类: 默认分类 |  标签: |字号大中小 订阅 #define REAL   float #define TAN_MAP_RES     0.003921569     /* (smallest non-zero value in table) */ #define RAD_PER_DEG     0.017

zht9961020的专栏 1万+

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

反正切函数的应用

反正切函数可展开成无穷级数,有如下公式 (其中0 <= x <= 1) 公式(1) 使用反正切函数计算PI是一种常用的方法。例如,最简单的计算PI的方法: PI=4arctan(1)=4(1-1/3+1/5-1/7+1/9-1/11+...) 公式(2) 然而,这种方法的效率很低,但我们可以根据角度和的正切函数公式: tan(a+b)=[tan(a)+tan(b)]/[1-t...

weixin_44313771的博客 1703

欧拉是如何计算圆周率的

从牛顿时代以后,计算圆周率就不是必要的工作了,而是一种消遣。牛顿计算的时候,用的是面积法,或者反正弦函数的多项式展开。 欧拉也用一种展开式,反正切的展开式。但是,很独特,与现在常用的反正切大为不同。现在常用的反正切展开式是: 反正切的一种展开 这个公式在欧拉出生前就存在了,为什么呢?据我考证,欧拉出生于1707年,马青发现马青公式的年份是1706年。马青早就把圆周率计算超过了100位。马...

不二的博客 7205

cordic算法反正切c语言,Cordic 算法之 反正切

在通信的算法中,常采用Cordic算法之一,知道角度产生正交的的正弦余弦,或者知道正弦和余弦求角度,求反正切。1. 求正弦和余弦值。方法:旋转角度,得到正弦余弦值; 再旋转角度,到达下一个正弦余弦值;直到旋转的角度趋近于 0 ,不能再进行旋转。把每次旋转的坐标的x,Y轴的值各自相加,即得到为该角度的正弦和余弦值。2 .求反正切:Angle = artan(y/x)。方法: 及给定x,y 的坐标...

weixin_42504327的博客 3278

poj 1183 反正切函数的应用

反正切函数可展开成无穷级数,有如下公式 (其中0 <= x <= 1) 公式(1) 使用反正切函数计算PI是一种常用的方法。例如,最简单的计算PI的方法: PI=4arctan(1)=4(1-1/3+1/5-1/7+1/9-1/11+...) 公式(2) 然而,这种方法的效率很低,但我们可以根据角度和的正切函数公式: tan(a+b)=[tan(a)+tan(b)]/[1-tan(a)*tan(b)

温文尔雅 463

反正切函数 数学提高

描述反正切函数可展开成无穷级数,有如下公式使用反正切函数计算 是一种常用的方法。例如,最简单的计算 的方法:通过简单的变换得到:利用这个公式,令 p=21​,q=31​,则 1−pqp+q​=1,有我们将公式 4 写成如下形式其中 a,b,c∈N+。我们的问题是:对于每一个给定的 a,求 b+c 的值。我们保证对于任意的 a 都存在整数解。如果有多个解,要求你给出 b+c 最小的解。输入描述输入文件中只有一个正整数 a。输出描述输出文件中只有一个整数,为 b+c 的值。

YYX_YYJ的博客 1049

FOC学习笔记(7)锁相环(PLL)原理及其在电机控制中的应用

在电机无传感器控制(Sensorless Control)中,PLL用于从滑模观测器(SMO)或反电动势(Back-EMF)信号中提取转子位置和转速信息。在滑模观测器(SMO)或龙伯格观测器(Luenberger Observer)中,反电动势(Back-EMF)的估计值(Êα, Êβ)包含转子位置信息。PLL的输入是反电动势估计值(Êα, Êβ),输出是估计角度(θ̂)。在数字PLL(如电机控制中的实现)中,VCO通常由积分器替代,输出相位信号。:比较输入信号和反馈信号的相位差,输出误差信号。

yasdasdp的博客 3415

python反三角函数arctan_arctan()函数的查表算法

目标:实现反正切函数的查表算法,精度0.5°。分析:f(x) = arctan(x)函数单调但非线性,越接近原点处,斜率越大。90°比较特殊,其值为正无穷大,只要得到的正切值tana大于114.59(89.5度对应的正切值),就可以认为是90度。假如0-89.5°用一个查找表实现,索引为正切值,值为角度值。tan89.5为115,假如用N点uint16_t型查找表,需要保证arctan(115 /...

weixin_39593744的博客 3893
上一篇: G - The Fun Number System解题报告(贺奕凯)
下一篇: C - Binary Stirling Numbers解题报告(来自网络)
CSUST_ACM
博客等级 码龄15年 42粉丝 127原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值