How can i obtain a nice curve ?

1 回表示 (過去 30 日間)
Mallouli Marwa
Mallouli Marwa 2017 年 1 月 14 日
コメント済み: Star Strider 2017 年 1 月 15 日
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.
  1 件のコメント
Mallouli Marwa
Mallouli Marwa 2017 年 1 月 15 日
How can i interpolate to obtain a nice curve ?

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeInterpolation についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by