声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1056|回复: 7

[编程技巧] 请教一个关于循环的小问题

[复制链接]
发表于 2010-4-19 11:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
y=cos(2*pi*k*j/N)其中,N为常数,k为整数,即在整数范围内变化。比如可以取k=4,5,6,..........,20.j=1,2,.........,N-1. 常数N可以任设一个数,不影响的。比如可以设N=20。请问这个可以怎么写呀?拜托各位大侠帮帮忙啦!! 小弟感激不尽啦!!

[ 本帖最后由 liushuiwuxin 于 2010-4-19 11:11 编辑 ]
回复
分享到:

使用道具 举报

发表于 2010-4-19 11:24 | 显示全部楼层
真的不太明白LZ确实要的!?
了不起两个for loop解决
 楼主| 发表于 2010-4-19 22:12 | 显示全部楼层
呵呵  是用两个for解决问题了
 楼主| 发表于 2010-4-19 22:15 | 显示全部楼层

各位帮我看看这个程序吧

N=2000; T=20; a=0.25;
tt=T/N; j=[1:N]; tj=j*tt;      % t相当于j
k=[0:N-1]; sk=a+i*2*pi*k/T;
for m=1:N
    for n=1:N
      Y(m,n)=cos(k(m)*j(n)*2*pi/N);
      Z(m,n)=i*sin(k(m)*j(n)*2*pi/N);
    end
end
YY=sum(Y)
ZZ=sum(Z)
为什么Y(m,n)后面要是不加分号就会循环不完呀?加了分号后是可以得出结果,可是算出的YY却是零,还请各位大侠帮帮忙直接一下,谢谢啦!!

[ 本帖最后由 ChaChing 于 2010-4-20 00:42 编辑 ]
发表于 2010-4-20 00:53 | 显示全部楼层
不加分号, Y(m,n)会输出, 而且Y矩阵愈来愈大(最后2000*2000), 当然循环不完!
至于算出的YY为何是零? LZ高估我了! 个人水平专业有限, 那清楚LZ做什么!?
但YY也并非是零! 加format short e再看看
 楼主| 发表于 2010-4-20 10:15 | 显示全部楼层
恩  知道了  非常感谢!:handshake
发表于 2010-4-21 05:31 | 显示全部楼层
应该可以通过meshgrid实现:
[K,J]=meshgrid(k,j);
Y=cos(K.*J*2*pi/N);

评分

1

查看全部评分

 楼主| 发表于 2010-4-21 21:28 | 显示全部楼层
Nsum=2000;N=200;T=20;a=0.25;k=[0:Nsum];sk=a+i*2*pi*k/T;
syms s x t
V=0.2;l=0.5;xk=0.2;o=0.1029;P=60;c=V*(o/P)^(1/2);
m=1/(1-c); n=1/(1+c);
G=(exp(n*(x-xk))-exp(n*x-m*xk)+exp(n*(x+l)-m*(l+xk))-exp(n*(l-xk+x)-m*l))/(2*s*(1-exp((n-m)*l)));
for m=1:Nsum+1
      Y(m)=cos(k(m)*t*2*pi/N);
      Z(m)=i*sin(k(m)*t*2*pi/N);
      w(m)=subs(G,s,sk(m));
end
YY=Y+Z;
w11=0.01*w.*YY;
w1=vpa(w11,6);
tt=T/N;
p=[0:N-1];%j=[0:N-1];
tj=p*tt;   
for h=1:N
    w2=subs(w1,t,tj(h));
end
w3=eval(sum(w2));
w4=real(w3);
w5=eval(-(1/2)*(subs(G,s,0.25)));
w6=w5+w4;
c=2*exp(a*tj)/T;
W=c.*w6;
W1=eval(subs(W,x,0.1));
plot(tj,W1)
上面这个程序在计算for h=1:N       w2=subs(w1,t,tj(h))    end这一步的时候要花很长很长的时间,好像是由于subs这个函数本身计算起来就有些复杂,所以需要的时间很长。我想请问各位大大有没有什么方法提高这个计算速度呀,或者是用其他更有效的方法来计算我的这个函数的值呢?下面附上我要计算的函数式,耐烦各位大大指点一二,谢谢啦!!

[ 本帖最后由 liushuiwuxin 于 2010-4-21 21:46 编辑 ]

公式.doc

24 KB, 下载次数: 1

以上程序所要计算的函数式

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-16 02:30 , Processed in 0.062600 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表