写在前面

用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相关推荐

  1. MIT 18.01 Single Variable Calculus(单变量微积分)课堂笔记【3】——求导四则运算和三角函数求导

    求导四则运算和三角函数求导 本节重点讲解了两个三角函数求导公式的证明: f′(sin⁡(x))=cos⁡(x)f'(\sin(x)) = \cos(x) f′(sin(x))=cos(x) f′(co ...

  2. 026 三角函数求导公式推导

    026 三角函数求导公式推导

  3. 矩阵求导术(上、下)

    点击上方"Datawhale",选择"星标"公众号 第一时间获取价值内容 矩阵求导的技术,在统计学.控制论.机器学习等领域有广泛的应用.鉴于我看过的一些资料或言 ...

  4. 标量 向量 标量求导链式法则_矩阵求导术(上)

    矩阵求导的技术,在统计学.控制论.机器学习等领域有广泛的应用.鉴于我看过的一些资料或言之不详.或繁乱无绪,本文来做个科普,分作两篇,上篇讲标量对矩阵的求导术,下篇讲矩阵对矩阵的求导术.本文使用小写字母 ...

  5. 漫步微积分十一——三角函数求导

    目前为止,我们求导的最基本函数是幂函数xnx^n: ddxxn=nxn−1 \frac{d}{dx}x^n=nx^{n-1} 所有其他的函数可以通过加,减,乘,除和形成函数的函数构建出来.我们的通用规 ...

  6. 求导四则运算以及三角函数求导 Derivative formulas

    对特定函数的求导. 1:sin(x) 对其进行求斜率.带入公式得:[ sin(x+Δx)- sin(x)]/Δx  = [ sinx*cosΔx + cosx*sinΔx -sin x ]/ Δx = ...

  7. 微信小程序踩坑之wxml中有内容,但是页面上不显示

    1,先检查app.json中页面引入的路径正确与否 2,检查当前wxml文件对应的js文件是否为空,如果为空就要加上默认的代码(没有js的处理逻辑,当前的js文件也不能为空),这样问题就解决了 ​​​ ...

  8. 三角函数公式合集——从诱导公式到求导公式

    1 三角函数间的关系 倒数 商 平方 2 诱导公式 诱导公式口诀:奇边偶不变,符号看象限. 3 倍角三角函数公式 由上面的cos(2 alpha)可推导出如下有用的降幂公式: 4 两角和差公式 5 万 ...

  9. 『科学计算_理论』矩阵求导

    上篇原文链接 下篇原文链接 标量对矩阵求导 矩阵求导的技术,在统计学.控制论.机器学习等领域有广泛的应用.鉴于我看过的一些资料或言之不详.或繁乱无绪,本文来做个科普,分作两篇,上篇讲标量对矩阵的求导术 ...

最新文章

  1. 矢量数编码有哪几种类型_6种最理想的编码工作(以及吸引每个人的类型)
  2. Java基础课程---将一个字符串反转,将字符串中指定部分进行反转,比如,abcdefg, 反转为abfedcg...
  3. python的数据库中间件_数据库中间件设计方案
  4. Nginx负载均衡配置+keepalived高可用
  5. Qt4_发送和接收UDP数据报
  6. error RC2104: undefined keyword or key name问题
  7. 一篇极好的Git 总结
  8. freemark+html+jbig生成pdf文件
  9. html js input fileupload,简单 js fileUpload控件
  10. 网站被黑跳转到其他网站的解决办法
  11. 如何用计算机ip连接打印机共享,ip共享打印机怎么设置
  12. 项目管理之-WBS(Work Breakdown Structure, 工作分解结构)
  13. 丁磊:求快是创业者的思维误区,过于强调时间窗口也是一个伪命题
  14. go-http server使用hijack接管连接的管理
  15. NLP papers
  16. html地图添加marker,谷歌地图 API 开发之添加标记
  17. c/c++ substr()函数
  18. jinja2.exceptions.TemplateNotFound 报错处理
  19. Unity3D之SQLite的使用
  20. 北京计算机网络主考院校6,北京自考各专业主考院校一览表

热门文章

  1. 干货!浏览器提示“您与此网站之间建立的连接不安全”的解决方案
  2. 文字上下轮播 ,自定义cell上下轮播
  3. 蓝桥杯c语言试题寒假作业,寒假作业--蓝桥杯
  4. SSDHDD混装换一块SSD(迁移系统与资料不重装)
  5. 大家都来学 Java(一)快乐入门
  6. 1588分析和实现总纲
  7. mysql如何链表查询_mysql怎样两表查询?
  8. 学习论文写作“套路”后
  9. 微信微网站的服务器ip地址查询,微信开发之(三)获取微信服务器IP地址
  10. 论文解读:《利用注意力机制提高DNA的N6-甲基腺嘌呤位点的鉴定》