Editing Symbolic package
Jump to navigation
Jump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 5: | Line 5: | ||
=== Demos and usage examples === | === Demos and usage examples === | ||
* '''I'm trying to substitute a double value into an expression. How can I avoid getting "warning: Using rat() heuristics for double-precision input (is this what you wanted?)" | * ''' I'm trying to substitute a double value into an expression. How can I avoid getting "warning: Using rat() heuristics for double-precision input (is this what you wanted?)" | ||
In general, you should be very careful when converting floating point ("doubles") to symbolic variables, that's why the warning is bothering you. | In general, you should be very careful when converting floating point ("doubles") to symbolic variables, that's why the warning is bothering you. | ||
Line 79: | Line 79: | ||
% have fun and change it if you want to. | % have fun and change it if you want to. | ||
f = @(x) x.^2 + 3*x - 1 + 5*x.*sin(x); | f=@(x) x.^2 +3*x-1 + 5*x.*sin(x); | ||
% | % the next 2 line take the Anonymous function into a symbolic formula | ||
syms x; | syms x; | ||
ff = f(x); | |||
ff=formula(f(x)); | |||
% now calculate the derivative of the function | % now calculate the derivative of the function | ||
ffd = diff(ff | ffd=diff(ff); | ||
% and convert it back to an Anonymous function | % and convert it back to an Anonymous function | ||
df = function_handle(ffd) | df=function_handle(ffd) | ||
% this uses the interval pkg to find all the roots between -15 an 10 | % this uses the interval pkg. to find all the roots between -15 an 10 | ||
fzero (f, infsup (-15, 10), df) | fzero (f, infsup (-15, 10), df) | ||