2016-12-09 2 views
1

나는 구분 정의 함수가 : 내 코드로 logplot로그 플롯 구분

y1 = 10^3 * (x/470) .^ (-5); % for x<470 

y2 = 10^3 * (x/470) .^ (-3.3); % for x>=470 

:

enter image description here

I :

x=logspace(0,5); 
y1=10^3*(x/470).^(-5); 
y2=10^3*(x/470).^(-3.3); 
loglog(x,y1); 
hold on 
loglog(x,y2); 
grid on 

나는이 음모를 얻을 수를 그 값에 대해서만 y1을 조각으로 그려야합니다. 470과 다른 함수가 그려져 있습니다. fplot에 한계를 설정할 수 있다는 것을 알고 있지만 어떻게해야합니까?

답변

2

그냥 함수의 각 부분에 대해 서로 다른 x 벡터를 정의

x1=linspace(0,470); 
x2=linspace(470,1e5); 
y1=10^3*(x1/470).^(-5); 
y2=10^3*(x2/470).^(-3.3); 
loglog(x1,y1); 
hold on 
loglog(x2,y2); 
grid on 
+0

감사합니다. 로그 플롯 때문에 linspace 대신 logspace를 사용해야한다고 생각했습니다! – jdoubleu

+0

x = 10^0 = 1에 대해 함수가 정의되지 않은 이유를 알고 있습니까? 다음은 화면입니다 : http://www.bilder-upload.eu/upload/5842db-1481315293.jpg – jdoubleu

+1

이것은 'x'를 어떻게 배치 할 것인가입니다. 잠재적으로 여전히'logspace'를 사용할 수는 있지만 로그 값을 470으로 계산해야하지만 로그 된 간격 값이 아닐 수도 있습니다. – mpaskov

관련 문제