اس صفحہ کا متن درست نظر نہ آنے کی صورت میں اس صفحہ کو موزیلا فائرفاکس  ویب براؤزر سے ملاحظہ فرمائیں۔


|  |
| --- |
|  سائیلیب |
|  |
| آپریٹنگ نظام | لینکس، ونڈوز، OS/X، BSD |
| ویب سائیٹ | www.scilab.org |
| لاسنس | آزاد مصدر، وقف
لاسنسآرکائیو شدہ (Date missing) بذریعہ scilab.org (Error: unknown archive URL) |

   

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

  

   
 

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

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

   
 

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

اس میٹرکس کو دو نکتہ اوزار`..`، جو جاری رکھنے کے معٰنی میں استعمال ہوتا ہے، کے ذریعہ بھی لکھا جا سکتا تھا:

 

```
--> C = [0   11   -2   1   .. 
-->   1   12   -3   0   .. 
-->   -1   10   3   7  ]   ; 
```

عام طور پر ریاضی میں میٹرکس کی قطاروں اور ستونوں کا شمار صفر (0) سے شروع کرتے ہیں، مگر سائیلیب میں یہ شمار ایک (1) سے شروع ہوتا ہے۔
میٹرکس کے کسی جُز کو اس کے قطار اور ستون کے ذریعہ مخاطب کیا جا سکتا ہے، جیسے:

 

```
--> C(2,3) 
ans =
-3. 
--> C(2,3)=100 
C = 
{\displaystyle C={\begin{bmatrix}0&11&-2&1\\1&12&100&0\\-1&10&3&7\end{bmatrix}}}
```

میٹرکس کا سائیز دیکھنے کے لیے یوں کرتے ہیں (یہاں میٹرکس C کا سائیز {\displaystyle 3\times 4} ہے):

```
--> size(C) 
ans = 
3.   4. 
--> length(C) 
ans =
12. 
```

میٹرکس کی لمبائی  `length()`  ستونوں کے رُخ ناپی جاتی ہے۔ اس لحاظ سے 100 میٹرکس C کا آٹھواں جُز ہے:

 

```
--> find(C==100) 
ans = 
8. 
--> find(C==1) 
ans =
2.    10. 
```

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

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

اس لیے میٹرکس C کے دوسرے ستون کو `:` اوزار کے استعمال سے یوں مخاطب کریں گے:

 

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

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

 

```
--> B = [1:3; 4:6] 
B = 
{\displaystyle {\begin{bmatrix}1&2&3\\4&5&6\end{bmatrix}}} 
--> B' 
ans = 
{\displaystyle {\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 = 
{\displaystyle {\begin{bmatrix}1&4&9&16&25&36&49&64&81&100\end{bmatrix}}} 
--> sum(v2) 
ans = 
385 
```

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

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

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

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

{\displaystyle 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 = 
   8.i 
```

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

 

```
--> 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.
```

کسی موضوع پر مدد درکار ہو تو 


```
--> help
```

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

تاریخ
-----

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

مزید دیکھیے
-----------

|  |  |
| --- | --- |
|  | ویکی کتب پر ایک کتاب تفصیلات
***سائلیب*** |

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

|  |  |
| --- | --- |
|  | ویکی ذخائر پر **Category:Scilab** سے متعلق سمعی و بصری مواد ملاحظہ کریں۔ |

بیرونی روابط و حوالہ جات
------------------------

* سائیلیب
* اسباقآرکائیو شدہ (Date missing) بذریعہ urdutext.cwahi.net (Error: unknown archive URL)
* سائیلیب کا لینکس پر GTK کے ساتھ ورژن

1. ↑  
SciCosLab

| * د
* ب
* ت
اعدادی مصنع‌لطیف |
| --- |
| آزاد مصدر |  جی این یو آکٹیو **·**  R **·**  Scilab |
| پرچون | Sysquake **·**  LabVIEW **·**  MATLAB **·**  Mathematica |
| **فہرست اعدادی تجزیہ مصنع‌لطیف** **·**  **اعدادی تجزیہ مصنع‌لطیف کا تقابل** |

|  |  |
| --- | --- |
|  | ویکی ذخائر پر **سائیلیب** سے متعلق سمعی و بصری مواد ملاحظہ کریں۔ |