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