Zohreh,

The code snippets you have provided do not suggest you are doing anything 
that requires sympy. So, I am confused. It looks like you need a function 
that generates a string of the summations in your expression, when passed 
species. I think there is a fixed number of parameters for each species. 
You are probably better off building the string for your expressions 
without involving sympy. I am thinking something like this to define part 
of your fit function:


def term(species_name):
    
return(species_name+'_param1*conc_'+species_name+'+'+species_name+'_param2*np.sqrt(conc_'+species_name+')')
Then
term('Cl')
returns
'Cl_param1*conc_Cl+Cl_param2*np.sqrt(conc_Cl)'

Then build your overall expression from these pieces. Then do a fit with 
initial guesses for all the parameters.

That's how I would do it unless I am manipulating the expressions using 
sympy first.

Jonathan
On Wednesday, August 24, 2022 at 11:11:58 AM UTC-5 z.kari...@gmail.com 
wrote:

> I should extract the required model for each system of chemicals and do a 
> least squre for derived model and parameters to find the parameters for 
> each chemical systems. 
>
>
> Zohreh Karimzadeh
>
> Contact me on
>            +989102116325 <+98%20910%20211%206325>
>                      and at
>      z.kari...@gmail.com
>                                  🌧️🌍🌱
>     
> On Wed, 24 Aug 2022, 19:33 gu...@uwosh.edu, <gu...@uwosh.edu> wrote:
>
>> Zohreh,
>>
>> I pulled the paper. I see no reason you need to use SymPy to do the 
>> numerical fitting. I would approach this by inputting the species in a 
>> dictionary or list and then use that to call functions that generate the 
>> computed value for  each term/sum. Are you trying to keep track of the 
>> complete symbolic expression or do a numerical calculation?
>>
>> If you are using chemical symbols or reactions, are  you taking advantage 
>> of ChemPy?
>>
>> Jonathan
>> On Tuesday, August 23, 2022 at 12:01:02 AM UTC-5 z.kari...@gmail.com 
>> wrote:
>>
>>> As following, I should generate each parameters dynamically (for 20-30 
>>> terms):
>>>
>>> term_vnca = 0
>>> for k in anion:
>>>     for j in cation:
>>>         for i in neutral:
>>>             term_vnca += term_vncX - 4 * 3 * sp.symbols(f'X{str(k)}') * 
>>> sp.symbols('X{0}'.format(str(i))) \
>>>                          ** 2 * sp.symbols(f'V{str(i)}{str(j)}{str(k)}')
>>> lnfXs = term_wnca + term_unca + term_vnca + termx_w_solvent1 + 
>>> termx_w_solvent2
>>>
>>> Zohreh Karimzadeh
>>> *https://www.researchgate.net/profile/Zohreh-Karimzadeh* 
>>> <https://www.researchgate.net/profile/Zohreh-Karimzadeh> 
>>> Skype Name 49a52224a8b6b38b
>>> Twitter Account @zohrehkarimzad1
>>> z.kari...@gmail.com 
>>> +989102116325 <+98%20910%20211%206325>      
>>>                                                    
>>> ((((((((((((((((Value Water)))))))))))))))
>>>
>>>
>>> On Tue, Aug 23, 2022 at 9:26 AM Zohreh Karimzadeh <z.kari...@gmail.com> 
>>> wrote:
>>>
>>>> Not these model and parameters, My model is very complicated wit large 
>>>> number of parameters:
>>>> [image: image.png]
>>>> As a very simple example I raise this question. 
>>>> Zohreh Karimzadeh
>>>>
>>>> Contact me on
>>>>            +989102116325 <+98%20910%20211%206325>
>>>>                      and at
>>>>      z.kari...@gmail.com
>>>>                                  🌧️🌍🌱
>>>>     
>>>>
>>>> On Tue, 23 Aug 2022, 05:16 Peter Stahlecker, <peter.st...@gmail.com> 
>>>> wrote:
>>>>
>>>>> Dear Zohreh,
>>>>>
>>>>> Just for my understanding:
>>>>> 1.
>>>>> You params are alpha, betta ,gamma, eta (?)
>>>>> 2.
>>>>> What do you mean by generating them dynamically?
>>>>>
>>>>> Peter
>>>>>
>>>>> On Tue 23. Aug 2022 at 02:44 Zohreh Karimzadeh <z.kari...@gmail.com> 
>>>>> wrote:
>>>>>
>>>>>> Dear Oscar 
>>>>>> BIG help !
>>>>>> Here I seriously need to use sympy to generate my params dynamically.
>>>>>> All Bests  
>>>>>> Zohreh Karimzadeh
>>>>>> *https://www.researchgate.net/profile/Zohreh-Karimzadeh* 
>>>>>> <https://www.researchgate.net/profile/Zohreh-Karimzadeh> 
>>>>>> Skype Name 49a52224a8b6b38b
>>>>>> Twitter Account @zohrehkarimzad1
>>>>>> z.kari...@gmail.com 
>>>>>> +989102116325 <+98%20910%20211%206325>      
>>>>>>                                                    
>>>>>> ((((((((((((((((Value Water)))))))))))))))
>>>>>>
>>>>>>
>>>>>> On Mon, Aug 22, 2022 at 7:42 PM Oscar Benjamin <oscar.j....@gmail.com> 
>>>>>> wrote:
>>>>>>
>>>>>>> On Mon, 22 Aug 2022 at 15:36, Peter Stahlecker
>>>>>>> <peter.st...@gmail.com> wrote:
>>>>>>> >
>>>>>>> > Dear Oscar,
>>>>>>> >
>>>>>>> > Thanks for your hint about these parameters!.
>>>>>>> > Probably dumb question of mine:
>>>>>>> > Could one not define f_Vi_est directly as
>>>>>>> >
>>>>>>> > def_Vi_est(gamma, alfa, beta, eta, L, K, VA):
>>>>>>> >        Vi_est  = gamma - (1  /  eta)…..
>>>>>>> >        return np.sum(…..)
>>>>>>> >
>>>>>>> > without any ‚lambdification‘?
>>>>>>>
>>>>>>> Yes. In an earlier post the OP showed that they had working code like
>>>>>>> that but wanted to know how to do it using SymPy and lambdify. I
>>>>>>> presume there is a reason for wanting to use SymPy there (perhaps to
>>>>>>> accomplish something slightly different from the exact code shown).
>>>>>>> It's also possible that there isn't any actual reason to use SymPy 
>>>>>>> for
>>>>>>> this at all though.
>>>>>>>
>>>>>>> --
>>>>>>> Oscar
>>>>>>>
>>>>>>> -- 
>>>>>>> You received this message because you are subscribed to the Google 
>>>>>>> Groups "sympy" group.
>>>>>>> To unsubscribe from this group and stop receiving emails from it, 
>>>>>>> send an email to sympy+un...@googlegroups.com.
>>>>>>> To view this discussion on the web visit 
>>>>>>> https://groups.google.com/d/msgid/sympy/CAHVvXxQJUuZ4tVnECPyWE%3DLd03hhhUB5mqv1bjHcjSNf9WP22Q%40mail.gmail.com
>>>>>>> .
>>>>>>>
>>>>>> -- 
>>>>>> You received this message because you are subscribed to the Google 
>>>>>> Groups "sympy" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it, 
>>>>>> send an email to sympy+un...@googlegroups.com.
>>>>>> To view this discussion on the web visit 
>>>>>> https://groups.google.com/d/msgid/sympy/CA%2B1XYLOMV_i3VJXwwVN7JWnuJ9Wo6ZPhULmC1SOubAfFLt-DBQ%40mail.gmail.com
>>>>>>  
>>>>>> <https://groups.google.com/d/msgid/sympy/CA%2B1XYLOMV_i3VJXwwVN7JWnuJ9Wo6ZPhULmC1SOubAfFLt-DBQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>>> .
>>>>>>
>>>>> -- 
>>>>> Best regards,
>>>>>
>>>>> Peter Stahlecker
>>>>>
>>>>> -- 
>>>>> You received this message because you are subscribed to the Google 
>>>>> Groups "sympy" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>>> an email to sympy+un...@googlegroups.com.
>>>>> To view this discussion on the web visit 
>>>>> https://groups.google.com/d/msgid/sympy/CABKqA0YTOzyZkjhnQmKQKQh-Mrc_H_TcmD9FrXObaTadkfLpkQ%40mail.gmail.com
>>>>>  
>>>>> <https://groups.google.com/d/msgid/sympy/CABKqA0YTOzyZkjhnQmKQKQh-Mrc_H_TcmD9FrXObaTadkfLpkQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>>
>>>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "sympy" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to sympy+un...@googlegroups.com.
>>
> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/sympy/17d62c5c-11d8-4b1b-9a44-ae67c8021832n%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/sympy/17d62c5c-11d8-4b1b-9a44-ae67c8021832n%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sympy+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/837a3351-3aa3-4e1e-98d6-b34f3185d5b2n%40googlegroups.com.

Reply via email to