Matlab函数包含for,if和else

时间:2015-11-30 14:10:53

标签: matlab

我有一个变量var0 = rand(50,1)。 我需要编写一个函数,将前5行更改为0,其余为1。

当然,我可以简单地这样做

var0=rand(50,1)
var0(1:5,1)=0
var0(6:end,1)=1

但是,我需要使用一个一个 if和一个 else子句。

我尝试了许多方法,但无法让它与之合作,它和其它。
有人可以帮助这个相当基本的功能吗?

2 个答案:

答案 0 :(得分:4)

这是一个满足要求的实现:

stupidexercise = true;
topborder = 5;

var0 = rand(50,1);
if stupidexercise
    for ii = 1:topborder
        var0(ii, 1) = 0;
    end

    var0((topborder + 1):end, 1) = 1;
else
    spy
end

答案 1 :(得分:2)

正如其他人所指出的,这似乎是一个愚蠢的任务。你的方法更有效率。

var0 = rand(50,1);

for ii = 1:50
    if ii <= 5
        var0(ii) = 0;
    else
        var0(ii) = 1;
    end
end