matlab程序不知道哪里错了,求大神

2024-12-02 23:37:45
推荐回答(1个)
回答(1):

clear,clc
t(1)=0;
vs(1)=0;
vx(1)=0;
xr(1)=0;
nr(1)=0;
tp(1)=0;
mr(1)=0;
sr(1)=0;
st(1)=0;
xt(1)=0;
tc(1)=0;
tp(1)=0;
tp1(1)=0;
sr1(1)=0;
for n=2:1:26
t(n)=(3-(-3))*rand(1)-3; % t(n)=unidrnd(-3,3) ------------ 随机数更改了一下
vs(n)=(7/60-1/60)*rand(1)+1/60; % vs(n)=unidrnd(1/60,7/60)
vx(n)=(1/5-1/15)*rand(1)+1/15; % vx(n)=unidrnd(1/15,1/5)
xr(n)=(7-3)*rand(1)+3; % xr(n)=unidrnd(3,7)
nr(n)=(50-20)*rand(1)+20; % nr(n)=unidrnd(20,50)
mr(n)=50-nr(n)+xr(n);
sr(n)=mr(n);
st(n)=sr(n).*vs(n);
xt(n)=xr(n).*vx(n);
tc(n)=st(n)+xt(n);
tp(n)=30-t(n-1)+t(n)-tc(n-1)+t(n);
tp1(n)=tp(n).*0.4;
dr(n)=poissrnd(tp1(n));
if dr(n)<=mr(n)
sr1(n)=0;
else sr1(n)=dr(n)-mr(n);
end
end
[[1:n-1]',dr(2:end)',sr(2:end)',sr1(2:end)']

你试一试这个,是不是你想要的