24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 1279  |  回复: 11

gengbiaolu

铜虫 (正式写手)

[交流] 【求助】求高人帮我优化程序,以提高速度。

我编的这个程序太需要时间了,我算了一个晚上也没有结果,求高人帮我优化程序,以提高速度,万分感谢!!!
clear all
global N c v
N=1000;c=1.8;v=1;
Y0=[1,zeros(1,N)]';
[t,YY]=ode45(@lgbquantum,[0,100],Y0);
b=abs(YY).*abs(YY);
s1=0
for n=0:N
   s1=s1+n*b(:,n+1);
end
plot(t,s1/N)
hold on
s2=0
  for n=0:N
    s2=s2+(N-n)*b(:,n+1);
  end  
plot(t,s2/N)

function Yd=lgbquantum(t,YY)
global N c v
n=0:N;
H1=c*(n.*(n-1)+(N-n).*(N-n-1))/(2*N);
H2=-v/2*sqrt(n.*(N-n+1));
Yd=-i*(diag(H1)+diag(H2(2:N+1),-1)+diag(H2(2:N+1),1))*YY;

[ Last edited by gengbiaolu on 2010-10-10 at 22:55 ]
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lijinfeng042

木虫 (小有名气)

Matlab


hiqun(金币+1):感谢专业应助 2010-10-10 12:15:39
这是一个不完整程序? ode87 没有这个函数的 是否你自己定义的? lgbquantum的w没定义
工作了,偶尔会上来~可以关注新浪微博 @云是风的梦_Matlab
2楼2010-10-10 12:06:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gengbiaolu

铜虫 (正式写手)

robert2020:建议虫友使用“引用回复该帖”,方便对方收到你的信息。 2010-10-11 12:56:34
就用ode45吧,其实ode87也有了,精度高些。w是多余的,已去掉了。

[ Last edited by gengbiaolu on 2010-10-10 at 22:57 ]
3楼2010-10-10 22:53:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lijinfeng042

木虫 (小有名气)

Matlab


nono2009(金币+1):鼓励交流。 2010-10-12 16:18:22
gengbiaolu(金币+10):谢谢你的帮助!Matlab真的没有办法优化了吗? 2010-10-12 17:27:31
引用回帖:
Originally posted by gengbiaolu at 2010-10-10 22:53:37:
就用ode45吧,其实ode87也有了,精度高些。w是多余的,已去掉了。

[ Last edited by gengbiaolu on 2010-10-10 at 22:57 ]

唉 还是提高不了 100的时候测试 基本上是调用函数花时间的
ode方程不存在刚性问题
循环优化不了
如果没办法就建议把它做成C/C++ 的dll调用试试 我没有混合编程的能力
工作了,偶尔会上来~可以关注新浪微博 @云是风的梦_Matlab
4楼2010-10-12 13:41:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lijinfeng042

木虫 (小有名气)

Matlab


hiqun(金币+1):感谢回复 2010-10-13 16:19:34
引用回帖:
Originally posted by lijinfeng042 at 2010-10-12 13:41:41:

唉 还是提高不了 100的时候测试 基本上是调用函数花时间的
ode方程不存在刚性问题
循环优化不了
如果没办法就建议把它做成C/C++ 的dll调用试试 我没有混合编程的能力

把问题发一份给我 呵呵 基本就是循环太多啊 10的时候就有7500多次调用函数
工作了,偶尔会上来~可以关注新浪微博 @云是风的梦_Matlab
5楼2010-10-13 14:12:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gengbiaolu

铜虫 (正式写手)

nono2009:建议通过“引用回复该帖”,以便别人收到你的回复提示。 2010-10-14 07:32:33
我要算的东西大概意思是:
H是矩阵,其对角元为:H(n,n)=(c/(2N))*[n(n-1)+(N-n)(N-n-1)]
非对角元:H(n,n-1)=H(n-1,n)= - (v/2)*[n(N-n+1)]^0.5
其它矩阵元为零。
通过时间的一价微分方程   i d(a_n(t))/dt=H*a_n(t)    求 a_n(t)
再对 n*|a_n(t)|^2 求和 得 s . 求和从 0 到 N
再作出 s 随 t 的变化曲线图。
先谢谢啦!!!

[ Last edited by gengbiaolu on 2010-10-13 at 22:22 ]
6楼2010-10-13 22:19:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ctgu_zheng(金币-1):请勿纯表。。。 2010-10-13 23:12:05
7楼2010-10-13 22:44:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

法布雷加斯

金虫 (小有名气)

我觉得用for循环不好。会降低速度
8楼2010-10-14 08:58:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lijinfeng042

木虫 (小有名气)

Matlab

引用回帖:
Originally posted by gengbiaolu at 2010-10-13 22:19:30:
我要算的东西大概意思是:
H是矩阵,其对角元为:H(n,n)=(c/(2N))*[n(n-1)+(N-n)(N-n-1)]
非对角元:H(n,n-1)=H(n-1,n)= - (v/2)*[n(N-n+1)]^0.5
其它矩阵元为零。
通过时间的一价微分方程   i d(a_n(t))/dt=H ...

看你你的方程反而疑惑了
>> dsolve('Dy=H*y/i')

ans =

C2*(1/exp(H*t*i))

难道不是
还是
D(y1,y2...)=H y  ?????  N个方程?
工作了,偶尔会上来~可以关注新浪微博 @云是风的梦_Matlab
9楼2010-10-14 13:54:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lijinfeng042

木虫 (小有名气)

Matlab


nono2009(金币+1):鼓励应助。 2010-10-15 06:30:08
CODE:
function aa
% H是矩阵,其对角元为:H(n,n)=(c/(2N))*[n(n-1)+(N-n)(N-n-1)]
% 非对角元:H(n,n-1)=H(n-1,n)= - (v/2)*[n(N-n+1)]^0.5
% 其它矩阵元为零。 n=1000;c=1.8;v=1;
% 通过时间的一价微分方程   i d(a_n(t))/dt=H*a_n(t)    求 a_n(t)
% 再对 n*|a_n(t)|^2 求和 得 s . 求和从 0 到 N
% 再作出 s 随 t 的变化曲线图。
% global H
N=10;c=1.8;v=1;
H=zeros(1,N);
tic
for n=2:N
aa=-(v/2)*(n*(N-n+1))^0.5;
H(n,n-1)=aa;
H(n-1,n)= aa;
H(n,n)=(c/(2*N))*(n*(n-1)+(N-n)*(N-n-1))';
end
H=sparse(H)

这是H
工作了,偶尔会上来~可以关注新浪微博 @云是风的梦_Matlab
10楼2010-10-14 13:55:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 gengbiaolu 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 生物学求调剂 一志愿沪9,326分 +6 刘墨墨 2026-04-06 6/300 2026-04-06 19:36 by lijunpoly
[考研] 0703化学 +18 妮妮ninicgb 2026-04-04 20/1000 2026-04-06 17:38 by 妮妮ninicgb
[考研] 华南理工0703化学,总分336求调剂 +8 手机用户 2026-04-03 8/400 2026-04-06 11:48 by lijunpoly
[考研] 一志愿武汉理工大学080200机械工程308分,求调剂 +4 终不似从前 2026-04-05 4/200 2026-04-06 11:46 by 考研学校招点人
[考研] 生物与医药273求调剂 +7 荔题南墙 2026-04-05 7/350 2026-04-06 09:26 by 286640313
[考研] 086000生物与医药求调剂 +3 老天眷顾之人 2026-03-31 3/150 2026-04-05 22:24 by syh9288
[考研] 377求调剂 +6 by.ovo 2026-04-05 6/300 2026-04-05 22:18 by dongzh2009
[考研] 301求调剂 +3 XYPLR 2026-04-05 4/200 2026-04-05 19:07 by XYPLR
[考研] 277求调剂 +5 考研调剂lxh 2026-04-05 5/250 2026-04-05 19:03 by chy09050039
[考研] 295求调剂 +8 FZAC123 2026-04-03 8/400 2026-04-05 17:46 by 蓝云思雨
[考研] 288求调剂 一志愿哈工大 材料与化工 +13 洛神哥哥 2026-04-03 13/650 2026-04-05 17:27 by zzx2138
[考研] 283分求调剂 +9 试试看呗 2026-04-04 9/450 2026-04-05 10:27 by 果冻大王
[考研] 11408,335分,本科211,求调剂,可转专业 +5 鳄梨大鳄鱼 2026-04-03 5/250 2026-04-04 22:49 by chongya
[考研] 278求调剂 +3 依旧! 2026-04-02 4/200 2026-04-04 20:27 by 蓝云思雨
[考研] 0703求调剂 +6 zizimo 2026-03-31 6/300 2026-04-04 14:16 by 无际的草原
[考研] 一志愿085404,总分291,四级已过,求调剂 +5 阿俊阿俊阿俊 2026-04-04 7/350 2026-04-04 13:23 by 莲菜就是藕吧
[考研] 一志愿北京交通大学材料工程总分358 +4 cs0106 2026-04-03 4/200 2026-04-03 13:41 by 百灵童888
[考研] 学硕化学工程与技术,一志愿中国海洋大学320+求调剂 +8 披星河 2026-04-02 8/400 2026-04-02 14:12 by oooqiao
[考研] 08工科求调剂290分 +5 1314捧花 2026-04-02 8/400 2026-04-02 13:16 by 乔哒哒哒
[考研] 吉大生物学326分求调剂 +3 sunnyupup 2026-03-31 3/150 2026-03-31 09:28 by longlotian
信息提示
请填处理意见