lingfei.kong 发表于 2007-7-19 18:59

很简单的程序出了问题,请大家帮忙

我想给矩阵赋值,发现一个有趣的问题,列向量没有顺序递增!

x=zeros(4,4);

for i=1:4
    for j=1:4
      if j==1
      for w=0:1:4
         x(i,j)=w+0.1;
      end
      end
      j=j+1;
    end
end

[ 本帖最后由 eight 于 2007-7-20 11:41 编辑 ]

w89986581 发表于 2007-7-19 19:06

没有什么可郁闷的,你再整理一下思路。

[ 本帖最后由 eight 于 2007-7-20 11:41 编辑 ]

geoer 发表于 2007-7-19 22:17

没有发现你的程序有什么有趣之处 ,倒是很奇怪.

VibrationMaster 发表于 2007-7-20 06:55

有两个问题:
1。 if(j==1)--只有当j==1才执行里面的幅值
2。j=j+1;这种改变计数器的语句在for 循环中尽量避免

咕噜噜 发表于 2007-7-20 08:06

循环中尽量少使用i和j作循环,避免和虚数混淆,用l什么的

花如月 发表于 2007-7-20 09:35

回复 #1 lingfei.kong 的帖子

尝试向量化赋值

appleseed05 发表于 2007-7-20 10:56

for j=1:4
j=j+1

这样写不对的

eight 发表于 2007-7-20 11:42

原帖由 lingfei.kong 于 2007-7-19 18:59 发表 http://www.chinavib.com/forum/images/common/back.gif
我想给矩阵赋值,发现一个有趣的问题,列向量没有顺序递增!

x=zeros(4,4);

for i=1:4
    for j=1:4
      if j==1
      for w=0:1:4
         x(i,j)=w+0.1;
      end
      end
   ...

建议动手编写程序前,先看看基础书,掌握一定的语法
页: [1]
查看完整版本: 很简单的程序出了问题,请大家帮忙