Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия, Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки
Матлаб: как найти лин.оператор для заданых входа и выхода?
16.09.2021, 20:26
Последний раз редактировалось maximkarimov 16.09.2021, 20:40, всего редактировалось 2 раз(а).
Даны две матрицы и , каждый столбец каждой из которых является циклическим сдвигом одного и того же образующего вектор-столбца. Например: Как найти матрицу такую, что ?
Dan B-Yallay
Re: Матлаб: как найти лин.оператор для заданых входа и выхода?
function[X] = getLO(A,B,mode) % находим линейный оператор X такой, что X*A=B % mode==0 - в символьном виде, иначе приближенные численные значения % ==== Algorithm ============
X = sym('x', [size(A,1)size(A,1)]); % составляем и решаем систему уравнений
eqns=X*A==B;
S=solve(eqns,X); % вытаскиваем решения из структуры и формируем результат ifsize(A,1)==1 && size(A,2)==1
X=S; elseifsize(A,1)>1
C = struct2cell(S);
c=sym(zeros(1,size(C,1))); fori=1:length(c)
c(i)=C{i}; end
X=reshape(c, size(A,1), size(A,1)); else
X=nan; end if mode~=0
X=double(X); end end