Filter löschen
Filter löschen

Evaluate symbolic nthroot and return its symbolic expression to plot

1 Ansicht (letzte 30 Tage)
syms x;
f(x) = ((1 + x)^(1/3));
Ln = functionLinear(f, 2);
disp(LN);
Define the function that will return the tangent line 'res' symbolically. This way I can plot both the actual function and the tangent evaluated at point 'a'. The below function is what I coded, and I am not able to get the symbolic expression back.
function[res] = functionLinear(func, a)
syms x;
g(x) = diff(func);
res = g(a)*(x-a) + func(a);
end

Akzeptierte Antwort

John D'Errico
John D'Errico am 2 Mai 2018
Bearbeitet: John D'Errico am 3 Mai 2018
What is wrong with it? Did you forget to use vpa? For example, with...
a = 1.3;
I get this from your code:
res =
(10^(2/3)*23^(1/3))/10 + (10^(2/3)*23^(1/3)*(x - 13/10))/69
vpa(res)
ans =
0.19130523504288585473789120739135*x + 1.0713093162401607865321907613916
It looks pretty good to me.
ezplot(f,[0,2])
hold on
ezplot(res,[0,2])
grid on
Which as far as I can see, looks like a tangent line to that function at a==1.3. Yes, it suggests that a simple Newton's method on this function will probably get in trouble. But that is not the question here.
solve(res)
ans =
-28/5
It may explain why you were asked to try to solve this problem using Newton's method, probably as homework.

Weitere Antworten (0)

Kategorien

Mehr zu Symbolic Math Toolbox finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by