【发布时间】:2020-11-25 18:34:44
【问题描述】:
我想在 MATLAB 中创建一个算法,它计算一个特定的函数,然后对其进行积分以获得一个特定的值。 “结果”的尺寸基于代码开头的“大小”参数。例如,如果 size = 100,则结果将是 100x100 矩阵。由于积分()函数的高维度大小和使用,运行时间变得很长。我认为,这主要是因为积分()函数的运行时间。有没有办法优化这个算法的运行时间。复杂性和内存使用不是问题,只需要改进运行时。
size = 100;
y = zeros(2,size);
y(1,:) = 10*(randn(1,size) + 1i*randn(1,size));
y(2,:) = randn(1,size) + 1i*randn(1,size);
result = zeros(size);
for j=1:size
for i=1:size
fun = @(x) sin(x)*(y(1,i)-y(1,j)) + cos(x)*(y(2,i)-y(2,j));
result(i,j) = integral(fun,0,100);
end
end
【问题讨论】:
标签: matlab optimization runtime integral