MATLAB问题,为什么我用hist函数出不来直方图?
代码如下:clearall;L=8;A=33;C=1;Y(1)=1;fori=2:(2^L+1)Y(i)=mod((A*Y(i-1)+C),(2^L));end;subp...
代码如下:
clear all;
L=8;
A=33;
C=1;
Y(1)=1;
for i=2:(2^L+1)
Y(i)=mod((A*Y(i-1)+C),(2^L));
end;
subplot(1,3,1);plot(Y,'*');
for i=1:(2^L+1)
U(i)=Y(i)/(2^L);
end;
subplot(1,3,2);plot(U,'*');
for i=1:(2^L+1)
X(i)=-log(U(i));
end;
subplot(1,3,3);plot(X,'*');
dx=0.0001;
x=0:dx:6;
figure(2);
hist(X,x);
其中数组U服从0~1上的均匀分布(使用了混合同余法),数组X服从λ=1的负指数分布,为什么我用hist函数得不到直方图?对MATLAB不是很熟悉,请大神指教! 展开
clear all;
L=8;
A=33;
C=1;
Y(1)=1;
for i=2:(2^L+1)
Y(i)=mod((A*Y(i-1)+C),(2^L));
end;
subplot(1,3,1);plot(Y,'*');
for i=1:(2^L+1)
U(i)=Y(i)/(2^L);
end;
subplot(1,3,2);plot(U,'*');
for i=1:(2^L+1)
X(i)=-log(U(i));
end;
subplot(1,3,3);plot(X,'*');
dx=0.0001;
x=0:dx:6;
figure(2);
hist(X,x);
其中数组U服从0~1上的均匀分布(使用了混合同余法),数组X服从λ=1的负指数分布,为什么我用hist函数得不到直方图?对MATLAB不是很熟悉,请大神指教! 展开
2015-10-08
更多追问追答
追答
在clear all后面加上close all; clc; 试试,看看是不是其他参数的影响
看下你的程序里X是什么值,我这边运行的X是1行257列的向量
代码:
clear all
close all
clc
L=8;A=33;
C=1;
Y(1)=1;
for i=2:(2^L+1)
Y(i)=mod((A*Y(i-1)+C),(2^L));
end
subplot(1,3,1);
plot(Y,'*');
for i=1:(2^L+1)
U(i)=Y(i)/(2^L);
end
subplot(1,3,2);
plot(U,'*');
for i=1:(2^L+1)
X(i)=-log(U(i));
end
subplot(1,3,3);
plot(X,'*');
dx=0.0001;
x=0:dx:6;
figure(2);
hist(X);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询