How to use three- line loop with disp to find derivative

I want to find the first five derivatives of f(x)=x((2x+1)^1/2), Using the three-line for loop wih disp.

 Accepted Answer

syms x real
f = x.*(2*x+1).^(1/2)
df = arrayfun(@(i1)diff(f,x,i1),1:5,'un',0);
out = cat(1,df{:})
:)
out = sym('out',[5, 1]);
x = sym('x');
for i1 = 1:5
out(i1) = diff(x.*(2*x+1).^(1/2),x,i1);
end

1 Comment

The answer is correct, but it is not the for-end loop's method.

Sign in to comment.

More Answers (2)

You cannot find the derivative using a FOR-loop. As far as I can see, you only can use forward, backward or central differences to calculate an approximation of the derivative.
It is not clear what a "three-line for loop" is any what "with disp" exactly mean. It seems like you got a strange homework assignment.
syms y x
y=x*(2*x+1)^(1/2);
f{1}=diff(y,x);
for n=2:5, f{n}=diff(f{n-1},x);end
f{:} %is this what you mean disp?

2 Comments

disp means display the answer. I evulated your steps but did not give me the derivative. Thanks
strange... you can just copy this code to the matlab window and press 'enter'. Do not forget f{:}

Sign in to comment.

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!