Когда я запускаю код, который содержит ниже, если x равно 3, он запускает инструкции внутри case 3 и полностью завершает оператор switch. Но я хочу, чтобы он продолжался с случаем 2 и случаем 1. Однако, если x равно 1, он должен просто запускать инструкции в случае 1 (как в случае с коммутатором без разрыва в C/C++).Рабочие случаи/если условия в MATLAB
switch (x)
case 3
k1= bitxor(k1,bitshift(tail(3),16));
case 2
k1= bitxor(k1,bitshift(tail(2),8));
case 1
k1= bitxor(k1,tail(1));
k1 = k1*c1;
otherwise
disp('error');
end
Каков наиболее эффективный способ запуска этих случаев, как я уже упоминал выше? Я не должен использовать switch-case, это также может быть, если условие.
Что должно произойти в случае 2? (перерыв или продолжение с другими случаями) В случае 3 вы хотите сделать случай 3, затем 2 и 1, вот и все? – Ikaros
В случае 2 он должен запустить регистр 2, и продолжить с case 1 – Bhoke
Это не похоже на 'C/C++'. Из [Matlab doc] (http://mathworks.com/help/matlab/ref/switch.html): «Когда выражение case истинно, MATLAB® выполняет соответствующие инструкции ** и выходит из блока переключателей ** ._ «Если вам действительно нужно оценить другие условия, даже если первый из них _true_, то оператор' switch ... case' не подходит для ваших нужд. – Hoki