Matrix operator error in matlab2019a

조회 수: 4 (최근 30일)
tobi alabi
tobi alabi 2020년 1월 8일
댓글: Hiro Yoshino 2020년 1월 8일
Please, can someone help to check what maybe wrong with this code, though it is a part of the entire script
dt=1; % Time step
nHours=numel(LD);
Time=(1:nHours)';
idxHr2Toend=2:nHours;
(NOMb*SOCb(idxHr2Toend-1,:))-Et(idxHr2Toend,:)+(echb*Pbch(idxHr2Toend,:)*dt)-((Pbdch(idxHr2Toend,:)*dt)/edchb)==0;
This the error that keep showing:
Error using optim.internal.problemdef.MatrixOperator
Incorrect dimensions for matrix multiplication. Check that the number of columns in the first matrix matches the number of rows in
the second matrix. To perform elementwise multiplication, use '.*'.
Error in optim.internal.problemdef.Mtimes
Error in *
Error in mescode2019 (line 201)
mesprob.Constraints.Batstoredele=(NOMb*SOCb(idxHr2Toend-1,:))-Et(idxHr2Toend,:)+(echb*Pbch(idxHr2Toend,:)*dt)-((Pbdch(idxHr2Toend,:)*dt)/edchb)==0;
Thanks

답변 (1개)

Hiro Yoshino
Hiro Yoshino 2020년 1월 8일
As it said, have you tried this one?:
To perform elementwise multiplication, use '.*'.
Imagine that you want to multiply/devide the elements of two matrix (element wise)
A.*B
A./B
would work for you.
  댓글 수: 5
tobi alabi
tobi alabi 2020년 1월 8일
thanks once again...
the model is for battery storage formulatio0n, that is why i have NOMb.*SOCb(idxHr2Toend-1,:) and Et(idxHr2Toend,:) to cater for the current time step and the previous time step i.e t and t-1
Hiro Yoshino
Hiro Yoshino 2020년 1월 8일
now that you can work on it!!

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Get Started with MATLAB에 대해 자세히 알아보기

제품

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by