博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

我的作业

Posted on 2016-03-23 21:05  shaoweiyi  阅读(200)  评论(0编辑  收藏  举报

1.

(1)

A(保存为Afun1.m

 function f = Afun1(x) ;

 f=(x^2-1)*(x<=-5)+(x*cos(x))*(x>-5&x<5)+(x+5)*(x>=5);

B  y=@(x) (x^2-1)*(x<=-5)+(x*cos(x))*(x>-5&x<5)+(x+5)*(x>=5);

C  y=@(x) (x.^2-1).*(x<=-5)+(x.*cos(x)).*(x>-5&x<5)+(x+5).*(x>=5);

 

(2)

A

clc,clear

a=1;

x=[-15:0.1:15];

while a<=301

   z(a)=Afun1(x(a));

   a=a+1;

end

z

B

clc,clear

y=@(x) (x^2-1)*(x<=-5)+(x*cos(x))*(x>-5&x<5)+(x+5)*(x>=5);

a=1;

x=[-15:0.1:15];

while a<=301

   z(a)=y(x(a));

   a=a+1;

end

z

 

C   x=[-15:0.1:15]; z=y(x);

(3)  

A:      fplot('Afun1',[-15,15]);

BC:   fplot(y,[-15,15]);

 

(4)

在第二问代码的基础上

ABplot(x,z);

Cplot(x,z);

 

2

rand(‘state’,sum(clock));

a=rand(3,5);

b=rand(4,7);

c=rand(6,9);

ma=max(max(a));

[ax,ay]=find(a==max(max(a)));

mb=max(max(b));

[bx,by]=find(b==max(max(b)));

mc=max(max(c));

[cx,cy]=find(c==max(max(c)));

 

3

 

y=@(x) sin(x).*x;

fplot(y,[0,100]);

%16个极小值点

%估计位置

 

clc,clear

y=@(x) sin(x).*x;

x0=[5,10,18,22,30,37,41,49,55,61,68,74,80,87,92,99];

[x1,yval]=fminunc('y',5);

 

第四题

给出模型:

(符号说明)

 

(模型)

        

给出代码:

clc,clear

c=[1,0,0,0,1,0,1,0;

    1,1,0,0,1,0,0,1;

    1,0,1,0,1,0,0,0;

    0,1,0,1,0,0,0,1;

    0,0,1,0,0,1,0,0;

    0,0,0,1,0,1,0,1;

];

c=-c;

c=c';

%c'A

b=ones(8,1);

b=-b;

f=ones(6,1);

ub=ones(6,1);

lb=zeros(6,1);

intcon=1:6;

[x,val]=intlinprog(f,intcon,c,b,[],[],lb,ub);

运算结果:

x =[1,0,0,1,1,0]’

val = 3;

 

【问题转化】

分别给学生数量为34,29,42,21,56,18,71的点标号为1~7

1~2,3; 2~3,4,5; 3~4; 4~5,6,7; 5~6;6~7的边标号为 1~11

则第i边的权值为63,76,71,50,85,63,77,39,92,74,89

可以证明 应当不能取到重顶点

问题转化为在这11条边上任选两条,求在不取到重顶点的情况下,所取权值最大的两条边

【符号说明】

fi代表第i条边的权值

Xi代表是否选i(是为1,否为0

【建立模型】

Max fi*Xi

 s.t     

       

       

【代码如下】

clc,clear

f=[-63;-76;-71;-60;-85;-63;-77;-39;-98;-74;-89];intcon=11;

a=[1 1 0 0 0 0 0 0 0 0 0;

   1 0 1 1 1 0 0 0 0 0 0;

   0 1 1 0 0 1 0 0 0 0 0;

   0 0 0 1 1 1 1 1 1 0 0;

   0 0 0 0 1 0 1 0 0 1 0;

   0 0 0 0 0 0 0 1 0 1 1;

   0 0 0 0 0 0 0 0 1 0 1];

b=ones(7,1);

aeq=ones(1,11);beq=2;

lb=zeros(11,1);ub=ones(11,1);

[x,fval]=intlinprog(f,intcon,a,b,aeq,beq,lb,ub)

val=-fval

【结果如下】

LP:                Optimal objective value is -174.000000.

 

x =[ 0  1  0  0  0  0  0  0  1  0  0]’

fval =-174

val =174