【问题标题】:For loop through all elements of vector of onesFor循环遍历向量的所有元素
【发布时间】:2015-07-24 22:39:40
【问题描述】:

在 Matlab 中,假设我有一个 3x1 向量。然后我想做一个 for 循环,将一个元素更改为零。这样我就可以从我的循环中得到(0,1,1)(1,0,1)(1,1,0)。我该怎么办?

我试过了

for i = s
    i = 0;
    print(s);
end

其中 s 是我的向量,但它不起作用。请注意,我是编程初学者。

谢谢!

【问题讨论】:

    标签: matlab for-loop


    【解决方案1】:

    我将向您展示一种更类似于 Matlab 的方法,而不是展示您的代码有什么问题:

    n = 3; %// problem size
    matrix = ones(n)-eye(n); %// n x n matrix with all ones except zeros at the diagonal
    for k = 1:n %// pick each row
        disp(mat2str(matrix(k,:))) %// create a string from n-th row and display it
    end
    

    结果:

    [0 1 1]
    [1 0 1]
    [1 1 0]
    

    【讨论】:

    • 谢谢,我想我可以在我的程序中实现这个想法。
    • 如果这是程序的一部分,您可能需要向量[0 1 1][1 0 1] 等,而不是它们的字符串表示。所以只需在for 循环中使用matrix(k,:))
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-26
    • 1970-01-01
    • 1970-01-01
    • 2023-01-13
    • 2017-04-29
    • 1970-01-01
    相关资源
    最近更新 更多