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에서 Graphics Performance에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!