简化的程序大致如下。应用的vpasolve函数,里面p和u是内层和外层循环,但是运行后只得到最后一次的结果。每一次循环得到的满足条件的解的个数不同,可能是1个,2个 等,那么如何把循环得到的所有结果放到一个矩阵或者将循环得到的相同个数解分别放在对应矩阵里呢(例如:3个解的跟3个解放在一个矩阵)
%目的是求出满足条件的x1,x2,x3
{syms x1 x2 x3
for p=0:1:50;
for u=0:1:5000;
A=(x2/(x2+1))*(3-x2/1000)*(1-x3/1000);
g=p/2+50*(x2/(x2+100));
D= p*23+40*(x2/(x2+2500));
eq1=A-p;
eq2=p*(u-x2)-x1*g;
eq3=x1*A-p*x3;
[x1,x2,x3]=vpasolve(eq1,eq2,eq3,[x1,x2,x3],[10 50;0 1000;0 1000])
end
end
}
matlab2016a
求大家指点