我在MATLAB中制作一个Mersenne Generator,我使用的代码如下:
%// Define parameters
a=65539;
c=0;
x0=1;
m=2^31;
%// Calculate sequence using recursion relation
xn=zeros(20000,1);
for i=1:20000
xn(i)=mod(a*x0+c,m);
x0=xn(i);
end
%// Divide by m to give real numbers between 0 and 1
un=xn/m;
%// Plot 3-tuples of the u_i in 3D space
plot3(un(1:end-2),un(2:end-1),un(3:end),’b.’);
xlabel(’u_i’); ylabel(’u_{i+1}’); zlabel(’u_{i+2}’); grid(’on’);
当我在MATLAB中运行它时,它给出了以下错误:
plot3(un(1:end-2),un(2:end-1),un(3:end),’b.’);
错误:输入字符在MATLAB语句或表达式中无效。
任何帮助都将不胜感激。
答案 0 :(得分:4)
plot
代码末尾的单引号是MATLAB不接受的unicode版本。这可能是因为您复制并粘贴了Microsoft Word或其他文本编辑器中的代码,这些编辑器将单引号转换为那些搞砸的字符。
实际上使用单引号字符:
plot3(un(1:end-2),un(2:end-1),un(3:end),'b.');
%// ^ ^
xlabel('u_i'); ylabel('u_{i+1}'); zlabel('u_{i+2}'); grid('on');
%// ^ ^ ^ ^ ^ ^ ^ ^