matlab return the output of wrong function
Show older comments
Hi fellows,
I have encounted a super weird situation. I will try to explain it clearly.
I have defined several function, one of them is called maxmin.m. And this function would call another function called maxmin0. But when i call the function maxmin, the result is always the result from the function maxmin0. I don't know where is the problem. Becasue maxmin.m return the proper result when I test it by get rid of function form and run it as a normal .m file.
Please help me about this. This is the code for maxmin.m
if true
%
function [ PF ] = maxmin(sub,DD) %risk parameter and low bounds
d1=DD(:,1:3)-1;
d2=DD(:,4:6)-1;
edw=DD(:,7);
rn=size(d1,1);
lb1=sub(1);
lb2=sub(2);
lb3=sub(3);
r=sub(4);
[PF0,eu0]=maxmin0(sub,DD);
[PF1,eu1]=maxmin1(sub,DD);
[PF2,eu2]=maxmin2(sub,DD);
[PF3,eu3]=maxmin3(sub,DD);
[PF4,eu4]=maxmin4(sub,DD);
[PF5,eu5]=maxmin5(sub,DD);
[PF6,eu6]=maxmin6(sub,DD);
for i=1:rn
eutotal(i,:)=[eu1(i);eu2(i);eu3(i);eu4(i);eu5(i);eu6(i)];
if (0<=PF0(i,1))<=edw(i) && 0<=PF0(i,2)<=edw(i)
PF(i,:)= PF0(i,:);
else
if(eu1(i)==max(eutotal(i)))
PF(i,:)=PF1(i,:);
elseif(eu2(i)==max(eutotal(i)))
PF(i,:)=PF2(i,:);
elseif(eu3(i)==max(eutotal(i)))
PF(i,:)=PF3(i,:);
elseif(eu4(i)==max(eutotal(i)))
PF(i,:)=PF4(i,:);
elseif(eu5(i)==max(eutotal(i)))
PF(i,:)=PF5(i,:);
elseif(eu6(i)==max(eutotal(i)))
PF(i,:)=PF6(i,:);
end
end
end
end
end
Accepted Answer
More Answers (0)
Categories
Find more on Instrument Control Toolbox Supported Hardware in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!