matlab算最大值用matlab计算y=x1+x1*x2+x3-x2*x3+x3*x4+134,其中x1到x4范围分别
来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/11/07 23:52:13
matlab算最大值
用matlab计算y=x1+x1*x2+x3-x2*x3+x3*x4+134,其中x1到x4范围分别为(1到5),(2到7)(3-11),(4-10),当y最大时的x1,x2,x3,x4,请写出代码,
用matlab计算y=x1+x1*x2+x3-x2*x3+x3*x4+134,其中x1到x4范围分别为(1到5),(2到7)(3-11),(4-10),当y最大时的x1,x2,x3,x4,请写出代码,
显然y>0;
用fmincon,求最小值
取y=-(x(1)+x(1)*x(2)+x(3)-x(2)*x(3)+x(3)*x(4)+134);
那么求出来的就是y的最大值
function y=OptimFun(x)
y=-(x(1)+x(1)*x(2)+x(3)-x(2)*x(3)+x(3)*x(4)+134);
%%%%%%%%%%%%%%%%%%%%%%
clc;clear;
[x,fval]=fmincon(@OptimFun,[1 2 3 4],[],[],[],[],[1 2 3 4],[5 7 11 10])
x =
5 2 11 10
fval =
-248
那么
y=-fval=248
%%%%%%%%%%%%%
可以用循环验证一下
clc;clear;
y=zeros(4*5*8*6+1);
y(1)=0;
for j=1:4*5*8*6;
for x1=1:1:5
for x2=2:1:7
for x3=3:1:11
for x4=4:1:10
y(j+1)=x1+x1*x2+x3-x2*x3+x3*x4+134;
if y(j+1)>y(j)
yy=y(j+1);
a=x1;b=x2;c=x3;d=x4;
j=j+1;
end
end
end
end
end
end
yy
yy =
248
用fmincon,求最小值
取y=-(x(1)+x(1)*x(2)+x(3)-x(2)*x(3)+x(3)*x(4)+134);
那么求出来的就是y的最大值
function y=OptimFun(x)
y=-(x(1)+x(1)*x(2)+x(3)-x(2)*x(3)+x(3)*x(4)+134);
%%%%%%%%%%%%%%%%%%%%%%
clc;clear;
[x,fval]=fmincon(@OptimFun,[1 2 3 4],[],[],[],[],[1 2 3 4],[5 7 11 10])
x =
5 2 11 10
fval =
-248
那么
y=-fval=248
%%%%%%%%%%%%%
可以用循环验证一下
clc;clear;
y=zeros(4*5*8*6+1);
y(1)=0;
for j=1:4*5*8*6;
for x1=1:1:5
for x2=2:1:7
for x3=3:1:11
for x4=4:1:10
y(j+1)=x1+x1*x2+x3-x2*x3+x3*x4+134;
if y(j+1)>y(j)
yy=y(j+1);
a=x1;b=x2;c=x3;d=x4;
j=j+1;
end
end
end
end
end
end
yy
yy =
248
y x1 x2 x3 x4
matlab习题,解下列方程组x1+x2+x3+x4=02x1+3x2-x3-x4=23x1+2x2+x3+x4=53x
已知y=4.26X1-2(X2+X3+X4) 且X2>X1 X3>X1 X4>X1 X1+X2+X3+X4=M 求M最小
若Max f(x)=x1*x2+x3+x4且约束条件x4=x1*x2,x2=x1+x3在MATLAB中编程
min= X1+X2+X3+X4+X5
X1+2X2-X3+X4=1
x1+x3+x4=7 x2+x3+x4=6 x2+x1+x4=8 x2+x1+x3=9 求x1 x2 x3 x4 是多少
MATLAB 求五元一次函数的最大值对应的x1 x2 x3 x4 x5的值
已知正整数x1 、 x2 、x3 、 x4 、 x5、,且x1 + x2 + x3+ x4 + x5= x1 x2 x3
(x1+x2+x3+...+xn-1)(x2+x3+x4+...+xn)-(x2+x3+x4+...+xn-1)(x1+
用初等行变换方法求下列线性方程组 x1-x2+x3-x4=1 x1-x2-x3+x4=0 x1-x2-2x3+2x4=-
求线性方程组 x2-x3-x4=0 x1+x2-x3+3x4=1 x1-x2+x3+5x4=-1 x1+2x2-2x3+