I realize the stardust amount changes by the CP of the pokemon, and maybe its trainer level?
I would love to see a table which shows stardust a pokemon needs at various CP levels.
Stardust cost per Pokemon "level" (Powering up increases level by 1, stardust increases every 4 "levels."):
Levels 1 to 20:
200 stardust, 1 candy
400 stardust, 1 candy
600 stardust, 1 candy
800 stardust, 1 candy
1000 stardust, 1 candy
Levels 21 to 40:
1300 stardust, 2 candy
1600 stardust, 2 candy
1900 stardust, 2 candy
2200 stardust, 2 candy
2500 stardust, 2 candy
Level 41 to 43:
3000 stardust, 3 candy
Note: Pokémon you catch are not necessarily at "level" 1. For example, I caught a 701 CP Pinsir and it is roughly "level" 13
Here is some data: https://www.reddit.com/r/TheSilphRoad/comments/4sa4p5/stardust_costs_increase_every_4_power_ups/
I don't believe stardust changes with trainer level, only with how much you've powered up the pokemon. That being said the higher trainer you are the more CP you get from evolving so it is best to wait on evolving your pokemon until you have a higher trainer level which will save you candy and stardust.
Based on a data dump of an earlier version of the game, the upgrade costs are the following, but these have probably not changed in recent updates. They are per level, and a level requires 2 power ups (this is often denoted as half levels, so each power up increases the Pokemon's level by 0.5).
A Pokemon's CP depends on 3 things:
The formula for a Pokemon's current CP is
(Attack * Defense^0.5 * Stamina^0.5 * CP_Multiplier^2) / 10
In order to determine the upgrade cost per CP, you have to use this formula to calculate the Pokemon's CP at each level. The table below includes example CP values for an average Snorlax (Base Stats 180/180/320, IVs 7/7/7)
Level Stardust Candies Ex. CP
1 200 1 41
2 200 1 128
3 400 1 215
4 400 1 302
5 600 1 390
6 600 1 477
7 800 1 564
8 800 1 651
9 1000 1 738
10 1000 1 825
11 1300 2 908
12 1300 2 990
13 1600 2 1073
14 1600 2 1155
15 1900 2 1238
16 1900 2 1320
17 2200 2 1403
18 2200 2 1485
19 2500 2 1568
20 2500 2 1650
21 3000 3 1733
22 3000 3 1815
23 3500 3 1898
24 3500 3 1980
25 4000 3 2063
26 4000 4 2146
27 4500 4 2228
28 4500 4 2311
29 5000 4 2393
30 5000 4 2476
31 6000 6 2517
32 6000 6 2558
33 7000 8 2599
34 7000 8 2641
35 8000 10 2682
36 8000 10 2723
37 9000 12 2764
38 9000 12 2806
39 10000 15 2847
40 10000 15 2888
As you can see, there are always 2 levels with the same cost, so the cost changes every 4 power ups.
According to the same data dump, a Pokemon's level can be up to 2 higher than the Trainer level, but no higher than 40 (which is also the maximum Trainer level).