科研踩坑:角度制三角函数求导要乘上π/180
写在前面
用MATLAB作图,查看其曲线和求导曲线是否和教材相一致,其中用了sin求导(角度制),以一个函数为例:
y=Csind(x)y=\frac{C}{sind(x)}y=sind(x)C
(sind(x)是以角度为单位后同),然后对它进行求导:
dydx=−C⋅cosd(x)(sind(x))2=−y⋅cosd(x)sind(x)=−y⋅cotd(x)\frac{dy}{dx}=-\frac{C\cdot cosd(x)}{(sind(x))^2}=-\frac{y\cdot cosd(x)}{sind(x)}=-y\cdot cotd(x)dxdy=−(sind(x))2C⋅cosd(x)=−sind(x)y⋅cosd(x)=−y⋅cotd(x)
y=1sind(x)y=\frac{1}{sind(x)}y=sind(x)1是单调递减函数,教材的图应该是对他进行了取绝对值的操作(要不原来是个负数),也即:
∣dydx∣=y⋅cotd(x)|\frac{dy}{dx}|=y\cdot cotd(x)∣dxdy∣=y⋅cotd(x)
编写下面的代码
clear
close all
pm_theta_half=8:0.1:28;
pm_lambda_B0=1.9;
pm_constant=0.2644;
pm_lambda_B = pm_constant./sind(pm_theta_half);
dif_pm_lambda_theta_num=abs((diff(pm_lambda_B))./(diff(pm_theta_half)));
dif_pm_lambda_theta_cal=pm_lambda_B.*cotd(pm_theta_half);
colororder({'[0.2,0.5,0.7]','[0.17 0.31 0.16]'})
yyaxis left
plot(pm_theta_half,pm_lambda_B,...'LineWidth',3, ...'Color',[0.2,0.5,0.7]);ylabel('Bragg wavelength, \mum','FontSize',14);yyaxis right
plot(pm_theta_half(1,1:end-1),dif_pm_lambda_theta_num, ...'-.',... 'LineWidth',3, ..."Color",[0.17 0.31 0.16])
hold on;
scatter(pm_theta_half,dif_pm_lambda_theta_cal);
xlabel('Angle, \theta/2, degrees','FontSize',14)
ylabel('\Delta \lambda_b/degree \mum/deg','FontSize',14);
xaxis(8,28);
xticks(linspace(8,28,11))
ax = gca;
ax.FontSize = 14;
但是发现用离散求导和实际求导差很大,(绿色画圈的是求导计算式的值(不符合实际,范围和教材的图差别很大),点划线是离散求导的值(符合实际,范围和教材的图大致一样))。
利用MATLAB自带的diff函数进行求解,终于找到了问题的所在!
syms x C
f=C/sind(x);
df1=diff(f,x,1)
经过求解如下:
角度制的三角函数求导时要化成弧度制再进行求导!(国际单位rad!!!)我们再进行一次求导:
dydx=d(Csind(x))dx=Csin(π⋅x/180)dx=−C⋅cos(π⋅x/180)(sin(π⋅x/180))2⋅π180=−y⋅cos(π⋅x/180)sin(π⋅x/180)⋅π180=−y⋅cot(π⋅x180)⋅π180=−y⋅cotd(x)⋅π180\frac{dy}{dx}=\frac{d(\frac{C}{sind(x)})}{dx}=\frac{\frac{C}{sin(\pi\cdot x/180)}}{dx}=-\frac{C\cdot cos(\pi \cdot x/180)}{(sin(\pi \cdot x/180))^2}\cdot \frac{\pi}{180}=-\frac{y\cdot cos(\pi \cdot x/180)}{sin(\pi \cdot x/180)}\cdot \frac{\pi}{180}=-y\cdot cot(\frac{\pi \cdot x}{180})\cdot \frac{\pi}{180}=-y\cdot cotd(x)\cdot \frac{\pi}{180}dxdy=dxd(sind(x)C)=dxsin(π⋅x/180)C=−(sin(π⋅x/180))2C⋅cos(π⋅x/180)⋅180π=−sin(π⋅x/180)y⋅cos(π⋅x/180)⋅180π=−y⋅cot(180π⋅x)⋅180π=−y⋅cotd(x)⋅180π
可以看出角度制的三角函数求导要乘上π/180 !
修改代码中求导的那一项(第8行)如下:
dif_pm_lambda_theta_cal=pm_lambda_B.*cotd(pm_theta_half)*pi/180;
这样图就对应上了!
科研踩坑:角度制三角函数求导要乘上π/180相关推荐
- MIT 18.01 Single Variable Calculus(单变量微积分)课堂笔记【3】——求导四则运算和三角函数求导
求导四则运算和三角函数求导 本节重点讲解了两个三角函数求导公式的证明: f′(sin(x))=cos(x)f'(\sin(x)) = \cos(x) f′(sin(x))=cos(x) f′(co ...
- 026 三角函数求导公式推导
026 三角函数求导公式推导
- 矩阵求导术(上、下)
点击上方"Datawhale",选择"星标"公众号 第一时间获取价值内容 矩阵求导的技术,在统计学.控制论.机器学习等领域有广泛的应用.鉴于我看过的一些资料或言 ...
- 标量 向量 标量求导链式法则_矩阵求导术(上)
矩阵求导的技术,在统计学.控制论.机器学习等领域有广泛的应用.鉴于我看过的一些资料或言之不详.或繁乱无绪,本文来做个科普,分作两篇,上篇讲标量对矩阵的求导术,下篇讲矩阵对矩阵的求导术.本文使用小写字母 ...
- 漫步微积分十一——三角函数求导
目前为止,我们求导的最基本函数是幂函数xnx^n: ddxxn=nxn−1 \frac{d}{dx}x^n=nx^{n-1} 所有其他的函数可以通过加,减,乘,除和形成函数的函数构建出来.我们的通用规 ...
- 求导四则运算以及三角函数求导 Derivative formulas
对特定函数的求导. 1:sin(x) 对其进行求斜率.带入公式得:[ sin(x+Δx)- sin(x)]/Δx = [ sinx*cosΔx + cosx*sinΔx -sin x ]/ Δx = ...
- 微信小程序踩坑之wxml中有内容,但是页面上不显示
1,先检查app.json中页面引入的路径正确与否 2,检查当前wxml文件对应的js文件是否为空,如果为空就要加上默认的代码(没有js的处理逻辑,当前的js文件也不能为空),这样问题就解决了 ...
- 三角函数公式合集——从诱导公式到求导公式
1 三角函数间的关系 倒数 商 平方 2 诱导公式 诱导公式口诀:奇边偶不变,符号看象限. 3 倍角三角函数公式 由上面的cos(2 alpha)可推导出如下有用的降幂公式: 4 两角和差公式 5 万 ...
- 『科学计算_理论』矩阵求导
上篇原文链接 下篇原文链接 标量对矩阵求导 矩阵求导的技术,在统计学.控制论.机器学习等领域有广泛的应用.鉴于我看过的一些资料或言之不详.或繁乱无绪,本文来做个科普,分作两篇,上篇讲标量对矩阵的求导术 ...
最新文章
- 矢量数编码有哪几种类型_6种最理想的编码工作(以及吸引每个人的类型)
- Java基础课程---将一个字符串反转,将字符串中指定部分进行反转,比如,abcdefg, 反转为abfedcg...
- python的数据库中间件_数据库中间件设计方案
- Nginx负载均衡配置+keepalived高可用
- Qt4_发送和接收UDP数据报
- error RC2104: undefined keyword or key name问题
- 一篇极好的Git 总结
- freemark+html+jbig生成pdf文件
- html js input fileupload,简单 js fileUpload控件
- 网站被黑跳转到其他网站的解决办法
- 如何用计算机ip连接打印机共享,ip共享打印机怎么设置
- 项目管理之-WBS(Work Breakdown Structure, 工作分解结构)
- 丁磊:求快是创业者的思维误区,过于强调时间窗口也是一个伪命题
- go-http server使用hijack接管连接的管理
- NLP papers
- html地图添加marker,谷歌地图 API 开发之添加标记
- c/c++ substr()函数
- jinja2.exceptions.TemplateNotFound 报错处理
- Unity3D之SQLite的使用
- 北京计算机网络主考院校6,北京自考各专业主考院校一览表
热门文章
- 干货!浏览器提示“您与此网站之间建立的连接不安全”的解决方案
- 文字上下轮播 ,自定义cell上下轮播
- 蓝桥杯c语言试题寒假作业,寒假作业--蓝桥杯
- SSDHDD混装换一块SSD(迁移系统与资料不重装)
- 大家都来学 Java(一)快乐入门
- 1588分析和实现总纲
- mysql如何链表查询_mysql怎样两表查询?
- 学习论文写作“套路”后
- 微信微网站的服务器ip地址查询,微信开发之(三)获取微信服务器IP地址
- 论文解读:《利用注意力机制提高DNA的N6-甲基腺嘌呤位点的鉴定》