MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   "一个累积求和的问题",请教高手 (https://www.labfans.com/bbs/showthread.php?t=3274)

spurs001 2008-05-27 10:17

"一个累积求和的问题",请教高手
 
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;
for i=1:4;
N(i)=(742./e(i))^10;
h(i)=N(i)./(f.*3600);
A=symsun(a(i)./h(i);
end;
for j=1:3;
N1(j)=(217./(e1(j)-414);
B=symsum(100.*m(j)./N1(j));
end;
L=a1*100/(A+B)
运行时总是说symsum有问题,我找不出问题啊,就是这个程序,只要能运行出结果,请帮忙点出错误,帮忙改一下啊

oneday2010 2008-06-08 22:11

A=symsun(a(i)./h(i);
这个程序行是不是要求:从1到a(i)/h(i)的和呢?
那么应该这样写吧
syms x
symsum(x,0,a(i)/h(i));
a(i)后无点
这两个相除后会取整,再求和的

yemaogong 2008-09-07 09:50

回复: "一个累积求和的问题",请教高手
 
怀疑你的程序有如下漏洞:
1.第3行少了一个"="号
2.第9行后面少了一个")"号
3.累计和A在for循环中只能用A=A+h(i),当然循环体外应有A=0;
4.求N1(j)的后面也少了一个")"号
5.累计和B在for循环中只能用B=B+h(i),当然循环体外应有B=0;
你改后试试看,应该出结果了。

yemaogong 2008-09-07 09:57

回复: "一个累积求和的问题",请教高手
 
帮人帮到底吧。改后程序如下:
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)
运行结果为:
L=-0.1125


所有时间均为北京时间。现在的时间是 14:10

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.