Info

此问题已关闭。 请重新打开它进行编辑或回答。

how can i store the output from the function in a matrix/vector to use as input in my main

1 次查看(过去 30 天)
i have the following function as a m file and i want to store the c and ceq values calculated in a separate individual matrix which i can pass as inputs to another function in my main how can i do that ?
function [c,ceq] =constraint(X_dp1)
global hd ce Ye delta_edp;
%first constrain
X_dp=reshape(X_dp1,4,8);
X_dp=reshape(X_dp1,4,8);
for ii=1 : 16
ro(ii)=0;
for jj=1 : 4 %demand
for kk=1:8
if delta_edp(ii,jj,kk)==1
ro(ii)=ro(ii)+hd(jj)*X_dp(jj,kk);
end
end
end
ro(ii)=ro(ii)/ce(ii);
end
ro_max=max(ro);
for ii=1:16
A(ii)=0;
C(ii)=0;
for jj=1:4
for kk=1:8
A(ii)=A(ii)+hd(jj)*delta_edp(ii,jj,kk)*X_dp(jj,kk);
end
end
B(ii)=ce(ii);
C(ii)=C(ii)*(1-Ye(ii));
end
c=A-B;
ceq=(A./B)-C-ro_max;
end

回答(1 个)

per isakson
per isakson 2014-10-26
编辑:per isakson 2014-10-26
Isn't this good enough?
[c,ceq] = constraint( X_dp1 );
out = another_function( c, ceq );
  5 个评论
Bhavz
Bhavz 2014-10-26
Exactly so if x = intlinprog(f,intcon,A,b) where would my c and ceq be placed and how since the call to the function is from main

此问题已关闭。

Community Treasure Hunt

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

Start Hunting!

Translated by