как сравнить элементы матрицы и заполнить другую матрицу элементами вектора
то, что я пытаюсь сделать, это заполнить матрицу нулей элементами вектора, но сначала мне нужно сравнить с матрицей 1 и 0, чтобы узнать, какое значение должно идти
эти векторы представляют доступность и неготовность группы компонентов электрической системы, если элемент матрицы равен 1, он принимает значение готовности, если он равен нулю, он должен принимать значение неготовности
код, который я предлагаю, заполняет только первый столбец матрицы нулей соответствующими элементами a и b, но я не могу заставить другие столбцы быть заполненными соответствующими элементами
n=5; a=[0.9 0.8 0.7 0.6 0.5]; b=[ 0.1 0.2 0.3 0.4 0.5]; t=ff2n(n); t1=zeros(size(t)); for i = 1:length(t) if t(i)==1 t1(i) =a(1,1); else t1(i) = b(1,1); end end disp(t1)
Отвечать:
Поскольку ваша матрица t заполнена 0 и 1, вы можете воспользоваться этим и просто сделать это
a = [0.9 0.8 0.7 0.6 0.5]; b = [0.1 0.2 0.3 0.4 0.5]; t = ff2n(n); t1 = t.*a t1 = 0 0 0 0 0 0 0 0 0 0.5000 0 0 0 0.6000 0 0 0 0 0.6000 0.5000 0 0 0.7000 0 0 0 0 0.7000 0 0.5000 0 0 0.7000 0.6000 0 0 0 0.7000 0.6000 0.5000 0 0.8000 0 0 0 0 0.8000 0 0 0.5000 0 0.8000 0 0.6000 0 0 0.8000 0 0.6000 0.5000 0 0.8000 0.7000 0 0 0 0.8000 0.7000 0 0.5000 0 0.8000 0.7000 0.6000 0 0 0.8000 0.7000 0.6000 0.5000 0.9000 0 0 0 0 0.9000 0 0 0 0.5000 0.9000 0 0 0.6000 0 0.9000 0 0 0.6000 0.5000 0.9000 0 0.7000 0 0 0.9000 0 0.7000 0 0.5000 0.9000 0 0.7000 0.6000 0 0.9000 0 0.7000 0.6000 0.5000 0.9000 0.8000 0 0 0 0.9000 0.8000 0 0 0.5000 0.9000 0.8000 0 0.6000 0 0.9000 0.8000 0 0.6000 0.5000 0.9000 0.8000 0.7000 0 0 0.9000 0.8000 0.7000 0 0.5000 0.9000 0.8000 0.7000 0.6000 0 0.9000 0.8000 0.7000 0.6000 0.5000 t2 = not(t.*a).*b t2 = 0.1000 0.2000 0.3000 0.4000 0.5000 0.1000 0.2000 0.3000 0.4000 0 0.1000 0.2000 0.3000 0 0.5000 0.1000 0.2000 0.3000 0 0 0.1000 0.2000 0 0.4000 0.5000 0.1000 0.2000 0 0.4000 0 0.1000 0.2000 0 0 0.5000 0.1000 0.2000 0 0 0 0.1000 0 0.3000 0.4000 0.5000 0.1000 0 0.3000 0.4000 0 0.1000 0 0.3000 0 0.5000 0.1000 0 0.3000 0 0 0.1000 0 0 0.4000 0.5000 0.1000 0 0 0.4000 0 0.1000 0 0 0 0.5000 0.1000 0 0 0 0 0 0.2000 0.3000 0.4000 0.5000 0 0.2000 0.3000 0.4000 0 0 0.2000 0.3000 0 0.5000 0 0.2000 0.3000 0 0 0 0.2000 0 0.4000 0.5000 0 0.2000 0 0.4000 0 0 0.2000 0 0 0.5000 0 0.2000 0 0 0 0 0 0.3000 0.4000 0.5000 0 0 0.3000 0.4000 0 0 0 0.3000 0 0.5000 0 0 0.3000 0 0 0 0 0 0.4000 0.5000 0 0 0 0.4000 0 0 0 0 0 0.5000 0 0 0 0 0 t1+t2 ans = 0.1000 0.2000 0.3000 0.4000 0.5000 0.1000 0.2000 0.3000 0.4000 0.5000 0.1000 0.2000 0.3000 0.6000 0.5000 0.1000 0.2000 0.3000 0.6000 0.5000 0.1000 0.2000 0.7000 0.4000 0.5000 0.1000 0.2000 0.7000 0.4000 0.5000 0.1000 0.2000 0.7000 0.6000 0.5000 0.1000 0.2000 0.7000 0.6000 0.5000 0.1000 0.8000 0.3000 0.4000 0.5000 0.1000 0.8000 0.3000 0.4000 0.5000 0.1000 0.8000 0.3000 0.6000 0.5000 0.1000 0.8000 0.3000 0.6000 0.5000 0.1000 0.8000 0.7000 0.4000 0.5000 0.1000 0.8000 0.7000 0.4000 0.5000 0.1000 0.8000 0.7000 0.6000 0.5000 0.1000 0.8000 0.7000 0.6000 0.5000 0.9000 0.2000 0.3000 0.4000 0.5000 0.9000 0.2000 0.3000 0.4000 0.5000 0.9000 0.2000 0.3000 0.6000 0.5000 0.9000 0.2000 0.3000 0.6000 0.5000 0.9000 0.2000 0.7000 0.4000 0.5000 0.9000 0.2000 0.7000 0.4000 0.5000 0.9000 0.2000 0.7000 0.6000 0.5000 0.9000 0.2000 0.7000 0.6000 0.5000 0.9000 0.8000 0.3000 0.4000 0.5000 0.9000 0.8000 0.3000 0.4000 0.5000 0.9000 0.8000 0.3000 0.6000 0.5000 0.9000 0.8000 0.3000 0.6000 0.5000 0.9000 0.8000 0.7000 0.4000 0.5000 0.9000 0.8000 0.7000 0.4000 0.5000 0.9000 0.8000 0.7000 0.6000 0.5000 0.9000 0.8000 0.7000 0.6000 0.5000
для получения помощи по другим заданиям посетите этот сайт:
СМОТРИТЕ ПОЛНЫЙ ОТВЕТ НАЖМИТЕ НА ССЫЛКУ