matlab求解全微分函数,Matlab求解一元函数,再求全微分的错误,表达式复杂不会........

本帖最后由 eleanorexu 于 2013-3-28 20:49 编辑我想求解的函数是:deltaL=n^2*h/sqrt(n^2-(sin(theta1))^2)-n^2*h/sqrt(n^2-(sin(theta2))^2其中,deltaL,h,theta1,theta2都已知(都可测量),想求n是多少,不知如何解。。。此外最重要的是,还想求n对deltaL,h,theta1,theta2...
摘要由CSDN通过智能技术生成

本帖最后由 eleanorexu 于 2013-3-28 20:49 编辑

我想求解的函数是:deltaL=n^2*h/sqrt(n^2-(sin(theta1))^2)-n^2*h/sqrt(n^2-(sin(theta2))^2

其中,deltaL,h,theta1,theta2都已知(都可测量),想求n是多少,不知如何解。。。

此外最重要的是,还想求n对deltaL,h,theta1,theta2每一项的偏微分是多少,从而计算不确定度dn。

我的程序是:

********************************************************************************************

clear

clc

syms n deltaL theta1 theta2 h; %创建符号变量

n_exp = solve(deltaL-n^2*h/sqrt(n^2-(sin(theta1))^2)+n^2*h/sqrt(n^2-(sin(theta2))^2),n);  %计算出方程的根

%下面对每一个变量求偏导

d_h = diff(n_exp,h);

d_deltaL = diff(n_exp,deltaL);

d_theta1= diff(n_exp,theta1);

d_theta2= diff(n_exp,theta2);

%利用得到的表达式带入数值计算

%后缀为num的为真实数值

h_num = 0.01; %h(厚度)10mm

theta1_num = 57/180*pi

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值