生成布朗运动随机序列代码,求修改。
12 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
代码段红色标示的符号是什么意思?运行结果中的警告和错误是指什么?怎样修改?
function data = BrownM( Npoints, Mean, Std, Opt )
dt=1;
% dt时间变化
% 选择项,Opt=1 生成一维随机数, Opt=2 生成二维随机数
if Opt == 1
%%
% standard Brownian motion
data = [0 cumsum(dt^0.5.*random('Normal', Mean, Std, 1, Npoints))];
% 生成服从正态分布的随机数, Mean 均值, Std 方差, 1, Npoints, 一行Npoints个
% cumsum为累加函数
% 画图
figure
plot(0:Npoints, data);
else if Opt == 2
data = cumsum([zeros(1,3);dt^0.5*random('Normal', Mean, Std, Npoints-1,3)]);
% 画图
figure
plot3(data(:,1), data(:,2), data(:,3), 'k');
% 根据数值设定画图点的颜色
pcol = (data-repmat(min(data), Npoints, 1))/...
repmat(max(data)-min(data), Npoints, 1);
% 叠加画图
hold on ;
scatter3(data(:,1), data(:,2), data(:,3),...
10, pcol, 'filled');
% 显示网格
grid on;
hold off;
else
error('Opt = 1 or Opt = 2')
end
end
运行结果如下
dataA=BrownM(Npoints, Mean, Std, Opt); (其中参数值分别为1000, 0, 1 , 2)Warning: Rank deficient, rank = 1, tol = 2.794952e-14. > In BrownM at 22 Error using scatter3 (line 77)C must be a single color, a vector the same length as X, or an M-by-3 matrix.
Error in BrownM (line 26) scatter3(data(:,1), data(:,2), data(:,3),...
0 Kommentare
Akzeptierte Antwort
bejapp
am 16 Nov. 2022
你这个是pcol设定出了问题,因为原作者的用意无从考证,我就按照自己的想法随便帮你改动了一下
function data = BrownM( Npoints, Mean, Std, Opt )
dt=1;
% dt时间变化
% 选择项,Opt=1 生成一维随机数, Opt=2 生成二维随机数
if Opt == 1
%%
% standard Brownian motion
data = [0 cumsum(dt^0.5.*random('Normal', Mean, Std, 1, Npoints))];
% 生成服从正态分布的随机数, Mean 均值, Std 方差, 1, Npoints, 一行Npoints个
% cumsum为累加函数
% 画图
figure
plot(0:Npoints, data);
else if Opt == 2
data = cumsum([zeros(1,3);dt^0.5*random('Normal', Mean, Std, Npoints-1,3)]);
% 画图
figure
plot3(data(:,1), data(:,2), data(:,3), 'k');
% 根据数值设定画图点的颜色
% pcol = (data-repmat(min(data), Npoints, 1))/...
% repmat(max(data)-min(data), Npoints, 1);
pcol = sum(data,2);
% 叠加画图
hold on ;
scatter3(data(:,1), data(:,2), data(:,3),...
10, pcol, 'filled');
% 显示网格
grid on;
hold off;
else
error('Opt = 1 or Opt = 2')
end
end
结果如附图所示
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu 描述性统计量 finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!