Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2009-07-15, 10:14   #1
xjtu713
初级会员
 
注册日期: 2008-12-24
年龄: 46
帖子: 6
声望力: 0
xjtu713 正向着好的方向发展
默认 级数求和的问题!

帮忙看一下这段代码,为什么不能实现?
式中:n就是一个离散点数,给定具体n值后,就会得出n个s 和F的函数值,s1是对于给定的n值所得的实部,s2是所得到的虚部,在这一项D=2*exp(a*t)*(symsum(s1,n,1,5000)-symsum(s2,n,1,5000)-0.5*s3);中,我就是想实现当取n从1取到5000,把s1计算出来的实部全部相加,s2把虚部相加,由于我也是初学,这样简单的问题也没搞定,希望大家给我看看那里有错误?


syms n F s1 s2 s3 a T k L u m g F1 D t
for t=1:0.1:10
s = a + 2*n*pi*i/T;
m = 500;
k = 100000;
u = 0.01;
T = 20;
L = 5000;
a = 0.5;
g = 9.8;
F = -k*m*s*u*(m*s*s+2*k)/((m*s*s+k)*(m*s*s+2*k)-k*k)+2*m*g/s;
F1 = -k*m*s*u*(m*a*a+2*k)/((m*a*a+k)*(m*a*a+2*k)-k*k)+2*m*g/a;
s1=real(F*cos(2*n*pi*t/T));
s2=imag(F*sin(2*n*pi*t/T));
s3=real(F1);
D=2*exp(a*t)*(symsum(s1,n,1,5000)-symsum(s2,n,1,5000)-0.5*s3);
end
plot(t,D,'-')
hold on
xjtu713 当前离线   回复时引用此帖
旧 2009-07-15, 16:10   #2
TTT_IOU
普通会员
 
注册日期: 2009-02-22
帖子: 91
声望力: 18
TTT_IOU 正向着好的方向发展
默认 回复: 级数求和的问题!

你的s3是做什么用,里面也有n的,是对n求和还是什么?
TTT_IOU 当前离线   回复时引用此帖
旧 2009-07-15, 16:40   #3
xjtu713
初级会员
 
注册日期: 2008-12-24
年龄: 46
帖子: 6
声望力: 0
xjtu713 正向着好的方向发展
默认 回复: 级数求和的问题!

s3也是取F1的实部,其实F1就是一个实数
xjtu713 当前离线   回复时引用此帖
旧 2009-07-15, 16:47   #4
xjtu713
初级会员
 
注册日期: 2008-12-24
年龄: 46
帖子: 6
声望力: 0
xjtu713 正向着好的方向发展
默认 回复: 级数求和的问题!

S3 只是在取不同的t时,s3被(symsum(s1,n,1,5000)-symsum(s2,n,1,5000)-0.5*s3)减一次,
xjtu713 当前离线   回复时引用此帖
旧 2009-07-17, 23:13   #5
silas_xue
高级会员
 
注册日期: 2008-11-01
年龄: 39
帖子: 406
声望力: 26
silas_xue 是一个将要出名的人
默认 回复: 级数求和的问题!

lz 能否把你在运行该段程序时显示的matlab的整句错误提示贴上来 大家一起讨论一下
silas_xue 当前离线   回复时引用此帖
旧 2009-07-18, 12:34   #6
TTT_IOU
普通会员
 
注册日期: 2009-02-22
帖子: 91
声望力: 18
TTT_IOU 正向着好的方向发展
默认 回复: 级数求和的问题!

s3中有n,而你没对n作操作,所以没法得到结果
TTT_IOU 当前离线   回复时引用此帖
旧 2009-07-20, 10:21   #7
xjtu713
初级会员
 
注册日期: 2008-12-24
年龄: 46
帖子: 6
声望力: 0
xjtu713 正向着好的方向发展
默认 回复: 级数求和的问题!

我写错了,不好意思,F1中的那个s是a。我写错了,要是a
的化,就可以得到把
xjtu713 当前离线   回复时引用此帖
旧 2009-07-21, 00:19   #8
TTT_IOU
普通会员
 
注册日期: 2009-02-22
帖子: 91
声望力: 18
TTT_IOU 正向着好的方向发展
默认 回复: 级数求和的问题!

试试这样:
syms n
T = 20;
m = 500;
k = 100000;
u = 0.01;
L = 5000;
a = 0.5;
g = 9.8;
s = a + 2*n*pi*i/T;
w=0;
for t=1:0.1:10
w=w+1;
F = -k*m*s*u*(m*s*s+2*k)/((m*s*s+k)*(m*s*s+2*k)-k*k)+2*m*g/s;
F1 = -k*m*a*u*(m*a*a+2*k)/((m*a*a+k)*(m*a*a+2*k)-k*k)+2*m*g/a;
s1=real(F*cos(2*n*pi*t/T));
s2=imag(F*sin(2*n*pi*t/T));
s3=real(F1);
f1=symsum(s1,n,1,5000);%%5000的话数值太大,很耗时间的,机子需要时间的
f2=symsum(s2,n,1,5000);
D(w)=2*exp(a*t)*(f1-f2-0.5*s3);
end
t=1:0.1:10;
plot(t,double(D))
TTT_IOU 当前离线   回复时引用此帖
旧 2009-07-21, 10:58   #9
xjtu713
初级会员
 
注册日期: 2008-12-24
年龄: 46
帖子: 6
声望力: 0
xjtu713 正向着好的方向发展
默认 回复: 级数求和的问题!

谢谢楼主的答复,我运行可一下,的确很慢,还有就是在end后面的t=1:0.1:10;是不是不需要了把,前面已经有个循环了
xjtu713 当前离线   回复时引用此帖
回复

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 22:31


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