How to convert C++ code into Matlab. How to write the below given part of code into matlab

2 views (last 30 days)
double logistic(double x)
{
if(x > 100.0) x = 1.0;
else if (x < -100.0) x = 0.0;
else x = 1.0/(1.0+exp(-x));
return x;
}
void ComputeFeedForwardSignals(double* MAT_INOUT,double* V_IN,double* V_OUT, double* V_BIAS,int size1,int size2,int layer)
{
int row,col;
for(row=0;row < size2; row++)
{
V_OUT[row]=0.0;
for(col=0;col<size1;col++)V_OUT[row]+=(*(MAT_INOUT+(row*size1)+col)*V_IN[col]);
V_OUT[row]+=V_BIAS[row];
if(layer==0) V_OUT[row] = tanh(V_OUT[row]);
if(layer==1) V_OUT[row] = logistic(V_OUT[row]);
}
}

Accepted Answer

Titus Edelhofer
Titus Edelhofer on 18 Aug 2015
Hi Vandana,
that should be straight forward:
function y = logistic(x)
y = zeros(size(x));
y(x>100) = 1.0;
idx = x>=-100 & x<=100;
y(idx) = 1.0./(1.0+exp(-x));
and the main function
function V_OUT = ComputeFeedForwardSignals(MAT, V_IN, V_BIAS, layer)
V_OUT = MAT * V_IN + V_BIAS;
switch layer
case 0
V_OUT = tanh(V_OUT);
case 1
V_OUT = logistic(V_OUT);
otherwise
error('Unknown value for layer.')
end
Titus

More Answers (0)

Categories

Find more on Data Type Conversion in Help Center and File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!