Matlab实现求合成不确定度

大雾实验中算合成不确定度挺麻烦的,所以用matlab写了一个函数来求。

此函数可以求和差形式(例如z = x + y)或积商形式函数(V = pi*r^2*h)

1.源代码:

function [uc] = Uncertainty(fun,Syms,x,u)%abstract 输入多元函数,变量数组,变量取值数组,不确定度数组,可求合成不确定度%   此处显示详细说明    len = length(x);    item = zeros(1,len);        for i=1:len        diffxi = matlabFunction(diff(fun,Syms(i))+0.01010101*sum(Syms));        item(i) = ((diffxi(x(1),x(2),x(3))-0.01010101*sum(x))*u(i))^2;%根据需要增删        %假如fun有四个变量,则改为diffix(x(1),x(2),x(3),x(4))    end        uc = sqrt(sum(item));end

2.应用举例:

图片

​​​​​​​

Syms a b c;%创建三个变量  a,b,c分别为外径、内径、高度SYMS = [a,b,c];V = @(a,b,c) pi/4*(a^2-b^2)*c;%创建函数句柄%匿名函数内变量符号最好按增序排列x = [9.8,4.5,5];%测量值u = [0.005,0.005,0.005];%不确定度  uc = Uncertainty(V,SYMS,x,u);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值