Matrix dimensions do not agree
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
jnovv
am 16 Dez. 2015
Kommentiert: jnovv
am 16 Dez. 2015
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 Kommentare
Akzeptierte Antwort
James Tursa
am 16 Dez. 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))
Weitere Antworten (1)
the cyclist
am 16 Dez. 2015
Bearbeitet: the cyclist
am 16 Dez. 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.
Siehe auch
Kategorien
Mehr zu Elementary Math finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!