Q:

Is American option price lower than European option price?

I used to think under the same condition, the American option is always more expensive than the European option, because American option can be exercised at any time (has more rights than European option). 
MatLab function:
[Call,Put] = blsprice(Price,Strike,Rate,Time,Volatility);
[AssetPrice,OptionValue] = binprice(Price,Strike,Rate,Time,Increment,Volatility,Flag);

[Call_E, Put_E] = blsprice(56.31, 56.31, 3.29/100, 3/12, 0.33);
[~, Call_A] = binprice(56.31, 56.31, 3.29/100,3/12, 1/1e3, 0.33, 1);
[~, Put_A]  = binprice(56.31, 56.31, 3.29/100,3/12, 1/1e3, 0.33, 0);

Output:
Call_E = 3.9225 and Call_A(1,1) = 3.9188.
Can anyone explain to me why the 3-month European Call option is more expensive than the 3-month American Call option?

A:

You compare the result of an analytical solution (european call) with the numerical solution for the american option. It seems as if you use to few steps to calculate your American option price. Just try to increase the number of steps and see what happens. 
Or just compare the european price based on the same binomial tree with the american one and you should see the expected relation. And in this case, you get a sense of the discretization error by comparing the analytical and the numerical european call prices.

