matlab题目,实在不会了,请大家助我一臂之力,谢谢大家。334913691676946649
最后一题的第2问有问题,没解决。其他的都完成了
clear all;
%% 第一题
A1 = [8,10,12,28,30,32];
A2 = [1,2,3,4,5,6,7,8,9,10,11,12];
b1 = 4;
b2 = 2;
for i = 1 : 1000
w(i) = roulette(b1, A1, b2, A2);
end
% 统计
t = tabulate(w);
% 平均值
mean = t(:,1)'*t(:,3)/100;
% 方差
v = 0;
n = size(t,1);
for i = 1 : n
v = v + (t(i,1)-mean)^2 * t(i,3)/100;
end
% 实际
t1 = zeros(4,2);
t1(1,:) = [-6, 23/38];
t1(2,:) = [-2, 9/38];
t1(3,:) = [14, 3/38];
t1(4,:) = [18, 3/38];
% 平均值
mean_act = t1(:,1)'*t1(:,2);
% 方差
v_act = 0;
n = size(t1,1);
for i = 1 : n
v_act = v_act + (t1(i,1)-mean_act)^2 * t1(i,2);
end
%% 第二题
A=[10,2,14,12,20,38,100;
12,0,12,25,35,60,55;
5,3,11,0,5,14,0;
7,9,25,5,15,47,35;
0,1,2,25,5,33,6;
25,5,35,5,35,55,50;
9,4,17,25,2,39,25;
6,5,16,10,10,35,10;
8,2,12,0,0,6,20];
b=[0;0;0;0;0;0;0;0;0];
k=null(A,'r');
% 3号可由1、2配置(x3=x1+2x2)
% 6号可由2、4、5配置(x6=3x2+x4+x5)
b1=[14;0;5;12;8;40;15;10;8];
b2=[25;40;16;8;20;10;6;0;4];
format rat
a_rank = rank(A);
a_b1 = rank([A b1]);
if a_rank ~= a_b1
'不能配出1号新药'
end
a_b2 = rank([A b2]);
if a_rank ~= a_b2
'不能配出2号新药'
end
%% 第三题
f = [-1629;-1811;-2540;-1826;-1951;-1264];
fun = @(x)f'*x;
lb = [0,0,0,0,0,];
ub = [28,28,28,25,25,25];
A=[-1 0 0 -1 0 0;
0 -1 0 0 -1 0;
0 0 -1 0 0 -1;
0.05 0 0 -0.05 0 0;
0 0.005 0 0 -0.005 0;
0 0 -1 0 0 3];
b=[-20;-10;-14;0;0;0];
Aeq = [];
beq = [];
x = fmincon(fun,zeros(6,1),A,b,Aeq,beq,lb,ub)
%% 第四题
syms N(t) r1 r2
eqn=(diff(N,t)==r1*N-r2*sqrt(N));
cond = N(0) == 0;
N(t) = dsolve(eqn,cond)
x = [6:1:30]';
y =[296 369 362 431 391 489 527 563 689 753 823 869 1038 1119 1216 1354 1488 1600 1817 1993 2200 2428 2706 2947 3352]';
plot(x,y);
f=fittype('(r2 + exp((r1*(t + (2*log(-r2))/r1))/2))^2/r1^2','independent','t','coefficients',{'r1','r2'});
cfun = fit(x,y,f) %显示拟合函数,数据必须为列向量形式
%% 第一题
function w = roulette(b1, A1, b2, A2)
w = -b1 - b2;
num = unidrnd(38);
if ismember(num,A1)
w = w + b1 * (36-size(A1,2))/size(A1,2);
end
if ismember(num,A2)
w = w + b2 * (36-size(A2,2))/size(A2,2);
end
end
楼上的xd几乎解决了,最后一问楼主还需要加嘛?
syms N(t) r1 r2
eqn=(diff(N,t)==r1N-r2sqrt(N));
cond = N(0) == 0;
N(t) = dsolve(eqn,cond)
x = [6:1:30]';
y =[296 369 362 431 391 489 527 563 689 753 823 869 1038 1119 1216 1354 1488 1600 1817 1993 2200 2428 2706 2947 3352]';
plot(x,y);
f=fittype('(r2 + exp((r1*(t + (2*log(-r2))/r1))/2))^2/r1^2','independent','t','coefficients',{'r1','r2'});
cfun = fit(x,y,f)