Plot always appears as a straight line

조회 수: 9 (최근 30일)
Hieu Nguyen
Hieu Nguyen 2017년 12월 4일
댓글: Roger Stafford 2017년 12월 5일
v = [0:100];
m = 4.65*10.^-26;
y = ((m*v)/(4.14*10.^-21)).*exp((-m*v.^2)/2*4.14*10.^-21);
plot(v,y)
title('Density fucntion at t1 and t2')
Hi, I don't know how to fix this but my graph appears to be a straight line intead of an exponential curve. Thanks a lot!
  댓글 수: 1
Roger Stafford
Roger Stafford 2017년 12월 5일
@Hieu. Here's a demonstration of why you should be careful with how you use parentheses:
x = 60/5*12
y = 60/(5*12)
z = 60/5/12
Notice that in 'y' and 'z' there is division by 12, whereas in 'x' it is multiplied. That is apparently the source of your difficulty with the quantity 4.14*10.^-21. It was multiplied rather than divided because you left out the all-important parentheses.

댓글을 달려면 로그인하십시오.

채택된 답변

Roger Stafford
Roger Stafford 2017년 12월 4일
Are you sure the second "4.14*10.^-21" doesn't belong in the denominator:
y = ((m*v)/(4.14*10.^-21)).*exp((-m*v.^2)/(2*4.14*10.^-21));
If so, and if you change the range of v to:
v = [0:1000];
you will get a nicely curved plot.
  댓글 수: 2
Hieu Nguyen
Hieu Nguyen 2017년 12월 4일
Let's define that quantity as A. I am trying to plot this function: f(x) = ((mx)/A) * exp((-mv^2)/2A). I still get a straight line.
Greg
Greg 2017년 12월 4일
편집: Greg 2017년 12월 4일
Did you put the parenthesis around 2.*A?

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Greg
Greg 2017년 12월 4일
First, I suspect you missed parenthesis is your exp denominator. The magic of using constants. Second, most functions look like straight lines if you stay near the origin. Try plotting further out in v.
v = 0:1000;
m = 4.65*10.^-26;
denom = (4.14*10.^-21);
y = ((m*v)/denom).*exp((-m*v.^2)/(2*denom));
a = axes(figure);
plot(a,v,y);
title('Density function at t1 and t2')
  댓글 수: 2
Hieu Nguyen
Hieu Nguyen 2017년 12월 4일
I see. Thanks a lot! One of the reasons I am not fond of matlab sometimes.
Greg
Greg 2017년 12월 4일
편집: Greg 2017년 12월 4일
That has nothing to do with MATLAB. That's a mathematical given.
Also, it was unfair to accept my answer. It was identical, and 10 minutes later than, Roger Stafford's answer.
Please unaccept mine and accept his.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Descriptive Statistics에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by