cheery19841218 发表于 2009-2-17 10:58

关于一个无效字符

key1=0.01; key2=0.02; x=zeros(1,30);
%x2=zeros(1,30);
%r=data1; %%定义变量空间
for t=M:-1:1;
   x(1)=key1;
for n=1:M-1;
   x(n+1)=1-2*x(n)^2;
       n=n+1
  end;
end

问题出在这两行,老说x(1)在matlab 中是无效的
请问怎么改

[ 本帖最后由 ChaChing 于 2009-2-17 11:20 编辑 ]

ChaChing 发表于 2009-2-17 11:24

LZ的for t=M:-1:1;中M忘记定义了!
猜测程序应如下
key1=0.01; key2=0.02; x=zeros(1,30); M=30;
for t=M:-1:1
    x(1)=key1;
    for n=1:M-1, x(n+1)=1-2*x(n)^2; n=n+1;end;
end
x

[ 本帖最后由 ChaChing 于 2009-2-17 11:27 编辑 ]

wwbeyondww 发表于 2009-2-17 12:19

这种for循环比较奇怪,呵呵
for n=1:M-1,
...
n=n+1;
...
end

cheery19841218 发表于 2009-2-17 14:09

回复 沙发 ChaChing 的帖子

这个是忘记贴出来了,程序中有
真是奇怪。。。:@Q

friendchj 发表于 2009-2-17 15:10

回复 楼主 cheery19841218 的帖子

我重写了那个循环,发现可以运行,怀疑可能是输入法造成的问题,既不是在英文状态下输入的

ChaChing 发表于 2009-2-17 16:12

回复 板凳 wwbeyondww 的帖子

的确很怪! LZ好眼力!

friendchj 发表于 2009-2-17 16:30

回复 6楼 ChaChing 的帖子

其实n=n+1是可以不要的,加上之后有C语言的痕迹,呵呵

ChaChing 发表于 2009-2-17 16:31

回复 5楼 friendchj 的帖子

的确我亦重写过!
没定义M可以运行吗?

friendchj 发表于 2009-2-17 16:35

回复 8楼 ChaChing 的帖子

M是必须定义的,要不然不能运行

clc
clear
key1=0.01;
key2=0.02;
x=zeros(1,30);
M=30;
%x2=zeros(1,30);
%r=data1; %%定义变量空间
for t=M:-1:1
    x(1)=key1;
    for n=1:M-1
      x(n+1)=1-2*x(n)^2;
%         n=n+1;
    end
end
disp(x(1:5))

~~~~~~~~~~~~~~~~~~~~~~~~
运行结果: 0.0100    0.9998   -0.9992   -0.9968   -0.9872

[ 本帖最后由 friendchj 于 2009-2-17 16:37 编辑 ]
页: [1]
查看完整版本: 关于一个无效字符