clear all; clc;
% // Datasize paramter(s)
M = 500 ;
N = M;
% // Scalar paramters
A = 4.290 ;
Tb = 2.34 ;
p = 4.89 ;
% // Warm up tic/toc.
for k = 1 : 50000
tic( ) ; elapsed = toc( ) ;
end
% // Input vectors
disp( '--------- With Proposed solution' )
tic
out = p.* erfc( bsxfun( @times, f1vals, A - lambda')).*0.5 - ...
erfc(bsxfun(@times,f1vals,A + lambda' ) ) .* ( p- 1.0 ) .* 0.5 ;
toc
clear out f1
disp( '--------- With Knedlsepp Version - 1 solution' )
tic
f
= @
( A
, N0
, Tb
, lambda
, p
) p
* erfc
( ( 1 .
/ sqrt ( N0
) .
* sqrt ( Tb
) ) * ( A
- lambda
) ')*0.5 ... +(1-p)*erfc((1./sqrt(N0).*sqrt(Tb))*(A+lambda)' ) * 0.5 ;
out2 = f( A, N0, Tb, lambda, p) ;
toc
clear out2 f
disp( '--------- With Rayryeng solution' )
tic
M1 = numel( N0) ;
N1 = numel( lambda) ;
N0_matrix = repmat( N0.', N1, 1);
lambda_matrix = repmat(lambda, 1, M1);
f = @(A,N0,Tb,lambda,p) p.*erfc(1.0./sqrt(N0).*sqrt(Tb).*(A-lambda)).*(1.0./2.0)-erfc(1.0./sqrt(N0).*sqrt(Tb).*(A+lambda)).*(p-1.0).*(1.0./2.0);
out = f(A, N0_matrix, Tb, lambda_matrix, p);
toc
clear out f lambda_matrix N0_matrix M N
Y2xlYXIgYWxsO2NsYzsKJS8vIERhdGFzaXplIHBhcmFtdGVyKHMpCk0gPSA1MDA7Ck4gPSBNOwoKJS8vIFNjYWxhciBwYXJhbXRlcnMKQSA9IDQuMjkwOwpUYiA9IDIuMzQ7CnAgPSA0Ljg5OwoKJS8vIFdhcm0gdXAgdGljL3RvYy4KZm9yIGsgPSAxOjUwMDAwCiAgICB0aWMoKTsgZWxhcHNlZCA9IHRvYygpOwplbmQKCiUvLyBJbnB1dCB2ZWN0b3JzCk4wID0gcmFuZChNLDEpOwpsYW1iZGEgPSByYW5kKE4sMSk7CgpkaXNwKCctLS0tLS0tLS0gV2l0aCBQcm9wb3NlZCBzb2x1dGlvbicpCnRpYwpmMXZhbHMgPSAxLjAuL3NxcnQoTjApLipzcXJ0KFRiKTsKb3V0ID0gcC4qZXJmYyhic3hmdW4oQHRpbWVzLGYxdmFscyxBIC0gbGFtYmRhJykpLiowLjUgLSAuLi4KICAgIGVyZmMoYnN4ZnVuKEB0aW1lcyxmMXZhbHMsQSArIGxhbWJkYScpKS4qKHAtMS4wKS4qMC41Owp0b2MKY2xlYXIgb3V0IGYxCgpkaXNwKCctLS0tLS0tLS0gV2l0aCBLbmVkbHNlcHAgVmVyc2lvbiAtIDEgc29sdXRpb24nKQp0aWMKZiA9IEAoQSxOMCxUYixsYW1iZGEscCkgcCplcmZjKCgxLi9zcXJ0KE4wKS4qc3FydChUYikpKihBLWxhbWJkYSknKSowLjUgLi4uCiAgICAgICAgICAgICAgICAgICArKDEtcCkqZXJmYygoMS4vc3FydChOMCkuKnNxcnQoVGIpKSooQStsYW1iZGEpJykqMC41OwpvdXQyID0gZihBLE4wLFRiLGxhbWJkYSxwKTsKdG9jCmNsZWFyIG91dDIgZgoKZGlzcCgnLS0tLS0tLS0tIFdpdGggUmF5cnllbmcgc29sdXRpb24nKQp0aWMKTTEgPSBudW1lbChOMCk7Ck4xID0gbnVtZWwobGFtYmRhKTsKTjBfbWF0cml4ID0gcmVwbWF0KE4wLicsIE4xLCAxKTsKbGFtYmRhX21hdHJpeCA9IHJlcG1hdChsYW1iZGEsIDEsIE0xKTsKZiA9IEAoQSxOMCxUYixsYW1iZGEscCkgcC4qZXJmYygxLjAuL3NxcnQoTjApLipzcXJ0KFRiKS4qKEEtbGFtYmRhKSkuKigxLjAuLzIuMCktZXJmYygxLjAuL3NxcnQoTjApLipzcXJ0KFRiKS4qKEErbGFtYmRhKSkuKihwLTEuMCkuKigxLjAuLzIuMCk7Cm91dCA9IGYoQSwgTjBfbWF0cml4LCBUYiwgbGFtYmRhX21hdHJpeCwgcCk7CnRvYwpjbGVhciBvdXQgZiBsYW1iZGFfbWF0cml4IE4wX21hdHJpeCBNIE4KCgoKCgoK