⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 transbnd.m

📁 linear and nonlinear programming solver
💻 M
字号:
function [lb,ub,variables,n_vars] = ...                  transbnd(lb,ub,record,b2e,n_cons,variables,n_vars,BIG)for (iii = 1:length(b2e))  b_cont = b2e(iii);  len = find(record(b_cont+n_cons+5,:) ~= ' ' & ...             record(b_cont+n_cons+5,:) ~= 0);  str = record(b_cont+n_cons+5,len);  t = find(str == ')');  str = str(t(1)+1:length(str));  s_gt = find(str == '>');  s_lt = find(str == '<');  lcoef = find(str == '{');  rcoef = find(str ==  '}');  lencoef = length(lcoef);  for(i = 1:lencoef)     coef_number(i) = eval(str(lcoef(i)+1:rcoef(i)-1));   if(lcoef(i) > 1)     if(str(lcoef(i)-1) == '-')       coef_number(i) = -coef_number(i);      end   end  end  if(length(s_lt)== 2)     str2 = str(s_lt(1)+1:s_lt(2)-1);     j = vsearch(str2, variables, n_vars);     if(~isempty(j))       if(lencoef == 0)          lb(j) = str2num(str(1:s_lt(1)-1));         ub(j) = str2num(str(s_lt(2)+1:length(str)));       elseif(lencoef == 1)         lb(j) = coef_number(1);         ub(j) = str2num(str(s_lt(2)+1:length(str)));       elseif(lencoef == 2)         lb(j) = coef_number(1);         ub(j) = coef_number(2);       end     end  elseif(length(s_gt) == 2)     str2 = str(s_gt(1)+1:s_gt(2)-1);     j = vsearch(str2, variables, n_vars);     if(~isempty(j))       if(lencoef == 0)          ub(j) = str2num(str(1:s_gt(1)-1));         lb(j) = str2num(str(s_gt(2)+1:length(str)));       elseif(lencoef == 1)         ub(j) = coef_number(1);         lb(j) = str2num(str(s_gt(2)+1:length(str)));       elseif(lencoef == 2)         ub(j) = coef_number(1);         lb(j) = coef_number(2);       end     end  elseif(length(s_lt) == 1)    if(lencoef == 0)      if((str(1) >= '0' & str(1) <= '9') ...        | str(1)  == '+' | str(1)  == '-')        str2 = str(s_lt(1)+1:length(str));        j = vsearch(str2, variables, n_vars);        if(~isempty(j)) lb(j) = str2num(str(1:s_lt(1)-1)); end       else        str2 = str(1:s_lt(1)-1);        j = vsearch(str2, variables, n_vars);        if(~isempty(j)) ub(j) = str2num(str(s_lt(1)+1:length(str))); end       end    else      if(lcoef(1)< s_lt(1))        str2 = str(s_lt(1)+1:length(str));        j = vsearch(str2, variables, n_vars);        if(~isempty(j)) lb(j) = coef_number(1); end      else        str2 = str(1:s_lt(1)-1);        j = vsearch(str2, variables, n_vars);        if(~isempty(j)) ub(j) = coef_number(1); end      end    end  elseif(length(s_gt) == 1)    if(lencoef == 0)      if((str(1) >= '0' & str(1) <= '9') ...        | str(1)  == '+' | str(1)  == '-')        str2 = str(s_gt(1)+1:length(str));        j = vsearch(str2, variables, n_vars);        if(~isempty(j)) ub(j) = str2num(str(1:s_gt(1)-1)); end      else        str2 = str(1:s_gt(1)-1);        j = vsearch(str2, variables, n_vars);        if(~isempty(j)) lb(j) = str2num(str(s_gt(1)+1:length(str))); end      end    else      if(lcoef(1)< s_gt(1))        str2 = str(s_gt(1)+1:length(str));        j = vsearch(str2, variables, n_vars);        if(~isempty(j)) ub(j) = coef_number(1);end      else        str2 = str(1:s_gt(1)-1);        j = vsearch(str2, variables, n_vars);        if(~isempty(j)) lb(j) = coef_number(1); end      end    end  endend%if(n_vars > length(lb))%lb(n_vars,1) = 0%ub(n_vars,1) = 0;%end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -