2017-02-03 12 views
1

저는 내장 함수를 사용하지 않고 사다리꼴 규칙에 따라 함수를 수치 적으로 통합 한 Scilab 프로그램을 작업 해 왔습니다. 함수의 통합 또는 플로팅에 아무런 문제가 없지만, 사다리꼴의 색칠 된 점에 실제 함수를 오버레이하고 싶습니다.Scilab에서 사다리꼴 통합 - 다각형 색 채우기 중지

어떤 이유로, 경계를 a = 0에서 b = 3으로 설정하면 , 문제 없습니다, 나는 내가 원하는 것을 정확히 얻습니다. 그러나 경계를 3 이상으로 설정하면 사다리꼴이 여전히 선으로 그려 지지만 채워지지는 않습니다. 아래 코드에서 색상은 3에서 멈 춥니 다. 예를 들어 0에서 6으로 플롯하면, 색상이 중간에 멈 춥니 다. 3 ~ 6이며 색이 전혀 없습니다.

deff('[y] = f(x)','y = e^(x^2)');   // Definition of function 
a = 0;          // Lower bound 
b = 4;          // Upper bound 
n = 20;          // Number of intervals 
h = ((b - a)/n);        // Interval spacing 
x = a:h:b;         // Array of positions for division 

for i = 1:n+1 
    y(i) = f(x(i)); 
end 

및 사용중인 Scilab 어떤 버전의

for i = 1:n           // Plot colored trapezoids 
    x_start = a+(h*(i-1)); 
    x_end = a+(h*(i)); 
    y_start = y(i); 
    y_end = y(i+1); 
    xpts = [x_start, x_end, x_end, x_start]; 
    ypts = [y_start, y_end, 0, 0]; 
    xfpoly(xpts,ypts,3); 
end 

This is the plot output for a = 0, b = 3

+0

는 @awiebe이 아니, 법적 xfpoly – awiebe

+0

가까운에 대한 법적 값이 아닙니다 . – Attila

답변

1

: 여기

코드의 관련 부분입니까? Scilab 5.4.1 (64 비트)로 코드를 시험해 보았는데 무색의 사다리꼴이 났지만 5.5.2 (64 비트)로 모든 모양이 녹색이었습니다. 어쩌면이 버전 사이에 버그 수정이있었습니다. 오일러 번호가 미리 정의 된 변수 (적어도 5.5.2)이기 때문에 함수 정의를 'y = e^(x^2)'에서 'y = %e^(x^2)'으로 변경했습니다. (자세한 내용은 Scilab 도움말을 참조하시기 바랍니다) 다각형을 채우기 위해 사용되는 색상의 정수 여야합니다 : 우선 3 자

clc; 
clear; 

deff('[y] = f(x)','y = %e^(x^2)');   // Definition of function 
a = 0;          // Lower bound 
b = 6;          // Upper bound 
n = 100;          // Number of intervals 
h = ((b - a)/n);        // Interval spacing 
x = a:h:b;         // Array of positions for division 


for i = 1:n+1 
    y(i) = f(x(i)); 
end 

scf(0); 
clf(0); 
plot2d(x,y); 

for i = 1:n           // Plot colored trapezoids 
    x_start = a+(h*(i-1)); 
    x_end = a+(h*(i)); 
    y_start = y(i); 
    y_end = y(i+1); 
    xpts = [x_start, x_end, x_end, x_start]; 
    ypts = [y_start, y_end, 0, 0]; 
    xfpoly(xpts,ypts,3); 
end 
+0

늦게 답변 해 주셔서 죄송합니다 (최종 시험). 마침내 최신 버전을 다운로드 할 수있게되었고, 멋지게 나왔습니다. 나는 전에 5.4.1을 사용하고 있었고, 이제는 5.5.2에서 어떤 문제도 없다! 정말 감사드립니다. 감사! –