Agile principles can certainly be applied in these cases. How?
- Compilers can have new language features added later in separate user stories
- Image analysis systems can have new features added as different image classifications
- Fluid flow simulation systems can take different model aspects into account in their simulations
You don't have to eat the entire elephant in one bite. Agile just asks that you show you've cleaned your plate before the next serving of elephant.