• Регистрация
Chishok
Chishok 0.00
н/д

Составить подпрограмму, определяющую число положительных и отрицательных элементов выше главной диагонали матрицы А размерностью 5Х5

05.11.2019

Здравствуйте! Изучаю матлаб на первом курсе,и застрял вот на таком задании:

Составить подпрограмму, определяющую число положительных и отрицательных элементов выше главной диагонали матрицы А размерностью 5Х5 (Вообще в задании написано n#n (n<6)) Но разрешено взять любое конкретное значение чтобы было проще. Нужно матрицу считать из файла. У меня получилась такая вот программа:

function massiv6_primer2
    f=fopen('matrix.txt', 'rt');     
    str1=fgetl(f);
    str2=fgetl(f);
    str3=fgetl(f);
    str4=fgetl(f);
    fclose(f);
    x=str2num (str1);
    y=str2num (str2);
    z=str2num (str3);
    v=str2num (str4);
n=length(x);
b=0;
h=0;
for n=length(x):1;
    for j=1:4
        if x(n)>0
        h=h+1;
        disp('+ >0 =');
        h
    else
        b=b+1;
        disp('- <0 =');
        b
        end
end
end

Но даже этот кусочек не работает. Нашел функцию по составлению верхнетреугольной матрицы,но не знаю как к ней подступиться.

Не мог бы кто-нибудь мне немного помочь?

 

Теги

    05.11.2019

    Лучший ответ

    • JESUS DAVID ARIZA ROYETH +12.00
      5.11.2019 12:00

      решение:

      a=dlmread('matrix.txt')

      disp(['+>0=' num2str(sum(sum(triu(a,1)>0)))])

      disp(['-<0=' num2str(sum(sum(triu(a,1)<0)))])

    Ответы

    • JESUS DAVID ARIZA ROYETH
      JESUS DAVID ARIZA ROYETH +12.00
      5.11.2019 22:17

      решение:

      a=dlmread('matrix.txt')

      disp(['+>0=' num2str(sum(sum(triu(a,1)>0)))])

      disp(['-<0=' num2str(sum(sum(triu(a,1)<0)))])

      • Chishok
        Chishok0.00
        7.11.2019 18:22

        Спасибо Вам большое!

        Осталось только разобраться как она работает)