登录论坛

查看完整版本 : [讨论]求和的几个问题


yemaogong
2008-09-07, 11:01
一网友编写了一个不能运行的程序,研究后发现有5处错误,经修改后能顺利运行,结果为L=-0.1125。修改后的程序如下:
e=[111 222 333 444];
e1=[112 222 223];
a=[0.1 0.2 0.3 0.4];
m=[2 3 2];
a1=0.75;
f=6;A=0;B=0;
for i=1:4;
N(i)=(742./e(i))^10;
h(i)=N(i)./(f.*3600);
A=A+a(i)./h(i);
end;
for j=1:3;
N1(j)=(217./(e1(j)-414));
B=B+100.*m(j)./N1(j);
end;
L=a1*100/(A+B)
分析错误的根源,最主要的错误在于对几种求和函数的适用范围没有掌握,今总结如下:
1.函数sum(),适用向量、矩阵的求和。如是向量,得到各元素的和,是一个数。如是矩阵,得到各列的和,和数个数等于列数。
2.求级数的和symsum(f,v,a,b).必须给出表达式,变量,初值、终值。不能放在循环中。提问者就是犯了这种错误。
3.利用循环和+=运算,用for、while均可。循环体外必须首先赋初值0。