Matlab слишком много входных аргументов с помощью csvread

У меня есть файлы с именами t1_25, t1_45, t1_65, t2_25, t2_45 и так далее до t5_65.

Я написал этот кусок кода:

MaxForce =[0,0,0;0,0,0;0,0,0;0,0,0;0,0,0;0,0,0];

MaxForce(1,1) = 25;

MaxForce(1,2) = 45;

MaxForce(1,3) = 65;

HeightNo = 3;

NoOfRepeats = 5;

for x = 1:HeightNo
    for y =1:NoOfRepeats

        if x == 1

        MaxForce(y+1,x)= ((max(csvread('t', y, '_25.csv',1,1)))-0.392)/0.000267;
        if x ==2
            MaxForce(y+1,x)= ((max(csvread('t', y, '_45.csv',1,1)))-0.392)/0.000267;
            if x ==3
                MaxForce(y+1,x)= ((max(csvread('t', y, '_65.csv',1,1)))-0.392)/0.000267;
            end
        end
        end
    end
end

MaxForce(:,:)

Это говорит об ошибке в проекте (строка 10) MaxForce(y+1,x)= (max(csvread('t', y, '_25.csv',1,1))-0.392)/0.000267;

- Почему?

, 👍0

Обсуждение

Потому что вы не использовали ни одного из правильных способов вызова функции csvread (). Если вы сомневаетесь, [ПРОЧТИТЕ ИНСТРУКЦИЮ](http://uk.mathworks.com/help/matlab/ref/csvread.html)., @CharlieHanson


1 ответ


1

Вам следует улучшить свой вопрос, и, похоже, он вообще не связан с arduino. Однако я думаю, что вы пытаетесь автоматически сгенерировать имя файла, который вы используете в cvsread, в соответствии со значением y. Это можно сделать с помощью sprintf, в вашем случае для первого выражения csvread(sprintf('t%d_25.csv',y),1,1). Хотя структура вашего кода кажется действительно запутанной, взгляните на ваши конечные инструкции.

,