Matrix dimensions do not agree
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hi everyone,
I am wondering if you can help me with this issue.
I have a differential equation code (dy/dt) that is solved using a solver. At the end I got the the dimension of y to be 2868x11.
There is also another parameter called xinf, with it being defined as
xinf = 1/(1+exp(-(y(:,1)-Vx)/kx))
Vx and kx are both constant. At the end, xinf has the dimension of 1x2868.
The issue takes place when I need to calculate this formula:
Ix = gx*xinf.^3.*y(:,2).*(y(:,1)-Ex)
Ex is a constant.
I receive the error saying that the matrix dimensions do not agree. I tried transposing xinf, and although the code runs, it does not produce the output that is desired.
I was wondering is someone can help me solve this issue? Maybe another way to go about this? As I seem to have reached a dead end.
Many thanks in advance!
0 commentaires
Réponse acceptée
James Tursa
le 16 Déc 2015
My guess is you meant that division in your xinf calculation to be element-wise. E.g., change the / to ./ as follows:
xinf = 1./(1+exp(-(y(:,1)-Vx)/kx))
Plus de réponses (1)
the cyclist
le 16 Déc 2015
Modifié(e) : the cyclist
le 16 Déc 2015
Just stating "it does not produce the output that is desired" is a bit vague. Can you be more specific?
Just a guess, though ... I bet you actually wanted
xinf = 1./(1+exp(-(y(:,1)-Vx)/kx))
rather than
xinf = 1/(1+exp(-(y(:,1)-Vx)/kx))
Notice that I used "./" in place of "/". That also solves your issue with needing to transpose, which gives me a dose of confidence that it was the right operation in the first place.
Voir également
Catégories
En savoir plus sur Elementary Math dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!