1. Limited time only! Sign up for a free 30min personal tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Homework Help: Differentiation in MATLAB

  1. Dec 16, 2009 #1
    1. The problem statement, all variables and given/known data

    How do i differentiate a sum in MATLAB?

    So for an example, if I have:
    [tex]y = x^2 + \sum^{n}_{j=1}3x_{j}^4[/tex]

    I want to differentiate it with respect to x.
    It should return: [tex]2x + \sum^{n}_{j=1}12x_{j}^3[/tex]

    2. Relevant equations

    3. The attempt at a solution

    If I want to differentiate y = x^3+2x, this is what i would do:
    >> syms x
    >> y = x^3+2*x
    >> diff(y,x,1)

    this gives:

    ans =


    which is correct but how would i do differentiation if i have a sum?

    thank you.
  2. jcsd
  3. Dec 16, 2009 #2


    User Avatar
    Homework Helper

    First of all, your problem is laid out wrong. If you differentiate xi with respect to x, you ought to end up with 0, I think. If your sum consists of x's rather than xi's, then sum x = Nx, and you needn't worry about the sums anymore.

    I don't think the Matlab symbolic toolbox is too advanced, but I suppose you could "hack" it, e.g.:
    z = sum(repmat(x, 1, 10));

    Hope this answers your question.
  4. Dec 16, 2009 #3
    sorry, it should be:

    [tex]y_n = x_n^2 + \sum^{n}_{j=1}3x_{j}^4+x_n^2[/tex]

    so the derivative is:

    [tex]y' = 2x_n + \sum^{n}_{j=1}3x_{j}^4+2x_n[/tex]

    What does z = sum(repmat(x, 1, 10)); do?

    thank you
  5. Dec 16, 2009 #4


    User Avatar
    Homework Helper

    repmat just makes multiple instances of its input, e.g.
    repmat(x, 1, 2) = [x, x]

    I'm still a bit unclear as to what you're doing.
    If you're differentiating yn with respect to xn, the sum reduces to 12xn^3, i.e.
    y_n' = 2x_n + 12x_n^3 + 2x_n

    Do you then sum over the different y'n or what? That way you'd get
    y' = \sum_{i=1}^n y_i'= 2x_n + \sum_{i=1}^n 12x_i^3 + 2x_n

    EDIT: This would be the same as taking the divergence, if I'm not mistaken.
  6. Dec 16, 2009 #5
    I want to defferentiate:

    [tex]y_n = x_n^2 + \sum^{n}_{j=1}(3x_{j}^4+x_n^2)[/tex]

    with respect to xn

    I know that this should give:

    [tex]2x_n + \sum^{n}_{j=1}(3x_{j}^4+2x_n)[/tex]

    but i want to try to get this result using matlab.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook