MATLAB: Does anyone know why the 2nd conditional statement is being ignored in this while loop

conditional statementMATLAB

Does anyone know why my second conditional statement "units(1) ~= 'n'" is being ignored when this code block is run? When the 2nd statement is removed the code runs without problems.
units = strings([1,4]);
torque_force_input = input('Input the unit of force for your initial torque\n','s');
units(1)= torque_force_input;
while units(1) ~= 'N'||units(1) ~= 'n'
disp('Please input a valid unit for the torque''s force.');
torque_force_input = input('Input a unit of force for your torque...\n','s');
units(1)= torque_force_input;
end

Best Answer

Suppose i enter Nm in command window then units will be
units
units =
1×4 string array
"Nm" "" "" ""
if you try the access the first letter
units(1)
ans =
"Nm"
you have the complete word the user enters and not a single character
to access first index
units{1}(1)
ans =
'N'
Now for the while loop, it keeps runing untill it receives false. so if user inputs N, so
'N' ~= 'N' || 'N' ~= 'n'
this will give you true and while loop will keep runing. you need a condition such that if any of them is true you get false and if both are false you get true