Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

MATLAB: Fitting a convolution

  1. Jun 8, 2012 #1
    Hi

    I have the following piece of code:

    Code (Text):

    dataX = -4:1:4;
    dataY = [0 -1 -10 -40 -55 10 40 10 1];

    figure(1)
    plot(dataX, dataY, '*');

    x = -2:0.01:2;
    plot(-4:0.01:4, 1*conv(exp(-x).*heaviside(x),sin(x)), dataX, dataY, '*')

    mdl = @(a, x)(a(1)*conv(exp(-x).*heaviside(x),sin(x)));

    par=[1];
    [fitted_par, r, J, cov, mse] = nlinfit(dataX, dataY, mdl, par);
     
    What I am trying to do is to fit the function (a convolution) to the data set. However, I get an error due to vector size mismatch. I'm not sure what is going on here: The fitting routine should not care about how many data points I have?

    Regards, Niels.
     
  2. jcsd
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Can you offer guidance or do you also need help?
Draft saved Draft deleted



Similar Discussions: MATLAB: Fitting a convolution
Loading...