Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Математические пакеты > модифицировать код матлаба


Автор: Александр92 22.3.2015, 20:39
clear all;
clc

Q=[1 1 1 1;1 1 1 0;1 1 0 1;1 1 0 0;1 0 1 1;1 0 1 0;1 0 0 0];
q=[1 1 0 0];
% str = input('Введите элемент (через запятую)','s');
% q = str2num(str);

q1 = repmat(q, size(Q,1), 1); % повторяем строку q до размера матрицы Q
L = all(Q==q1, 2); % находим логический индекс, где строка совпадает с вектором


A=[-3;-3;-3;-3;-1;-1;-1;]; 
B=[3;1;-1;-3;3;1;-1];

A(L) % соответствующий элемент A
B(L) % соответствующий элемент B
k = find(L) % индекс элемента(номер строки матрицы Q)

На основе этого кода модернизировать его так чтобы он работал не только при одной q(то есть например при q=[1111] но и при любом колличестве q кратным четырем.то есть при q=[1111 1110] мы должны получить на выходе соответствующие значения A и B для 1111(А=-3.В=3) и 1110(А=-3.В=1).получившиеся значения записать в массив

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)