This seems to work
eq = Delta^2 == 2*M^2*(n2^2 + 1/2*(n1^2 - 2*n1*n2^2*n3^2*Cos[fi] + n2^4*n3^4 + n3^4) + n2*Sqrt[n2^2 + 2*n1*n3^2*Cos[fi] - 2*n2^2*n3^4]); sol = First@Solve[eq, n1]; n1[Delta_, n2_, M_, n3_, fi_] = n1 /. sol;
And now you can use your function n1
n1[1,2,3,4,5]//N (*16.7734 + 63.7064 I*) n1[1, 99, 3, 0, Pi] // N (*-6.7435*10^-7 - 140.007 I*)
etc..
ps. It might be better/safer to name the function something other than n1.
May be n1F, so the above becomes
n1F[Delta_, n2_, M_, n3_, fi_] = n1 /. sol;
And now use n1F as the function instead of n1
This equation is a 4th order equation with respect to n1 and has four solutions. You provided one solution. How can I find the rest?
I used First to pick the first solution. If you want to make function for each solution, you could do
eq = Delta^2 == 2*M^2*(n2^2 + 1/2*(n1^2 - 2*n1*n2^2*n3^2*Cos[fi] + n2^4*n3^4 + n3^4) + n2*Sqrt[n2^2 + 2*n1*n3^2*Cos[fi] - 2*n2^2*n3^4]); sol = Solve[eq, n1]; Dimensions[sol] (*{4,1}*)
So there are 4 solutions. You can now write
n1F[Delta_, n2_, M_, n3_, fi_] = n1 /. sol[[1]]; n2F[Delta_, n2_, M_, n3_, fi_] = n1 /. sol[[2]]; n3F[Delta_, n2_, M_, n3_, fi_] = n1 /. sol[[3]]; n4F[Delta_, n2_, M_, n3_, fi_] = n1 /. sol[[4]];
And now use each function to represent each solution

Reference: How do I make a function from a solution?
==for equation and not=. Then useSolvecommand, screen shot i.sstatic.net/19PXygO3.png and better avoid decimal numbers with exact solvers likeSolve, so I changed your 0.5 with1/2. Mathematica is not like Matlab. $\endgroup$n1is a positive real, what doesn1[Delta,n2,n3,fi]mean? $\endgroup$