使用给定值构造列向量

时间:2013-09-05 08:06:20

标签: matlab

我刚开始使用matlab并卡在某处...考虑示例

X=(3:7)
Z=(2:6)
for (i=1:5)
    y=abs(X(i)-Z);

    dm=min(y);

    D=find(y==min(y))
    D1=Z(D);

end

我希望D和D1成为列/行向量。请帮助。

4 个答案:

答案 0 :(得分:1)

如果您只想将DD1从行向量转换为列向量,只需在代码末尾添加以下行:

D = D';
D1 = D1';

'操作只是为您提供相关矩阵的转置。

答案 1 :(得分:1)

使用:

if isrow(D)
    D = D.'; % .' is the transpose operator
end

BTW:你不需要经常使用括号。

答案 2 :(得分:1)

目前,您正在将标量值存储到DD1中。 也许您想将值保存到DD1的第i列?

X=(3:7)
Z=(2:6)
for (i=1:5)
    y=abs(X(i)-Z);
    dm=min(y);
    D(i)=find(y==min(y));
    D1(i)=Z(D(i));
end

答案 3 :(得分:1)

我认为以下内容也会有所帮助:

% convert ANY array into a column vector
D = D(:);

% convert ANY array into a row vector
D1 = D1(:).';

这样做将保证一个是列而另一行,没有任何性能损失。

相关问题