Um, you misunderstand the problem. Your function has TWO arguments. PR and PC, both of which you want to be optimized. And while you think this is how fminsearch will work, you would be wrong.
fminsearch is passed a VECTOR of length 2 as the initial parameters. It will then pass in a VECTOR of length 2 to your funcrtion, NOT two distinct arguments. Your function needs to recognize that.
So you can either unpack that vector into PR and PC in your function, you can write a wrapper function around it. Something like this:
wrapper = @(PRPC) refrig(PRPC(1),PRPC(2));
Now you will use fminsearch on the function wrapper. It will then call refrig, splitting the parameters into TWO separate arguments.
Note that fminsearch will minimize the first output of refrig, thus W. It could care less about the other outputs.