フィルターのクリア

Evaluate symbolic nthroot and return its symbolic expression to plot

2 ビュー (過去 30 日間)
Abhilash Sukumari
Abhilash Sukumari 2018 年 5 月 2 日
編集済み: John D'Errico 2018 年 5 月 3 日
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

採用された回答

John D'Errico
John D'Errico 2018 年 5 月 2 日
編集済み: John D'Errico 2018 年 5 月 3 日
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.

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeSymbolic Math Toolbox についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by