Code covered by the BSD License  

Highlights from
slatec

from slatec by Ben Barrowes
The slatec library converted into matlab functions.

[vnwrmsresult,n,v,w]=vnwrms(n,v,w);
function [vnwrmsresult,n,v,w]=vnwrms(n,v,w);
vnwrmsresult=[];
persistent i summlv ; 

;
%***BEGIN PROLOGUE  VNWRMS
%***SUBSIDIARY
%***PURPOSE  Subsidiary to DEBDF
%***LIBRARY   SLATEC
%***TYPE      SINGLE PRECISION (VNWRMS-S, DVNRMS-D)
%***AUTHOR  (UNKNOWN)
%***DESCRIPTION
%
%   VNWRMS computes a weighted root-mean-square vector norm for the
%   integrator package DEBDF.
%
%***SEE ALSO  DEBDF
%***ROUTINES CALLED  (NONE)
%***REVISION HISTORY  (YYMMDD)
%   800901  DATE WRITTEN
%   890531  Changed all specific intrinsics to generic.  (WRB)
%   890831  Modified array declarations.  (WRB)
%   891214  Prologue converted to Version 4.0 format.  (BAB)
%   900328  Added TYPE section.  (WRB)
%***end PROLOGUE  VNWRMS
%
%
%LLL. OPTIMIZE
%-----------------------------------------------------------------------
% THIS FUNCTION ROUTINE COMPUTES THE WEIGHTED ROOT-MEAN-SQUARE NORM
% OF THE VECTOR OF LENGTH N CONTAINED IN THE ARRAY V, WITH WEIGHTS
% CONTAINED IN THE ARRAY W OF LENGTH N..
%   VNWRMS = SQRT( (1/N) * SUM( V(I)/W(I) )**2 )
%-----------------------------------------------------------------------
if isempty(i), i=0; end;
if isempty(summlv), summlv=0; end;
v_shape=size(v);v=reshape(v,1,[]);
w_shape=size(w);w=reshape(w,1,[]);
%***FIRST EXECUTABLE STATEMENT  VNWRMS
summlv = 0.0e0;
for i = 1 : n;
summlv = summlv +(v(i)./w(i)).^2;
end; i = fix(n+1);
vnwrmsresult = sqrt(summlv./n);
%----------------------- end OF FUNCTION VNWRMS ------------------------
v_shape=zeros(v_shape);v_shape(:)=v(1:numel(v_shape));v=v_shape;
w_shape=zeros(w_shape);w_shape(:)=w(1:numel(w_shape));w=w_shape;
csnil=dbstack(1); csnil=csnil(1).name(1)~='@';
if csnil&&~isempty(inputname(3)), assignin('caller','FUntemp',w); evalin('caller',[inputname(3),'=FUntemp;']); end
if csnil&&~isempty(inputname(2)), assignin('caller','FUntemp',v); evalin('caller',[inputname(2),'=FUntemp;']); end
if csnil&&~isempty(inputname(1)), assignin('caller','FUntemp',n); evalin('caller',[inputname(1),'=FUntemp;']); end
end
%DECK WNLIT

Contact us at files@mathworks.com