Invalid use of operator...it is saying it has a problem with '&&' in line 52

조회 수: 3 (최근 30일)
clc
%%====== Setup =========
S = [[3000 1000 2000];[1000 1000 4000];[2000 500 3000]];
sol = [];
c = S(:,4);
B = S; B(:,4) = [];
[sr sc] = size(B);
Axes = eye(sc);
%% ============ Find Interceptions ===============
A = [B(1,:);B(2,:)];
b = [c(1);c(2)];
sol = [sol linsolve(A,b)];
A = [B(1,:);B(3,:)];
b =[c(1);c(3)];
sol = [sol linsolve(A,b)];
A = [B(2,:);B(3,:)];
b = [c(2);c(3)];
sol = [sol linsolve(A,b)];
%% === Check for axes intersections ==
for i=1:sc
for j=1:sr
A = [Axes(i,:);B(j,:)];
b = [0;c(j)];
sol = [sol linsolve(A,b)];
end
end
%% === Find corner points of feasible
%% === region ======
[r c] = size(sol);
feasible = []; tolerance = 0;
for i=1:c
v = (sol(:,i));
x = v(1); y = v(2); z = v(3);
if (3000*x + 1000*y + 2000*z) <= 24000 + tolerance
&& (1000*x + 1000*y + 4000*z) <= 16000 + tolerance &&
(2000*x + 500*y + 3000*z) <= 48800 + tolerance
feasible = [feasible sol(:,i)];
end
end
disp(feasible)
%% ====== Find optimum =======
  댓글 수: 2
KALYAN ACHARJYA
KALYAN ACHARJYA 2021년 2월 25일
There are multiple issues, S has 3 columns data
> whos S
Name Size Bytes Class Attributes
S 3x3 72 double
But, you are trying to access 4th
c = S(:,4);
Donny Flynn
Donny Flynn 2021년 2월 25일
편집: Donny Flynn 2021년 2월 25일
Yes I noticed that, i changed it to 3. Thank you.
What were the other issus?

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

채택된 답변

David Hill
David Hill 2021년 2월 25일
To continue the line of code you need three dots ...
if (3000*x + 1000*y + 2000*z) <= 24000 + tolerance ...
&& (1000*x + 1000*y + 4000*z) <= 16000 + tolerance &&...
(2000*x + 500*y + 3000*z) <= 48800 + tolerance
feasible = [feasible sol(:,i)];
end
  댓글 수: 1
Donny Flynn
Donny Flynn 2021년 2월 25일
Thank you I am not too familair with MATLAB...learning the syntax, I appreciate it.

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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Surrogate Optimization에 대해 자세히 알아보기

태그

제품


릴리스

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by