Info

Cette question est clôturée. Rouvrir pour modifier ou répondre.

Hello guys, please help me to solve the below mentioned prograame. it is not running

2 vues (au cours des 30 derniers jours)
adarsh
adarsh le 19 Jan 2018
Clôturé : MATLAB Answer Bot le 20 Août 2021
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 commentaires
Birdman
Birdman le 19 Jan 2018
What do you want this code to do?
adarsh
adarsh le 19 Jan 2018
i want to get the value of: f=Cpv+CPP

Réponses (2)

Image Analyst
Image Analyst le 19 Jan 2018
You need to define Vi and Pj. For example:
Vi = 5
Pj = 22
or whatever. If you do that, it runs.
  7 commentaires
Walter Roberson
Walter Roberson le 20 Jan 2018
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.
adarsh
adarsh le 20 Jan 2018
kindly send a small example

Walter Roberson
Walter Roberson le 20 Jan 2018
function cost = obj(x)
P = x(1:10) ;
V = x(11:18);
cost = sum((P-7).^2) + sum((V-100).^2) ;
  6 commentaires
adarsh
adarsh le 20 Jan 2018
is now the way correct. I have put indices on each letter. How to write and correlate the summation and if- else statement in the program.
Jan
Jan le 22 Fév 2018
@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.

Cette question est clôturée.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by