A control device configured to control a control subject, comprising: an instruction value generation part configured to calculate, for each of several consecutive control periods (n), an instruction value of the respective control period (n) from an instruction pattern defining operation of the control subject; wherein the control subject is a machine; the control device being characterized in further comprising: a learning control part configured to calculate, for consecutive learning times (K, K+1), a correction value of each control period (n) for correcting the instruction value of the considered control period (n); and a control part configured to calculate, for each control period (n), a value corrected instruction value from the instruction value and the correction of the corresponding control period (n) and to transmit, for each control period (n) the corrected instruction value to the control subject, wherein the learning control part is configured to calculate the correction value for a first control period (n) for a first learning time (K+1) from a deviation for the first control period (n) in a second learning time and a correction value for the first control period (n) in the second learning time, the first learning time (K+1) being the next learning time after the second learning time, the deviation for a control period (n) indicates a deviation between a feedback value for the control period (n) and the instruction value of the same control period (n) and is sampled at the control period (n) plus a correction shift time, the feedback value for a control period (n) is acquired from the control subject and is a measure of a response of the control subject to the instruction value for the control period (n), and the correction shift time is a multiple of the time width of a control period (n) or a real number calculated from the response delay characteristic of the control subject. a learning control part configured to calculate, for consecutive learning times (K, K+1), a correction value of each control period (n) for correcting the instruction value of the considered control period (n); and a control part configured to calculate, for each control period (n), a value corrected instruction value from the instruction value and the correction of the corresponding control period (n) and to transmit, for each control period (n) the corrected instruction value to the control subject, wherein the learning control part is configured to calculate the correction value for a first control period (n) for a first learning time (K+1) from a deviation for the first control period (n) in a second learning time and a correction value for the first control period (n) in the second learning time, the first learning time (K+1) being the next learning time after the second learning time, the deviation for a control period (n) indicates a deviation between a feedback value for the control period (n) and the instruction value of the same control period (n) and is sampled at the control period (n) plus a correction shift time, the feedback value for a control period (n) is acquired from the control subject and is a measure of a response of the control subject to the instruction value for the control period (n), and the correction shift time is a multiple of the time width of a control period (n) or a real number calculated from the response delay characteristic of the control subject.