0

I'm new to Python and am quite helpless with a problem I have to solve:

I have two budget equations, let's say a+b+c+d=Res1 and a+c+e+f=Res2, now every term has a specific standard deviation a_std, b_std,... and I want to distribute the budget residuals Res1 and Res2 onto the individual terms relative to their uncertainty (see eqution below), to get a_new+b_new+c_new+d_new=0 and a_new+c_new+e_new+f_new=0

Regarding only 1 budget equation I'm able to solve the problem and get the terms a_new, b_new, c_new and d_new. But how can I add the second constraint to also get e_new and f_new?

e.g. I calculate a_new = a + (a_std^2/(a_std+b_std+c_std))*Res1 , however this is only dependent of the first equation, but I want a to be modified that way to also satisfy the second equation..

I appreciate any help/any ideas on how to approach this problem.

Thanks in advance, Sue

Edit: What I have so far:

def var_close(a,a_std,b,b_std,c,c_std,d,d_std,e,e_std,f,f_std,g,g_std):
   x=[a,b,c,d,e]
   Res1=np.sum([x])
   std_ges1=a_std*a_std+b_std*b_std+c_std*c_std+d_std*d_std+e_std*e_std
   y=[a,c,f,g]
   Res2=np.sum([y])
   std_ges2=a_std*a_std+c_std*c_std+f_std*f_std+g_std*g_std

   a_new=a-((a_std*a_std)/std_ges1)*Res1
   b_new=b-((b_std*b_std)/std_ges1)*Res1
   c_new=c-((c_std*c_std)/std_ges1)*Res1
   d_new=d-((d_std*d_std)/std_ges1)*Res1
   e_new=e-((e_std*e_std)/std_ges1)*Res1

   a_new2=a-((a_std*a_std)/std_ges2)*Res2
   c_new2=c-((c_std*c_std)/std_ges2)*Res2
   f_new=f-((f_std*f_std)/std_ges2)*Res2
   g_new=g-((g_std*g_std)/std_ges2)*Res2

   return a_new,b_new,c_new,d_new,e_new,a_new2,c_new2,f_new,g_new

But like this e.g. a_new and a_new2 are slightly different, but I want them to be equal and the other terms modified correspondng to their uncertainty..

suwi
  • 1
  • 1
  • Please show what you have tried so far. – mcsoini Apr 26 '21 at 16:07
  • Hi, welcome to the StackOverflow community. Please read this helpful post to ask better questions. Please share some of your codes that you try and also share the errors you get. https://stackoverflow.com/help/how-to-ask – Iman Shafiei Apr 26 '21 at 16:16

0 Answers0