2009-11-29 16 views
8
syms t;   % Define symbolic var x. 
y = int(t^2); % Calculate integral of x; it should be t^3/3. 
x = [1:10] 

Ahora quiero calcular y (x), debería ser [1/3, 8/3, .., 1000/3].Evaluar la expresión simbólica

+2

Si está buscando la integral de t^2, ¿no obtendría t^3/3, no 2t? 2t sería la derivada de t^2 – rzrgenesys187

+1

sí, por supuesto. digamos que tenía prisa :) – Fantomas

Respuesta

17

Respuesta corta: use subs. Respuesta larga:

>> syms t; 
>> y = int(t^2) % note: as rzrgenesys187 says, this is t^3/3 

y = 

t^3/3 

>> x = 1:10; % same as x = [1:1:10]    
>> subs(y, 't', x) 

ans = 

    Columns 1 through 7 

    0.3333 2.6667 9.0000 21.3333 41.6667 72.0000 114.3333 

    Columns 8 through 10 

    170.6667 243.0000 333.3333 

Si desea realizar la expresión y(x) se comportan como invocación de la función, que puede obligar a la variable 'y' usando una función anónima:

>> y = int(t^2);   
>> y = @(t) subs(y, 't', t); % the 't^3/3' value of y gets bound into the anonymous function 
>> y(x) 

ans = 

    Columns 1 through 7 

    0.3333 2.6667 9.0000 21.3333 41.6667 72.0000 114.3333 

    Columns 8 through 10 

    170.6667 243.0000 333.3333 

>> y(2) 

ans = 

    2.6667 
Cuestiones relacionadas