求极值问题(50分)

  • 主题发起人 主题发起人 may158
  • 开始时间 开始时间
M

may158

Unregistered / Unconfirmed
GUEST, unregistred user!
求极值问题
1<=n<=100 , 并且n属于自然数 ,1<k<90 , 并且k属于自然数 ,函数W(n,k),该函数是关于n和k的函数 ,求出一对n和k的值,令W(n,k)为极小值,如何求出这一对n和k的值?并求出W(n,k)的值?求出一对n和k的值,令W(n,k)为极大值,如何求出这一对n和k的值?并求出W(n,k)的值?

函数如下:
W(n,k)=3*sin(n*k*c-2)-0.5*cos(5*c*k+3)+cos(4*n*n*k*k*c*c+3)-sin(0.5*n*c)+sin(n*2+8)+cos(k*2.5+6) c为常数例如:c=11.23
 
两重循环,计算,比较
 
n=97,k=15,r=-0.438452998469828

procedure TForm1.Button1Click(Sender: TObject);
const c=11.23;
var k,n,k1,n1:byte
r,r1:real;
begin
r1:=0;
for n:=1 to 100 do for k:=1 to 90 do begin
r:=3*sin(n*k*c-2)-0.5*cos(5*c*k+3)+cos(4*n*n*k*k*c*c+3)-sin(0.5*n*c)+sin(n*2+8)+cos(k*2.5+6);
if r>r1 then begin
r1:=r;
k1:=k;
n1:=n;
end;
end;
Label1.Caption:='n='+inttostr(n1);
Label2.Caption:='k='+inttostr(k1);
Label3.Caption:='r='+floattostr(r);
end;
 
接受答案了.
 
后退
顶部