2012-10-02 107 views
3

你會如何在SciLab或MatLab中繪製這些圖?我對這些新手並不知道軟件是如何工作的。請幫忙。SciLab繪圖

$Plot following functions with different colors in Scilab or MatLab 
– f2(x) = logn 
– f3(x) = n 
– f4(x) = nlogn 
– f5(x) = n2 
– f6(x) = nj (j > 2) 
– f7(x) = cn (c > 1) 
– f8(x) = n! 

where x = linspace(1, 50, 50). 

回答

3

那麼,很多這些都是內置函數。例如

>> x = linspace(1,50,50); 
>> plot(x,log(x)) 
>> plot(x,x) 
>> plot(x,x.*log(x)) 
>> plot(x,x.^2) 

我不知道是什麼nj (j > 2)cn (c > 1)都應該意思。

對於最後一個,你應該看看功能factorial

從上下文中不清楚您是應該將它們繪製在不同的圖表上還是全部在同一個圖表上。如果所有在同一個圖形,那麼你可以使用

>> hold on; 

凍結當前座標 - 這意味着任何新的行會拿得出的,而不是上一套新的軸被繪製在舊的頂部, 。

在Matlab中(也可能在Scilab的),你可以提供一個「行規範」的說法到plot功能,告訴它什麼顏色和樣式繪製線,例如,

>> figure 
>> hold on 
>> plot(x,log(x),'b') 
>> plot(x,x/10,'r') 
>> plot(x,x.^2/1000,'g') 

告訴Matlab來繪製功能f(x)=log(x)藍色,f(x)=x/10紅色和綠色f(x)=x^2/1000,從而導致該地塊:

enter image description here

1

我無法評論或給予好評,但還我想補充克里斯泰勒的回答,在Scilab和hold off約定沒有使用。所有繪圖命令都輸出到當前的軸上,這些軸始終處於「保持」狀態。如果要生成一個新圖形或更改當前座標軸,可以使用figure(n),其中n可以是任何(不連續的)正整數 - 實際上只是一個標籤。

參見clf(n)gcf()gca() - Scilab的的數字處理不同頗有幾分從Matlab的,儘管matplotlib ATOMS模塊去努力,使Scilab的外觀和行爲更像Matlab的一些方法。