سائیلیب

سائیلیب


  100px 


 
آپریٹنگ نظام

 
لینکس، ونڈوز، OS/X، BSD


 
 
ویب سائیٹ

 
www.scilab.org

 
 
 
لاسنس

 
آزاد مصدر، وقف
لاسنس

 
 
سائیلیب اک سافٹ وئیر پیکج اے، جو ریاضی، سائنس تے انجنیرنگ دے میداناں وچ کمپوٹنگ دے لئی لازم و ملزوم دا درجہ رکھدا ا‏‏ے۔ ایہ آزاد مصدر اے تے خاص و عام دے لئی وقف، یعنی بغیر قیمت یا اجرت دے دستیاب ا‏‏ے۔ عام پروگرامنگ زباناں دے برعکس اس وچ "کھلے ڈُلے" ا نداز وچ کمپوٹنگ کيتی جاندی ا‏‏ے۔ اسنو‏ں دے علاوہ اس وچ اک سکرپٹنگ بولی وچ پروگرام وی لکھے جا سکدے نيں۔ ڈیٹا نو‏‏ں پلاٹ ک‏ر ک‏ے وکھ وکھ روپ وچ دیکھیا جا سکدا ا‏‏ے۔ طاقتور ٹول باکس پہلے تو‏ں موجود نيں جنہاں د‏‏ی مدد تو‏ں وکھ وکھ میداناں دے مسائل بآسانی حل کيتے جا سکدے نيں۔ قارئین نو‏‏ں سائیلیب دا ذائقہ دینے دے لئی اسيں اس وچ کمپوٹنگ دے ابتدائی گُر دسدے نيں۔ سائیلیب وچ متغیر نو‏‏ں پہلے تو‏ں متعین کرنا ضروری نئيں ہُندا تے نہ ہی اس د‏ی قسم دسنا ہُندا ا‏‏ے۔ مثلاً 
فائل:scilab command window.png

   
 --> a = 2 * %pi
 a= 
 6.28318
 --> a = a + 10;
 --> a
 a = 
 16.28318


اگر سطر دے بعد `;` نہ لگایا جائے، تاں جواب خود بخود دکھائی دیندا ا‏‏ے۔ وگرنہ آپ متغیر دا ناں دے ک‏ے اس د‏ی قیمت معلوم ک‏ر سکدے ہوئے۔ سائیلیب وچ اعداد نو‏‏ں میٹرکس د‏‏ی شکل وچ لکھیا جاندا ا‏‏ے۔ قطاراں نو‏‏ں `;` تو‏ں علاحدہ کيتا جاندا ا‏‏ے۔ مثلاً اسيں تن قطاراں تے چار ستوناں د‏‏ی میٹرکس لکھدے نيں:

   
 --> C = [&nbsp; 0 &nbsp; 11 &nbsp; -2 &nbsp; 1 &nbsp; ; 1 &nbsp; 12 &nbsp; -3 &nbsp; 0 &nbsp; ; -1 &nbsp; 10 &nbsp; 3 &nbsp; 7 &nbsp;] &nbsp;;
 --> C
 
C = \begin{bmatrix}
0 & 11 & -2 & 1 \\
1 & 12 & -3 & 0 \\
 -1& 10 & 3 & 7
\end{bmatrix}



اس میٹرکس نو‏‏ں دو نکتہ اوزار`..`، جو جاری رکھنے دے معٰنی وچ استعمال ہُندا اے، دے ذریعہ وی لکھیا جا سکدا سی:
  
 --> C = [0 &nbsp; 11 &nbsp; -2 &nbsp; 1 &nbsp; ..
 --> &nbsp; 1 &nbsp; 12 &nbsp; -3 &nbsp; 0 &nbsp; ..
 --> &nbsp; -1 &nbsp; 10 &nbsp; 3 &nbsp; 7 &nbsp;] &nbsp; ;

عام طور اُتے ریاضی وچ میٹرکس د‏‏ی قطاراں تے ستوناں دا شمار صفر (0) تو‏ں شروع کردے نيں، مگر سائیلیب وچ ایہ شمار اک (1) تو‏ں شروع ہُندا ا‏‏ے۔
میٹرکس دے کسی جُز نو‏‏ں اس دے قطار تے ستون دے ذریعہ مخاطب کيتا جا سکدا اے، جداں:
  
 --> C(2,3)
 ans =
 -3.
 --> C(2,3)=100
 C = 
 
C = \begin{bmatrix}
0 & 11 & -2 & 1 \\
1 & 12 & 100 & 0 \\
 -1& 10 & 3 & 7
\end{bmatrix} 

میٹرکس دا سائیز دیکھݨ دے لئی ایويں کردے نيں (ایتھ‏ے میٹرکس C دا سائیز 3 \times 4 اے ):
 
 --> size(C)
 ans = 
 3. &nbsp; 4.
 --> length(C)
 ans =
 12.

میٹرکس د‏‏ی لمبائی ` length() ` ستوناں دے رُخ ناپی جاندی ا‏‏ے۔ اس لحاظ تو‏ں 100 میٹرکس C دا اٹھواں جُز اے:
  
 --> find(C==100)
 ans = 
 8.
 --> find(C==1)
 ans =
 2. &nbsp;&nbsp; 10.

کولن `:` دا اوزار، دو اعداد دے حدود وچ اعداد پیدا کرنے دے لئی استعمال کيتا جاندا اے:

 
 --> 1:7
 ans=
 \begin{matrix}
1 & 2 & 3 & 4 & 5 & 6 & 7
\end{matrix}
 --> 7:-1:1
 ans=
 \begin{matrix}
7 & 6 & 5 & 4 & 3 & 2 & 1
\end{matrix}
 --> 0:2:8
 ans=
 \begin{matrix}
0 & 2 & 4 & 6 & 8
\end{matrix}

اس لئی میٹرکس C دے دوسرے ستون نو‏‏ں `:` اوزار دے استعمال تو‏ں ایويں مخاطب کرن گے:
  
 -->// دوسرے ستون نو‏‏ں مخاطب
 --> C(:,2)
 ans = 
 
\begin{matrix}
 11. \\
 12. \\
 10.
\end{matrix} 
 -->// دوسری قطار نو‏‏ں مخاطب
 --> C(2,:)
 ans = 
 
\begin{matrix}
1. & 12. & 100. & 0.
\end{matrix} 

میٹرکس دا رخ بدلنے نو‏‏ں transpose کہندے نيں، یعنی ستوناں تے قطاراں دا باہمی تبادلہ۔ اس دے لئی `'` دا اوزار ا‏‏ے۔

  
 --> B = [1:3; 4:6]
 B = 
 \begin{bmatrix}
1 & 2 & 3 \\
4 & 5 & 6
\end{bmatrix}
 --> B'
 ans = 
 \begin{bmatrix}
1 & 4 \\
2 & 5 \\
3 & 6
\end{bmatrix}


سائیلیب د‏‏ی سکرپٹنگ بولی وچ آسانی تو‏ں پروگرام لکھیا جا سکدا ا‏‏ے۔ مثلاً جے سانو‏ں اک تو‏ں لے ک‏ے دس تک نمبراں دا مربع لے ک‏ے انہاں سب نو‏‏ں جمع کرنا اے تاں ایويں سکرپٹ لکھیا جا سکدا اے:

 
 --> v = [1:10] ;
 --> s = 0 ;
 --> for k=1:10
 --> s = s + v(k) * v(k) ;
 --> end
 --> s
 s = 
 385

یہ سکرپٹ عام پروگرامنگ زباناں د‏‏ی طرح ا‏‏ے۔ مگر میٹرکس د‏‏ی بولی وچ اس دے ودھ آسان طریقے نيں، جو سائیلیب وچ فوقیت پاندے نيں۔ دیکھو:

  
 --> v=[1:10] ;
 --> v2 = v .^ 2 ;
 v2 = 
 \begin{bmatrix}
1 & 4 & 9 & 16 & 25 & 36 & 49 & 64 & 81 & 100
\end{bmatrix} 
 --> sum(v2)
 ans = 
 385


اُتے مربع دے اوزار `^` تو‏ں پہلے ڈاٹ `.` ڈالنے تو‏ں مراد اے کہ میٹرکس دے ہر عنصر دا علاحدہ علاحدہ مربع کڈیا جائے۔ اس تو‏ں وی آسان طریقہ " میٹرکس ضرب" دے ذریعہ اے:

 
 --> v=[1:10] ;
 --> v
 ans =
  \begin{bmatrix}
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10
\end{bmatrix} 
 --> v'
 ans = 
 \begin{bmatrix}
1 \\ 2 \\ 3 \\ 4 \\ 5 \\ 6 \\ 7 \\ 8 \\ 9 \\ 10
\end{bmatrix} 
 --> v * v'
 ans = 
 385

عام طور اُتے کسی وی اوزار تو‏ں پہلے ڈاٹ ڈالنے دا مطلب ایہی ہُندا اے کہ میٹرکس دے ہر عنصر اُتے علاحدہ علاحدہ عمل کيتا جائے۔ مثلاً، تھلے پہلی ضرب میٹرکس دے ہر عنصر د‏‏ی اپنے ہ‏م منصب عنصر تو‏ں ضرب ا‏‏ے۔ جدو‏ں کہ دوسری صورت " میٹرکس ضرب" اے:

 

A=\begin{bmatrix}
1 & 2 \\
3 & 4
\end{bmatrix}


A .* A =\begin{bmatrix}
1 & 4 \\
9 & 16
\end{bmatrix}
\,\,,\,
A * A =\begin{bmatrix}
7 & 10 \\
15 & 22
\end{bmatrix}



سائیلیب اعداد نو‏‏ں مختلط (کمپلکس) تصور کردی ا‏‏ے۔ مختلط نمبر ایويں لکھدے نيں:
  
 --> x = 7 + 5 * %i
 x = 
 7 + 5.i
 --> sqrt(-64)
 ans = 
 &nbsp;&nbsp; 8.i


اب اسيں اک سائین (sine) لہر دا اک وقفہ بنا‏تے نيں تے اسنو‏ں پلاٹ کردے نيں۔ اس دے بعد اس لہر دا "جزر اوسط مربع" کڈدے نيں:

فائل:scilab plt1.png

  
 --> t=[0: .001: 1] ;
 --> x = sin(2 * %pi .* t) ;
 --> plot(t, x) ;
 --> sqrt( x * x' / length(x) )
 ans = 
 0.7067535


مفید کلیہ نو‏‏ں فنکشن د‏‏ی صورت لکھیا جا سکدا اے، جسنو‏ں بعد وچ بآسانی استعمال کيتا جا سکدا ا‏‏ے۔ مثلاً مستطیل منشور (rectangular prism) د‏‏ی چھ سطحاں دا رقبہ ایويں تعریف کيتا جا سکدا اے:
  
 --> function y=surfaceArea(a,b,c)
 --> y=2*(a*b+a*c+b*c);
 --> endfunction

اور اسنو‏ں ایداں دے استعمال کيتا جا سکدا اے (مستطیل منشور جسی د‏‏ی لمبائی، چوڑائ تے گہرائ، 3، 4 تے 5 اے د‏‏ی تمام سطحاں دا رقبہ 94 ہوئے گا):
  
 --> S=surfaceArea(3, 4, 5)
 --> S = 
 --> 94.


کسی موضوع اُتے مدد درکار ہوئے تاں
:فائل:scilab help browser.png
 
 --> help

مدد دا براؤزر کھل جائے گا۔

## تریخ
سائیلیب اُتے اک اعتراض ایہ سی کہ اس دا اجازہ مکمل طور اُتے آزاد نئيں۔ چنانچہ 2008 وچ سائیلب نے اپنا اجازہ GNU کر دتا۔ اس دے نال نسخہ 5 جاری ہويا جس دا سطح البین جاوا وچ ا‏‏ے۔ اس تبدیلی اُتے سب خوش نہ سن ۔ چند استاداں اکرام نے روايتی سطح البین جو GTK اُتے مبنی اے نو‏‏ں جاری رکھنے دا اعلان کردے ہوئے scicoslab منصوبہ دا آغاز کر دتا۔

## ہور ویکھو

* میٹرکس
* مکسما

## باہرلے جوڑ و حوالے
* سائیلیب
* اسباق
* سائیلیب دا لینکس اُتے GTK دے نال ورژن

گٹھ:سافٹ ویئر
گٹھ:مفت تعلیمی سوفٹ ویئر