Есть ли простой способ проверить, является ли символическая функция с векторным значением линейной? Если да, то есть ли простой способ представить это выражение в виде A*x
, где A
— это символьная матрица, а x
— аргумент (т. е. есть ли способ «извлечь» A
из данных x
и A*x
)?
syms x1 x2 a b c;
fx1 = [a*(x1+x2); b*x1+c*x1];
fx2 = [a*x1/log(x2); x2^2];
A=checklinearity(fx1, [x1 x2]') % should return [a, a; b+c, 0]
A=checklinearity(fx2, [x1 x2]') % should return false
Ответ: Есть простой способ решить проблему, используя встроенную функцию MATLAB equationsToMatrix.
f(x+x) = f(x)+f(y)
иf(ax)=a*f(x)
? - person patrik   schedule 26.08.2014f(x) = x; q = f(ax)-a*f(x); if q~=0, fprintf('not equal'); else,fprintf('equal'); end
. Это, конечно, псевдокод. - person patrik   schedule 26.08.2014