better method for evaluating matrix
2 次查看(过去 30 天)
显示 更早的评论
For given vector such as following, I want to make square matrix s such that
%constant, original form
N = 500;
x = 2*pi*linspace(0,1,N);
for i = 1:N
for j = 1:N
s(i,j) = sin(x(i)-x(j))
end
end
But it was too slow, so recently I edited it to following, but it's still too slow!!
Can anybody please help me??
%constant
N = 500;
x = 2*pi*linspace(0,1,N);
for i = 1: N;
s(:,i) = x-x(i);
end
s=sin(s);
0 个评论
采纳的回答
更多回答(1 个)
Andrei Bobrov
2017-11-21
编辑:Andrei Bobrov
2017-11-21
N = 500;
x = 2*pi*linspace(0,1,N);
s = sin(x(:)' - x(:));
for old versions of MATLAB:
s = sin( bsxfun(@minus, x(:)',x(:)) );
1 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!