【发布时间】:2014-09-07 17:20:04
【问题描述】:
两个月前我是 Matlab 初学者。我将它用于我的暑期项目来处理 MRI 图像。 最近,我为如下所示的集成编写了代码。但是,这两种方法都非常缓慢。运行它们花了一天时间。如何改进它们以缩短运行时间?
-
符号方法:
syms t; T=t*ones(79,95,78); RF1=(1/2)*double(int(((T+x1).^(-1/2)).*((T+y1).^(-1/2)).*((T+z).^(-1/2)),t,0,inf)); RD1=(3/2)*double(int(((T+x1).^(-1/2)).*((T+y1).^(-1/2)).*((T+z).^(-3/2)),t,0,inf)); -
数值法:
fun1=@(T) ((T+x1).^(-1/2)).*((T+y1).^(-1/2)).*((T+z).^(-1/2)); RF1=(1/2)*integral(fun1,0,inf,'ArrayValued',true); fun2=@(T) ((T+x1).^(-1/2)).*((T+y1).^(-1/2)).*((T+z).^(-3/2)); RD1=(3/2)*integral(fun2,0,inf,'ArrayValued',true);
其中x1、y1、z 是 79×95×78 实矩阵。
【问题讨论】:
标签: performance matlab symbolic-math integral