How can i obtain a nice curve ?
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
Mallouli Marwa
il 14 Gen 2017
Commentato: Star Strider
il 15 Gen 2017
Hi
How can i obtain a nice curve (like attached curve or logarithmic scale), when my program is
x= [1e3; 1e4; 1e5; 1e6; 1e7];
p=[7.87E-07 1.77E-06 1.72E-06 4.44E-07 5.03E-08];
plot(x,p)
0 Commenti
Risposta accettata
Star Strider
il 14 Gen 2017
Modificato: Star Strider
il 14 Gen 2017
See if this does what you want:
x= [1e3; 1e4; 1e5; 1e6; 1e7];
p=[7.87E-07 1.77E-06 1.72E-06 4.44E-07 5.03E-08];
figure(1)
loglog(x,p)
grid
xlabel('Load Resistance [\Omega]')
ylabel('Peak Power [mW/g^{2}]')
EDIT — Forgot the square brackets ‘[]’ in ylabel.
4 Commenti
Star Strider
il 15 Gen 2017
You can use interp1 with the 'spline' and loglog options to create the interpolation vector, but it will not produce the curve you want. I already did that without success.
Your best option is to provide a diagram or mathematical model of the system you are measuring, and do a (probably nonlinear) fit to it. (I might be able to develop an equation for the model in the diagram if it has fewer than 5 parameters.)
Più risposte (1)
John D'Errico
il 14 Gen 2017
loglog(x,p)
grid on
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/176605/image.jpeg)
It seems a decent enough curve to me. You could use a spline to interpolate, or just a low order polynomial, as fit to the logs of your data. Anytime you have data that spans many orders of magnitude, it is a hint to use logs.
Vedere anche
Categorie
Scopri di più su Interpolation in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!