Azzera filtri
Azzera filtri

Curve Fit plotting error.

5 visualizzazioni (ultimi 30 giorni)
Travis Girton
Travis Girton il 11 Dic 2020
I am trying to use the Curve Fitting toolbox and I have generated a fit, but as soon as add anything else to the graph it seems to have issues.
I'm new to using this toolbox and not very good with matlab so I'm probably using it wrong. I just did a save to workspace instead of generating the code becuase I honestly don't know how to get it to work any other way. Does it have something to do with the logarithmic axis? any tips or suggestions would be helpful.
Code that I'm using
semilogx(f,v,'k.')
hold on
plot(fit3)
  2 Commenti
VBBV
VBBV il 11 Dic 2020
What are you adding to? To the fitted curve ? Or the original data ? If you add to any of the two you may need to perform curve fitting operation again to remove differences as in your 2nd plot
Travis Girton
Travis Girton il 11 Dic 2020
D = Lab9DataS1;
f1 = D{:,1};
v1 = D{:,2};
f2 = D{:,3};
v2 = D{:,4};
semilogx(f1,v1,'r.');
hold on
plot(fit1,'b');
semilogx(f2,v2,'k.');
plot(fit2)
This is essentially it. The 'fit1' and 'fit2' are just the 1x1 cfit files that I saved to the workspace from the toolbox. It worked in the toolbox and with one set of data, just not all together.

Accedi per commentare.

Risposte (1)

Shiva Kalyan Diwakaruni
Shiva Kalyan Diwakaruni il 11 Gen 2021
Hi,
Using a 'hold on' before 'semilogx' can generally be the reason behind this. Try avoiding it and plot other objects in the figure using figure or axes handles.
It says that, if you attempt to add a "semilogx" plot to a linear axis mode graph with "hold on", the axis mode remains as it is and the new data plots as linear.
As a workaround, try setting the axes's "XScale" property to "log" before using the "hold on" command:
>> set(gca,'XScale','log');
This will prevent "hold" from overwriting the logarithmic axes.

Community Treasure Hunt

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

Start Hunting!

Translated by