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

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

Risposta accettata

Andrei Bobrov
Andrei Bobrov il 12 Feb 2012
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

Più risposte (2)

Jan
Jan il 13 Feb 2012
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 il 14 Feb 2012
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 Commenti
Dhurgham Kadhim
Dhurgham Kadhim il 14 Feb 2012
disp means display the answer. I evulated your steps but did not give me the derivative. Thanks
G A
G A il 14 Feb 2012
strange... you can just copy this code to the matlab window and press 'enter'. Do not forget f{:}

Accedi per commentare.

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by