Info
이 질문은 마감되었습니다. 편집하거나 답변을 올리려면 질문을 다시 여십시오.
Hello guys, please help me to solve the below mentioned prograame. it is not running
조회 수: 1 (최근 30일)
이전 댓글 표시
D1=2;
D2=3;
D3=5;
Q1=4;
Q2=5;
Q3=6;
V1=4*Q1/(3.14*D1^2);
V2=4*Q2/(3.14*D2^2);
V3=4*Q3/(3.14*D3^2);
P1=5*D1^2;
P2=5*D2^2;
P3=0.5*D3^2;
if Vi<=10
Cpv=0;
else
for i=1:3
Cpv=(1/15)*(Vi^2-100);
end
end
%%%%
if Pj>=18
Cpp=0;
else
for j=1:3
Cpp=Cpp+18-Pj;
end
end
Comment on this Answer
답변 (2개)
Image Analyst
2018년 1월 19일
You need to define Vi and Pj. For example:
Vi = 5
Pj = 22
or whatever. If you do that, it runs.
댓글 수: 7
Walter Roberson
2018년 1월 20일
Your objective function is going to receive a vector of values in a single variable. Extract portions of that vector into variables inside the function. Use vectors and index them as needed.
Walter Roberson
2018년 1월 20일
function cost = obj(x)
P = x(1:10) ;
V = x(11:18);
cost = sum((P-7).^2) + sum((V-100).^2) ;
댓글 수: 6
Jan
2018년 2월 22일
@adarsh: Do not let the expression "Q1,Q2,Q3, ..." confuse you. Later in the document Q is an array and an index is used: Q(1), Q(2), ... Using vectors is the right way to go.
이 질문은 마감되었습니다.
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!