Explicit solution from matrices of known variables at different heterogeneity levels
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Stephanie
le 24 Jan 2024
Réponse apportée : Milan Bansal
le 29 Jan 2024
Please help! I am relatively new to Matlab and face the following issue: the outcome of my model is this variable \hat{x} that varies at the j,f level. The final identification equation which comes from my equilibrium condition look like this:
All variables apart from \hat{x}_j^f are known. The subscripts h and f denote home and foreign and they are running indices with a total of H countries (which is why I have matrices HxH which contain bilateral variables and Hx1 which contain only country-level variables). What I do not know is how to input in Matlab these matrices with my data at the different heterogeneity levels (j, h, f) such that I calculate my \hat{x}_j^f from the equation in the end.
Would anyone here be able to help me with some sample code to get me started? Thank you in advance to anyone who spends time on answering my query!
0 commentaires
Réponse acceptée
Milan Bansal
le 29 Jan 2024
Hi Stefani,
I understand that you looking for a sample code to resolve a system of your linear equations where all the variables are known except . The final equation you are trying to solve is .
For every j instead of calculating in for each f, it is possible to calculate (H x 1) at once using matrix operations in MATLAB. This in turn will reduce calculation at h and f level as it will be taken care internally using matrix operations. Simplify the given equation such that all the known variables are on right hand side of the equation as shown below.
where and are (H x H) matrices and is a (H x 1) vector. The output will be a (H x 1) vector.
Refer to the pseudo code in the code snippet below to solve the equation for
% Assuming that B_j, a_j, rho_j, ZX_j_rhoj variable are know and available,
% Xhat_j for every j calculated using the following code.
Xhat_j_rhoj_Plus1 = inv(a_j) * inv(B_j) * ((rho_j + 1) * (rho_j + 2)) * ZX_j_rhoj;
Xhat_j = Xhat_j_rhoj_Plus1.^(1/(rho_j +1)); % element wise power
Please refer to the following documentation link to learn more about Array and Matrix operations in MATLAB.
Hope this helps.
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Symbolic Math Toolbox dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!