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

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]);
}
}

1 commentaire

A basic knowledge of C and matlab is enough to translate the above code, so what difficulties are you encountering?

Connectez-vous pour commenter.

 Réponse acceptée

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

Plus de réponses (0)

Catégories

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by