fitting a function to data by changing a variable

2 visualizzazioni (ultimi 30 giorni)
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 Commento
dpb
dpb il 21 Ago 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.

Accedi per commentare.

Risposta accettata

Saumya Goel
Saumya Goel il 30 Ago 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 Commenti
Robert Roy
Robert Roy il 30 Ago 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?
Saumya Goel
Saumya Goel il 30 Ago 2018
I believe this MATLAB answer might help you resolve the above issue.

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by