matlab求多元函数的最大值y=f(x1,x2,x3,x4),x1可取16个值,x2可取16个值(与x1 16个值相同相同),x3可取16个值(与x1 16个值相同相同),x4可取16个值(与x1 16个值相同相同),怎样用matlab求y值最大时x1,x2
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/25 07:52:38
matlab求多元函数的最大值y=f(x1,x2,x3,x4),x1可取16个值,x2可取16个值(与x1 16个值相同相同),x3可取16个值(与x1 16个值相同相同),x4可取16个值(与x1 16个值相同相同),怎样用matlab求y值最大时x1,x2
matlab求多元函数的最大值
y=f(x1,x2,x3,x4),x1可取16个值,x2可取16个值(与x1 16个值相同相同),x3可取16个值(与x1 16个值相同相同),x4可取16个值(与x1 16个值相同相同),怎样用matlab求y值最大时x1,x2,x3,x4的值
matlab求多元函数的最大值y=f(x1,x2,x3,x4),x1可取16个值,x2可取16个值(与x1 16个值相同相同),x3可取16个值(与x1 16个值相同相同),x4可取16个值(与x1 16个值相同相同),怎样用matlab求y值最大时x1,x2
这是一个16*16*16*16的4维解空间,用65536个可行解,全部遍历一般就可以了.
用meshgrid可以帮助生成解空间:
x1 = [...]; % x1定义为所有可能取值组成的向量,x2 x3 x4 都是这么定义
[X1,X2,X3,X4] = meshgrid(x1,x2,x3,x4);
x1=[...] ;16个可取值
x2=x1;
x3=x1;
x4=x1;
mf=f(x1(1),x2(1),x3(1),x4(1));
for i=1:16
for j=1:16
for k=1:16
for l=1:16
mt=f(x1(i)...
全部展开
x1=[...] ;16个可取值
x2=x1;
x3=x1;
x4=x1;
mf=f(x1(1),x2(1),x3(1),x4(1));
for i=1:16
for j=1:16
for k=1:16
for l=1:16
mt=f(x1(i),x2(j),x3(k),x4(l));
if mf
xm=[x1(i),x2(j),x3(k),x4(l)];
end
end
end
end
end
;xm为y值最大时x1,x2,x3,x4的值所构成的向量
收起