Solicitud de asesoramiento: ¿Cómo resolvió el problema de que no existe una función simple en matlab 2015b?

¿Copiar una función?[r,h]?=?simple(s,varargin)

¿SIMPLE?Buscar?la?forma?más?simple?de?una?expresión?simbólica? o?matriz.

?SIMPLE(S)?intenta?varias?diferentes?simplificaciones?algebraicas?de

?S,?muestra?cualquiera?que?acorte?la?longitud? ?de?la?representación de?S,

?y?devuelve?la?más corta.?S?es?un?SYM.?Si?S?es?una?matriz,?el?resultado

?representa?la?representación?más corta?de?toda?la?matriz?,?cuál?es?

?no?necesariamente?la?representación?más corta?de?cada?individuo? elemento.

?[R,CÓMO]?=?SIMPLE(S)?¿no?muestra?simplificaciones?intermedias,

?pero? devuelve?el?más corto?encontrado,?así?como?una?cadena?que?describe

?la?simplificación?particular.?R?es?un?SYM.?¿CÓMO?es?un? string.

?

?SIMPLE(S,'IgnoreAnalyticConstraints',VAL)?controla?el?nivel?de?

?rigor?matemático?a ?utilizar?las?restricciones?analíticas?y?simplificar?

?(cortes?de?ramas?, ?división?por?cero,?etc).?Las?opciones?para?VAL?son? ¿VERDADERO?o?

?FALSO.?Especifique?VERDADERO?para?relajar?el?nivel?de?rigor?matemático

?en?el?proceso?de?reescritura.?El? ?predeterminado?es?FALSO.

?Ejemplos:

SRHow

cos(x)^2 sin(x)^21simplificar

2*cos(x)^2-sin(x)^23*cos(x)^ 2-1?simplificar

cos(x)^2-sin(x)^2cos(2*x)?simplificar

cos(x) i*sin(x)exp (i*x)?reescribir(exp)

(x 1)*x*(x-1)x^3-xsimplificar(100)

x^3 3*x ^2 3*x1(x1)^

3simplificar

cos(3*acos(x))?4*x^3-3*xsimplificar(100)

simple(asin(sin( x)))?=?asin(sin(x))

simple(asin(sin(x)),'IgnoreAnalyticConstraints',true)=?x

?Consulte?también?SYM/SIMPLIFY,?SYM/FACTOR,?SYM/EXPAND,?SYM/COLLECT.

?Copyright?1993-2011?The?MathWorks,?Inc.

if?builtin('numel', s)?~=?1, s?=?normalizesym(s); fin

p?=?nargout?==?0;

[rsym, h]?=?mupadSimple(s, p, varargin{:});

r?=?privResolveOutput(rsym,?s);

fin

función?[r, h]?=?mupadSimple(s, p, varargin)

h?=?'';

r?=?s;

x?=?symvar(s, 1);

?parse?argumentos:?Buscar?opciones

narg ?=?nargin?-?2;

args?=?varargin;

?default:

opciones?=?'null()';

k?=?1;

mientras?k?lt;=?size(args,?2)

v?=?args{k};

if?ischar(v)?amp;amp;?strcmp(v,?'IgnoreAnalyticConstraints')

if?k?==?size(args,?2);

error(message('symbolic:sym:optRequiresArg',?v))

end

valor?=?args{k 1};

end p>

if?value?==?true

valor?=?'TRUE';

elseif?value?==?false

valor?=?'FALSE';

elseif?strcmp(v,?'IgnoreAnalyticConstraints')?amp;amp;?isa(valor,?'char')

si? strcmp(valor,?'todos')

valor?=?'TRUE';

elseif?strcmp(valor,?'ninguno')

valor ?=?'FALSE';

else

error(message('symbolic:sym:badArgForOpt',?v))

fin

else

error(mensaje('symbolic:sym:badarg',?value))

finalizar

opciones? =?[opciones

?',?'?v?'='?value];?#oklt;AGROWgt;

args(k:k 1)?=?[];

else

error(message('symbolic:sym:badarg',?v))

end

end

?Pruebe?el? ¿diferentes?simplificaciones.

[r,h]?=?simpler('simplify',s,r,h,p,options);

[r,h]?= ?simpler('radsimp',s,r,h,p,'null()');

[r,h]?=?simpler('symobj::simplify',s,r, h, p, opciones, '100');

[r, h]?=?simpler('combinar', s, r, h, p, opciones, 'sincos'); >

[r, h]?=?simpler('combinar', s, r, h, p, opciones, 'sinhcosh');

[r, h]?=?simpler( 'combinar', s, r, h, p, opciones, 'ln');

[r, h]?=?simpler('factor', s, r, h, p, 'null ()');

[r, h]?=?simpler('expand',s,r,h,p,options);

[r,h]? =?simpler('combinar',s,r,h,p,opciones);

[r,h]?=?simpler('reescribir',s,r,h,p,'null ()', 'exp');

[r, h]?=?simpler('rewrite', s, r, h, p, 'null()', 'sincos'); /p>

[r, h]?=?simpler('reescribir', s, r, h, p, 'null()', 'sinhcosh'); ]?=?simpler('rewrite',s,r,h,p,'null()','tan');

[r,h]?=?simpler('symobj:: mwcos2sin', s, r, h, p, 'null()');

if?~isempty(x)

[r, h]?=?simpler(' recopilar', s, r, h, p, 'null()', x

end

end

función?[r,h] ?=?simpler(how, s, r, h, p, options, x)

¿SIMPLER?Utilizado?por?SIMPLE?para?acortar?expresiones.

?SIMPLER( ¿CÓMO,S,R,H,P,X)?aplica?el?método?¿CÓMO?con?el?parámetro?opcional?X

?a?la?expresión?S,?imprime?el?resultado?si?P ?es?distinto de cero,?compara?la

?longitud?del?resultado?con?la?expresión?R,?que?se?obtuvo?con?el?método?

H,?y?devuelve?la?cadena?más corta?y?el?método?correspondiente.

if?nargin?lt;?7

[t,err]?=?mupadmex ('symobj::map', s.s, cómo, opciones);

elseif?ischar(x)

[t, err]?=?mupadmex('symobj::map ', s.s, cómo, x, opciones);

else

[t, err]?=?mupadmex('symobj::map', s.s, cómo, x.s, opciones); );

fin

if?err

return;

fin

if?nargin?== ?7 ¿cómo?=?[cómo?'('?char(x)?')'];

end

cómo?=?strrep(cómo,'symobj:: ', '');

if?p? suelto?=?isequal(get(0,'FormatSpacing'),'loose'); si?loose,?disp('?'),? end disp([¿cómo?':']) if?loose,?disp('?'),?end disp(t)

end

cmp?=?mupadmex( 'symobj::simpler',?t.s,?r.s,?0);

if?strcmp(cmp,'TRUE')? r?=?t; h?=?how;

fin

fin