, поэтому мне нужно создать функцию, которая отображает местоположение в зависимости от времени для человека, который совершает последовательные случайные прыжки. Каждый прыжок - одна единица справа с вероятностью R, а в остальном - одна единица слева. Аргументы должны быть R =, вероятно, прыгать на одну единицу вправо; a = начальное местоположение; и numjumps = число прыжков, которое делает индивид. Мне также необходимо использовать функцию binornd()
.MATLAB: построение случайного блуждания
Что я закодированы до сих пор:
function plot_sim(a,numjumps,R)
loc = a;
time = 0;
for i = 1:numjumps;
loc = loc + (2*binornd(1,R)-1);
time = time + 1;
hold on;
plot(time,loc,'-')
end
И я должен оценить его plot_sim(0,25,0.5)
. И я просто смущен, потому что, хотя у меня есть plot(time,loc,'-')
, он не строится как соединительные линии, он просто отображается как отдельные точки. Я попытался включить функцию plot вне цикла for, и это не сработает. Я даже пытался изменить цвета точек, и это даже не работает. Я кодирую это неправильно?
Проблема в том, что вы строите по одной точке за раз. Посмотрите документацию на график, чтобы посмотреть, как строить линии. –
@ A.Donda Я пытаюсь заставить это работать в течение 3 дней, и ничто из этого не поможет, поэтому я не знаю, что еще с ним делать. –
Чтобы построить линию, вам нужно дать сюжет командует несколькими точками * между *, которые должна быть линия, в виде векторов. Посмотрите на первый пример в [plot] (https://www.mathworks.com/help/matlab/ref/plot.html) и попытайтесь увидеть разницу между тем и тем, что вы делаете. –