fitting a function to data by changing a variable

2 views (last 30 days)
stem='I:\Engineering\ChemEng\LaserGroup\Robert\Data\PMT HAB Measurements\21st Sept PMT HAB Profile\HAB Measurements\Eq1.7HAB';
n=18
r=n-1;
r_Profile(n)=r;
r=int2str(r);
rest='.csv';
combinedStr=strcat(stem,r,rest);
Profile=csvread(combinedStr,50010,0,[50010,0,51000,1]);
t=Profile(:,1);
sig=Profile(:,2);
sig=sig-mean(sig(1:100));
sig=-((sig));
max_Profile(n)=max(sig).';
figure;
plot(t,sig);
nlinfit(t,sig,myfun)
Hi there, I would like to fit the data read in by 'stem' to myfun which is a modelled function in a different script which changes the variable named dp? Thanks
  1 Comment
dpb
dpb on 21 Aug 2018
"... myfun which is a modelled function in a different script "
Have to save myfun as an m-file; functions in scripts are local within the script and thus aren't visible outside the script.

Sign in to comment.

Accepted Answer

Saumya Goel
Saumya Goel on 30 Aug 2018
If the function you are referring (myfun) is defined in a script, then it is going to be a local function and cannot be accessed outside the script. In that case, as dpb pointed out you may have to save myfun as an m-file and add it to the MATLAB path.
Also, make sure you are passing the argument as function handle in nlintfit function. Please find the documentation for the nlintfit function.
If you would like to know more about the function handle, you can find here.
  2 Comments
Robert Roy
Robert Roy on 30 Aug 2018
Thanks, Im now able to read in the function from another script now. Now I just have a problem with the nlinfit saying that theres not enough input variables?

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!