OPT[r1_, kk_, q1_, p1_, a1_, d_] := kk/4 ((a1/(p1 q1 kk) + 1 - d/r1 ) + Sqrt[((a1/(p1 q1 kk) + 1 - d/r1 )^2) + ((8 a1 d)/( p1 q1 kk r1)) ]) Sanctionvec[r1_, kk_, q1_, g_, p1_, a1_, l0_, x0_, T_, d_, n_, B_, Pi1_] := VectorPlot[{g (d (p1 - a1/(q1 x2) - (Pi1 B Hvec[r1, kk, q1, p1, a1, d, n])/(q1 x2)) + (r1 x2)/n (1 - x2/kk) (1/x2 (n - 1) (p1 - a1/(q1 x2) - (Pi1 B Hvec[r1, kk, q1, p1, a1, d, n])/(q1 x2)) - a1 /(q1 x2^2) - (Pi1 B Hvec[r1, kk, q1, p1, a1, d,n])/(q1 x2^2)) + Pi1 B H1vec[r1, kk, q1, p1, a1, d, n] - (p1 - a1/(q1 x2) - (Pi1 B Hvec[r1, kk, q1, p1, a1, d, n])/(q1 x2) ) (r1 (1 - (2 x2)/kk))) l, r1 x2 (1 - x2/kk) - q1 n l x2}, {l, 0, 1.1 Max[Evaluate[r1/(n q1)]]}, {x2, 0.001, kk}, VectorStyle -> Gray, VectorScale -> {Small, 0.1, Automatic}, VectorPoints -> 10] Hvec[r1_, kk_, q1_, p1_, a1_, dd_, n_]n_, x2_] := Piecewise[{{q1 x2, (r1 OPT[r1, kk, q1, p1, a1, d])/ n (1 - OPT[r1, kk, q1, p1, a1, d]/kk) < (r1 x2)/n (1 - x2/kk)}}, 0] H1vec[r1_, kk_, q1_, p1_, a1_, dd_, n_]n_, x2_] := Piecewise[{{r1/n (1 - x2/kk), (r1 OPT[r1, kk, q1, p1, a1, d])/n (1 - OPT[r1, kk, q1, p1, a1,d]/kk) < (r1 x2)/n (1 - x2/kk)}}, 0] Edit: Have now tried adding x2 as an argument to Hvec and H1vec but unfortunately still getting the same error. code is now:
Sanctionvec[r1_, kk_, q1_, g_, p1_, a1_, l0_, x0_, T_, d_, n_, B_, Pi1_] := VectorPlot[{g (d (p1 - a1/(q1 x2) - (Pi1 B Hvec[r1, kk, q1, p1, a1, d, n,x2])/(q1 x2)) + (r1 x2)/n (1 - x2/kk) (1/x2 (n - 1) (p1 - a1/(q1 x2) - (Pi1 B Hvec[r1, kk, q1, p1, a1, d, n,x2])/(q1 x2)) - a1 /(q1 x2^2) - (Pi1 B Hvec[r1, kk, q1, p1, a1, d,n,x2])/(q1 x2^2)) + Pi1 B H1vec[r1, kk, q1, p1, a1, d, n,x2] - (p1 - a1/(q1 x2) - (Pi1 B Hvec[r1, kk, q1, p1, a1, d, n,x2])/(q1 x2) ) (r1 (1 - (2 x2)/kk))) l, r1 x2 (1 - x2/kk) - q1 n l x2}, {l, 0, 1.1 Max[Evaluate[r1/(n q1)]]}, {x2, 0.001, kk}, VectorStyle -> Gray, VectorScale -> {Small, 0.1, Automatic}, VectorPoints -> 10]