How can i obtain a nice curve ?

1 次查看(过去 30 天)
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)

采纳的回答

Star Strider
Star Strider 2017-1-14
编辑:Star Strider 2017-1-14
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 个评论
Mallouli Marwa
Mallouli Marwa 2017-1-15
How can i use spline to loglog(x,p) ?
Star Strider
Star Strider 2017-1-15
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.)

请先登录,再进行评论。

更多回答(1 个)

John D'Errico
John D'Errico 2017-1-14
loglog(x,p)
grid on
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.

类别

Help CenterFile Exchange 中查找有关 Smoothing 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by