【发布时间】:2020-09-12 13:02:30
【问题描述】:
大家好, 我一直在尝试编写此程序以查找 行向量 中的最大值和最小值,但在分配它们的维度时遇到了问题 indexes 我不知道出了什么问题 C 和 D 始终显示为“1” 我是初学者,你能帮帮我吗
function [low,high,index1,index2] = Q1(x)
low = x(1);
high = x(1);
index1 = x(1,2);
index2 = x(1,2);
for i = 2:length(x),
if x(i) < low,
low = x(i);
index1 = find(low);
elseif x(i) > high,
high = x(i);
index2 = find(high);
endif;
endfor;
endfunction
【问题讨论】:
-
如果
low是一个标量,那么find(low)将始终返回1,除非low是0,在这种情况下它返回一个空数组。你需要做index1=i,另一个也一样。 -
你打算用
x(1,2)做什么?如果 x 是向量,则应始终使用单个索引来寻址,如x(i)。一般来说,显示一组数据和预期结果总是更好 -
我希望 index1 和 index2 作为 (1,2) 矩阵的输出,指示 Low 和 High 变量值的位置。
-
我做了 index1=i 的事情,没有任何改变。
-
您在问题中提到的“C 和 D”是什么?你那里没有C和D。另外,请提供一个样本输入 x 和输出 [low, high, index1, index2] 您希望从该集合中获得。
标签: indexing max row octave minimum