Filter löschen
Filter löschen

Error in line for CVX

6 Ansichten (letzte 30 Tage)
Aniz Mohamed Rafeeck
Aniz Mohamed Rafeeck am 26 Sep. 2021
Kommentiert: the cyclist am 27 Sep. 2021
T = 3;
K = 3;
q = 1;
p = [10,1,8];
v = {};
v(1,:) = {[0.08 0.01 1.13;
0 0.02 1.1;
0 0 1.03]};
v(2,:) = {[0.06 0.03 1.07;
0 0.04 1.16;
0 0 1.04]};
v(3,:) = {[0.03 0.01 1.08;
0 0.08 1.01;
0 0.0 1.1]};
cvx_begin
v_max = [0.08 0.01 1.13;
0 0.04 1.16;
0 0 1.1];
variable m(3);
expression P(3);
for i = 1:T
P(i) = (1+1/100)^(m(i)-i)*(1+sum(v_max(m(i),:)));
end
minimize(sum(P))
subject to
for i = 1:T
m(i)<=T;
m(i)>=i;
end
cvx_end
I get an error as

Antworten (2)

the cyclist
the cyclist am 26 Sep. 2021
I don't know CVX, but the error message seems straightforward. My best guess is that m is a variable of type cvx, and you are trying to use it as an index in this expression:
v_max(m(i),:)
It seems that this syntax is not allowed. Perhaps there is some kind of type conversion you can use.
  2 Kommentare
Aniz Mohamed Rafeeck
Aniz Mohamed Rafeeck am 27 Sep. 2021
How do you rectify it
the cyclist
the cyclist am 27 Sep. 2021
I don't know. You are asking a CVX question, not a MATLAB question. Maybe you can find a forum for CVX.

Melden Sie sich an, um zu kommentieren.


Sulaymon Eshkabilov
Sulaymon Eshkabilov am 26 Sep. 2021
Here is the corrected part of the code:
...
%cvx_begin % Invalid MATLAB command
v_max = [0.08 0.01 1.13;
0 0.04 1.16;
0 0 1.1];
% variable m(3); % Invalid MATLAB command
% expression P(3); % Invalid MATLAB command
m= [1, 2, 3];
for i = 1:T
P(i) = (1+1/100)^(m(i)-i)*(1+sum(v_max(m(i),:)));
end
min(sum(P))
for i = 1:T
m(i)<=T;
m(i)>=i;
end
% cvx_end % Invalid MATLAB command
  1 Kommentar
the cyclist
the cyclist am 26 Sep. 2021
Those commands are valid for the CVX toolbox.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Programming finden Sie in Help Center und File Exchange

Produkte


Version

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by