![]() |
"一个累积求和的问题",请教高手
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有问题,我找不出问题啊,就是这个程序,只要能运行出结果,请帮忙点出错误,帮忙改一下啊 |
A=symsun(a(i)./h(i);
这个程序行是不是要求:从1到a(i)/h(i)的和呢? 那么应该这样写吧 syms x symsum(x,0,a(i)/h(i)); a(i)后无点 这两个相除后会取整,再求和的 |
回复: "一个累积求和的问题",请教高手
怀疑你的程序有如下漏洞:
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; 你改后试试看,应该出结果了。 |
回复: "一个累积求和的问题",请教高手
帮人帮到底吧。改后程序如下:
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.