8
syms t; % Define symbolic var x.
y = int(t^2); % Calculate integral of x; it should be t^3/3.
x = [1:10]
Ora voglio calcolare y (x), dovrebbe essere [1/3, 8/3, .., 1000/3].Valuta l'espressione simbolica
syms t; % Define symbolic var x.
y = int(t^2); % Calculate integral of x; it should be t^3/3.
x = [1:10]
Ora voglio calcolare y (x), dovrebbe essere [1/3, 8/3, .., 1000/3].Valuta l'espressione simbolica
Risposta breve: usare subs
. Risposta lunga:
>> 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
Se si vuole fare l'espressione y(x)
si comportano come la funzione chiamata, è possibile associare la variabile 'y' utilizzando una funzione anonima:
>> 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
Se si trova l'integrale di t^2, non si otterrà t^3/3, non 2t. 2t sarebbe il derivato di t^2 – rzrgenesys187
sì, certo. diciamo che ero di fretta :) – Fantomas