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.

 Réponse acceptée

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 commentaire

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

Connectez-vous pour commenter.

Plus de réponses (2)

Jan
Jan le 13 Fév 2012

0 votes

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.
G A
G A le 14 Fév 2012

0 votes

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 commentaires

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

Connectez-vous pour commenter.

Catégories

En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by