kira23 发表于 2008-10-10 10:28

嵌套循环变量长度不一致怎么办呢?

各位高手,初学者请教:
a=1;c=a;b=2.7;x=1480;z=x;y=6262;l=0.02;for f=0:5000000:25000000 for t=0:0.01:pi/2
X=(1-a.*sqrt(x^2-z^2*(sin(t)).^2)./c./z./(cos(t))).^2.*(1+cos(4*pi*f*l/y))./2

两个变量f 和t 长度不一致,结果X运行出来不是数组,怎么修改呢?
恳请赐教,在线等....

sigma665 发表于 2008-10-10 14:09

回复 楼主 kira23 的帖子

你这个是matlab吗?
2重循环?

kira23 发表于 2008-10-10 16:44

是啊,是双重循环,就是公式复杂了点
呵呵

sigma665 发表于 2008-10-10 16:59

回复 板凳 kira23 的帖子

双重循环,每次都覆盖了前一次的结果
不过没有end,运行不了吧

kira23 发表于 2008-10-10 17:07

我没有在这里写end。怎么才能不覆盖呢?
有没有办法先创建个数组X呢?

qingqing5638 发表于 2008-10-10 18:41

回复 楼主 kira23 的帖子

a=1;c=a;b=2.7;x=1480;z=x;y=6262;l=0.02

f=linspace(0,25000000,6)
for n=1:length(f)
t=linspace(0,pi,158)
for m=1:length(t)
X(n,m)=(1-a.*sqrt(x^2-z^2*(sin(t(m))).^2)./c./z./(cos(t(m)))).^2.*(1+cos(4*pi.*f(n).*l/y))./2
end
end

[ 本帖最后由 qingqing5638 于 2008-10-10 18:48 编辑 ]

科技在线 发表于 2008-10-10 18:50

控制流极其重要,因为它使过去的计算影响将来的运算。MATLAB提供三种决策或控制流结构。它们是:For循环,While循环和If-Else-End结构。由于这些结构经常包含大量的MATLAB命令,故经常出现在M文件中,而不是直接加在MATLAB提示符下。
页: [1]
查看完整版本: 嵌套循环变量长度不一致怎么办呢?