You’ve got a table which contains some information and you want to perform calculations based on this information and store them in the same table or in another table.
The calculations must always be up-to-date.
The calculations are performed via a complex User Defined Function which accepts the other fields’ values as parameters.
The table has got thousands of rows and thus you do not want to use a view because it’ll degrade the overall performance.
For the same reason, you do not want to use a calculated field.