Matlab 使用if语句填充矩阵

Matlab 使用if语句填充矩阵,matlab,if-statement,matrix,Matlab,If Statement,Matrix,我有一个.csv文件,其中包括两列,每列有一个大小为68x1的矩阵。为了读取文件,我使用以下代码: filename1= 'myfile.csv'; [d1,tex]= xlsread(filename1); b=d1(:,1); 我想使用if获取一些值。我写过: if b<=4.5&&b<60 X=2*b+5 elseif b>=60 X=3*b-6 end 但是,它不起作用。我该怎么做呢?在你的例子中,b是一个向量。语句b在您的示例中,b

我有一个.csv文件,其中包括两列,每列有一个大小为68x1的矩阵。为了读取文件,我使用以下代码:

filename1= 'myfile.csv';
[d1,tex]= xlsread(filename1);
b=d1(:,1);
我想使用if获取一些值。我写过:

if b<=4.5&&b<60
    X=2*b+5
elseif b>=60
    X=3*b-6
end

但是,它不起作用。我该怎么做呢?

在你的例子中,b是一个向量。语句b在您的示例中,b是一个向量。声明b欢迎使用堆栈溢出!请澄清您正在使用if语句做什么,以及为什么它不起作用。你有错误吗,结果不正确吗,你的电脑爆炸了吗。。。?请把帖子写得更具体一些。欢迎来到堆栈溢出!请澄清您正在使用if语句做什么,以及为什么它不起作用。你有错误吗,结果不正确吗,你的电脑爆炸了吗。。。?请把帖子写得更具体一些。
for ii = 1:numel(b)
    if b(ii) >= 4.5 && b(ii) < 60
        X(ii) = 2*b(ii) + 5;
    elseif b >= 60
        X(ii) = 3*b(ii) - 6;
    end
end
X = NaN( size(b) );
X( b >= 4.5 & b < 60 ) = 2*b + 5;
X( b >= 60 ) = 3*b - 6;