Plotting a function over an interval
古いコメントを表示
I am trying to plot a function in which one term is (2^(-1/a))*(1+x)^(1+1/a). When a is very small, for example a=10^-4 or even smaller, this term turns to NaN. How can I plot this function?
9 件のコメント
Torsten
2018 年 8 月 17 日
The best you can do is write your function as
(1+x).*((1+x)/2).^(1/a)
If the problem remains, (1+x)/2 is simply too large (or "a" is too small).
Best wishes
Torsten.
Ali Baig
2018 年 8 月 17 日
Pieter Hamming
2018 年 8 月 17 日
Can you give a little more information about the goal of the plot? This sounds like an occasion where a (semi-)log plot would be suitable. This in turn could help in rewriting the equation
Ali Baig
2018 年 8 月 17 日
Pieter Hamming
2018 年 8 月 17 日
I was a bit unclear in my question, sorry. What I meant is more info about the variables involved: size, scale and such.
Is a a single value of 10^-6? Is it a set of points on an interval? If so, how many points and on what interval?
Assuming you want to plot (2^(-1/a))*(1+x)^(1+1/a) for one value of a and a range of x, what range of x do you need?
What do you want with the plot? Visually compare to a previous plot? In that case a log plot should suffice.
These kind of details help a lot in determining how we can help you best. In the future, consider adding them immediately to the question :)
Ali Baig
2018 年 8 月 17 日
Torsten
2018 年 8 月 17 日
If x only varies from 0 to 1, you should be able to plot your graphs for whatever "a" you want with my suggestion.
Ali Baig
2018 年 8 月 17 日
x=linspace(0,1,40);
a=1e-12;
y=(1+x).*((1+x)/2).^(1/a);
plot(x,y)
works for me.
回答 (0 件)
カテゴリ
ヘルプ センター および File Exchange で Creating, Deleting, and Querying Graphics Objects についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!