簡體   English   中英

借助for循環在Matlab中創建新矢量

[英]Creating a new vector in Matlab with the help of a for-loop

給定向量x ,我想通過檢查x分量逐個創建向量u0 由於只有0 <= 0 < 1為真,並且因為0x的第一個分量,所以新向量u0實際上應該看起來像[1, 0, 0, 0, 0, 0, 0, 0] u0 [1, 0, 0, 0, 0, 0, 0, 0] ,但是, Matlab給我一個只包含0的向量。 我做錯了什么?

x = [0, 1, 2, 3, 4, 5, 6, 7, 8];
u0 = [];

for i = 1:8
  if (0 <= x(i) < 1)
    u0(i) = 1;
  else
    u0(i) = 0;
  end
end

您的條件是否正確。 您需要檢查一下。 您必須按照以下步驟進行。

x = [0, 1, 2, 3, 4, 5, 6, 7, 8];
u0 = zeros(size(x));

for i = 1:8
    if x(i) >= 0 && x(i)<1
        u0(i) = 1;
    else
        u0(i) = 0;
    end
end

另外,您可以使用以下命令在一行中獲取任務:

u1 = zeros(size(x)) ;
u1(x>=0 & x<1) = 1 ;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM