Es que aquí estás poniendo num dentro de la cadena, por lo cual no toma el valor de la variable:
Código PHP:
document.write("<input type='text' id='codigo"+num+"' onchange='cambioinput(num)'> ");
Debería ser:
Código PHP:
document.write("<input type='text' id='codigo"+num+"' onchange=\"cambioinput('" + num + "')\"> ");