integral3 doesn't care whether or not you can write your integrand in a particular way. All it cares about is that it can call the function whose handle you pass in as the first input argument with three inputs that are the same size and returns an output of that same size containing values of your integrand for the corresponding elements of the inputs. It sounds like you already have such a function: "but rather, given (x,y,z), F(x,y,z) is calculated in a subroutine."
You could theoretically have your integrand function display "Perform an experiment with these parameters: ..." and ask the user to input the integrand value measured in those experiments. Most of the time the integral* functions will ask you to evaluate the function for too many parameter values for that to be feasible, but it is possible.