matlab中矩阵中仿真问题,
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/20 01:00:04
matlab中矩阵中仿真问题,
需要模拟3种车型在两车道上行驶,其中有两种大车,占2个格子,1种小车占1个格子.
因此在矩阵zeros(2,100)中,
首先随机出现1种大车3辆(占2格)即假如使用randi函数随机到i,那么i-1同样要为1.
然后随机出现另外一种大车3辆,将数值更改为2(占2格子),
主要这里我不知道怎么处理.假如元素上面出现了1(第一种大车),则不能将占用,只能在元素为0的里面随机出现.
最后随机出现5辆小车,(上述不为1,2的元素),将其更改为3.其他没有占用的元素为0.
需要模拟3种车型在两车道上行驶,其中有两种大车,占2个格子,1种小车占1个格子.
因此在矩阵zeros(2,100)中,
首先随机出现1种大车3辆(占2格)即假如使用randi函数随机到i,那么i-1同样要为1.
然后随机出现另外一种大车3辆,将数值更改为2(占2格子),
主要这里我不知道怎么处理.假如元素上面出现了1(第一种大车),则不能将占用,只能在元素为0的里面随机出现.
最后随机出现5辆小车,(上述不为1,2的元素),将其更改为3.其他没有占用的元素为0.
clear
clc
a=zeros(2,100);
p=randperm(200);
a(p(1:5))=3;
for n=1:2
while 1
p=randint(1,1,[1 2]);
q=randint(1,1,[1 99]);
if a(p,[q q+1])==0
a(p,[q q+1])=n;
break;
end
end
end
a
clc
a=zeros(2,100);
p=randperm(200);
a(p(1:5))=3;
for n=1:2
while 1
p=randint(1,1,[1 2]);
q=randint(1,1,[1 99]);
if a(p,[q q+1])==0
a(p,[q q+1])=n;
break;
end
end
end
a