Matlab fórum

Úplná verzia: Vnorené inline funkcie
Prezeráte si holú variantu vašeho obsahu. Pozrieť si úplnú verziu s príslušným formátováním.
Dobry den,

V mojom M-skripte som si vytvoril inline funkcie:

int_f = inline('1/2*x.^2','x');

a

dint_f = inline('int_f(c2)-int_f(c1)','c1','c2');

pricom vo funkcii dint_f pozostava vyraz z dvoch volani funkcie int_f.

Dedinicia oboch funkcii v matlabe prebehne uspesne, ale pri volani funkcie dint_f s konkretnymi parametrami je hlasena chyba, ktorej nerozumiem:

>> int_f = inline('1/2*x.^2','x');
>> dint_f = inline('int_f(c2)-int_f(c1)','c1','c2');
>> dint_f(1,2);
??? Error using ==> inlineeval
Error in inline expression ==> int_f(c2)-int_f(c1)
??? Undefined function or variable 'int_f'.

Error in ==> C:\MATLAB6p5\toolbox\matlab\funfun\@inline\subsref.m
On line 25 ==> INLINE_OUT_ = inlineeval(INLINE_INPUTS_, INLINE_OBJ_.inputExpr, INLINE_OBJ_.expr);

Pricom obe funkcie sa v pracovnom prostredi zalozili.

Skusal som namiesto inline funkcii pouzit anonymne funkcie, ale tie su implementovane az od verzie matlabu 7 a ja pouzivam verziu 6.5.
Nakolko sa jedna o jednoduche matematicke vyrazy, nechcem pouzit M-funkcie a ukladat ich do samostatnych suborov. bolo by to neprehladne.

Dakujem
Referenčné URL