【发布时间】:2016-03-13 05:54:45
【问题描述】:
我想在 MATLAB 中编写这个语句。
for c = 1:c1-50 && c1+50:cmax;
但我收到以下错误:- "|| 和 && 运算符的操作数 必须可转换为逻辑标量 值。”
在不使用多个 for 循环的情况下编写此类语句的任何优雅解决方案?
工作代码是:-
for c = 1:c1-50;
然后是第二个 for 循环
for c = c1+50:cmax;
【问题讨论】:
我想在 MATLAB 中编写这个语句。
for c = 1:c1-50 && c1+50:cmax;
但我收到以下错误:- "|| 和 && 运算符的操作数 必须可转换为逻辑标量 值。”
在不使用多个 for 循环的情况下编写此类语句的任何优雅解决方案?
工作代码是:-
for c = 1:c1-50;
然后是第二个 for 循环
for c = c1+50:cmax;
【问题讨论】:
根据您的问题,我了解到您想要迭代两个不同的值范围。第一个范围是 [1:c1-50],第二个范围是 [c1+50:cmax]。
这样做的正确方法是将两个范围连接在一起:
for c = [1:c1-50, c1+50:cmax]
%put your code here
end
另外两个cmets:
在 MATLAB 中,[1:c1-50] 和 [c1+50:max] 是两个整数向量。 在您的情况下,在它们之间执行逻辑运算不会达到预期的结果。
在两个逻辑数组之间进行逻辑运算时,只能使用“&”或“|”这一字符。
【讨论】: