Why is 'reshape' executed incorrectly in the program?

hi, dear everyone, my program executed successfully. but when I check the program by setting breakpoints, i found some error with ‘reshape’, here is my code:
by the way, i set the breakpoint after “cvx_end”.
when the program stops in debugging(CVX has been executed), I found that ‘tao_u_2’ did not perform correctly with ‘reshape’, here is the representation of the data I got from the command line:


and here is the data of ‘tao_u_2’:

here is the data of ‘ztemp2’:

they should actually be the same, im confused why this happed.

hi, dear everyone, now i understand why this happend.
except for the parameter tao_u_2, i also set tao_m_2 and tao_2, which tao_2 = max(tao_u_2,tao_m_2). so when the program is finished, tao_u_2 will equal to tao_m_2 and tao_2 since the tao_u_2 and tao_m_2 are already useless. although I still don’t know why the program is executed this way, but since the result is right, so whatever, maybe this way will improve the efficiency of the program.