t = 0.001:0.001:0.001*i
x = sin(2*pi*50*t)+sin(2*pi*120*t)
s=x.*(1*Y(:,1))'袜饥此告迅肢租
plot(x)
% 本程序为基于matlab的动画绘制实例% 通过设置句柄来达到理想d簧振子简谐运动示例
% 其核心思想是句柄、数据设置、演示延迟等% 理想d簧振子简谐运动
clcclear allclose all% 清理族颂蚂matlab空间
figurehold onbox on% 打开figure窗口
% 绘制矩形框,作为顶板
rectangle('position', [12, 8.5, 2, 0.3], 'FaceColor', [0.5,0.3,0.4])
% 设置坐标轴
axis([0, 15, -1, 10])
% 绘制直线
plot([13,13], [7,8.5], 'r', 'linewidth', 2)
% 画d簧
y = 2:.2:7
M = length(y)% y的长度
x = 12+mod(1:M,2)*2
x(1) = 13
x(end-3:end) = 13% 直线数据
D = plot(x,y)
% 画小球
C = 0:.1:2*pi
r = 0.35
t1 = r*sin(C)
F1 = fill(13+r*cos(C),2+t1,'r')
% 设置坐标轴属性
set(gca, 'ytick', [0:2:9])
set(gca, 'yticklabels', num2str([-1:3]'))
% 绘制中间横线
plot([0,15], [3.3,3.3], 'black')
% 绘制中间横线,此时为绿色线
H1 = plot([0,13], [3.3,3.3], 'g')
% 运动曲线
Q = plot(0,3.8,'color','r')
td = []
yd = []
T = 0
% 字符标签
text(2, 9, '理想中的d簧振子简谐振动', 'fontsize', 16)
set(gcf, 'doublebuffer', 'on')
while T <12
% 设置时间延迟
pause(0.2)
Dy = (3/2-1/2*sin(pi*T))*1/2
Y = -(y-2)*Dy+7
Yf = Y(end)+t1
td = [td,T]% 保存数据兆埋
yd = [yd,Y(end)]% 保存数据
set(D, 'ydata', Y)% 设置数据
set(F1, 'ydata', Yf, 'facecolor', rand(1,3))% 设置小球
set(H1, 'xdata', [T,13], 'ydata', [Y(end),Y(end)])% 设置横轴
set(Q, 'xdata', td, '樱笑ydata', yd)% 绘制运动曲线
T = T+0.1
end
可以采用Box_Muller的方法。
Box-Muller方法是以两组独立的随机数U和V,这两组数在(0,1]上均匀分布,用U和V生成两组独立的标准常态分布随机变量X和Y
x=sqrt((-2)*ln(U))*cos(2*pi*V)
Y=sqrt((-2)*ln(U))*sin(2*pi*V)
matlab 程序
function Norm_Distribution_Box_Mullerclear allclc%清屏
m=input('请输入平均值:')
n=input('请输入标准差:')
t=input('请输入数据长度:') %产生正态分布的随机数
for i=1:t
a=rand 行迟
b=rand
X1(i)=sqrt((-2)*log(a))*cos(2*pi*b)
X2(i)=sqrt((-2)*log(a))*sin(2*pi*b)
Y1=X1*n+m
Y2=X2*n+m
end
disp(Y1) %求平均值和标准差
M1=mean(Y1) N1=std(Y1) disp(M1) disp(N1) disp(Y1) %求平均值和标准差
M2=mean(Y2) N2=std(Y2) disp(M2) disp(N2) %将数据写入文本文件
fid=fopen('xiefei1.dat','w') Z1=Y1 fprintf(fid,'%f\t',Z1)
fclose(fid) %将数据写入文本文件
fid=fopen('xiefei2.dat','w') Z2=Y2
fprintf(fid,'%f\t',Z2) fclose(fid)
%绘图
subplot(2,1,1) histfit(Y1)
xlabel('随机数码带稿') ylabel('出现的次数')
%绘图
subplot(2,1,2)histfit(Y2)
xlabel('随机数')ylabel('出现的次数')
%检验
h1=lillietest(Y1)%若结果h1为1,则说明零假设不成立,拒绝零假设;否迟孝则,结果为0,零假设成立,即原分布为正态分布
disp(h1)
h2=lillietest(Y2)%若结果h2为1,则说明零假设不成立,拒绝零假设;否则,结果为0,零假设成立,即原分布为正态分布
disp(h2)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)