GoGPT Best VPN GoSearch

فاویکون OnWorks

PDL::Scilabp - آنلاین در ابر

PDL::Scilabp را در ارائه دهنده هاست رایگان OnWorks از طریق Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا کنید.

این دستور PDL::Scilabp است که می تواند در ارائه دهنده هاست رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.

برنامه:

نام


PDL::Scilab - راهنمای کاربران Scilab.

معرفی


اگر کاربر Scilab هستید، این صفحه برای شما مناسب است. تفاوت های کلیدی بین را توضیح می دهد
Scilab و PDL به شما کمک می کند تا در اسرع وقت پیش بروید.

این سند is نه a آموزش. برای آن، به PDL::QuickStart بروید. این سند
مکمل ها راهنمای شروع سریع، زیرا تفاوت های کلیدی بین Scilab و
PDL.

پرل


تفاوت اصلی بین Scilab و PDL در این است پرل.

Perl یک زبان برنامه نویسی با هدف عمومی است که هزاران ماژول به صورت رایگان در دسترس است
در وب PDL پسوند پرل است. این به برنامه های PDL امکان دسترسی به ویژگی های بیشتری را می دهد
بیش از آنچه که اکثر ابزارهای عددی می توانند رویای آن را داشته باشند. در همان زمان، اکثر نحو تفاوت بین
Scilab و PDL نتیجه پایه Perl آن هستند.

شما do نه داشته باشد به یاد گرفتن بسیار پرل به be موثر با PDL. اما اگر می خواهید یاد بگیرید
پرل، مستندات عالی به صورت آنلاین موجود است (http://perldoc.perl.org>) یا
از طریق دستور "perldoc perl". همچنین یک پورتال مبتدی وجود دارد
(<http://perl-begin.org>)

مخزن ماژول پرل CPAN نام دارد (http://www.cpan.org>) و دارای آرایه وسیعی از
ماژول ها برای اطلاعات بیشتر، "perldoc cpan" را اجرا کنید.

واژه شناسی: پیدل


Scilab معمولاً به بردارها، ماتریس ها و آرایه ها اشاره دارد. پرل قبلاً آرایه‌هایی دارد و
اصطلاحات «بردار» و «ماتریس» معمولاً به مجموعه‌های یک‌بعدی و دو بعدی اشاره دارند
داده ها. توسعه دهندگان PDL که اصطلاح خوبی برای توصیف موضوع خود نداشتند، این اصطلاح را ابداع کردند
"چاک زدن" برای دادن یک نام به نوع داده آنها.

A چاک زدن شامل یک سری اعداد است که به عنوان یک مجموعه داده N بعدی سازماندهی شده اند. پیدل ها
ذخیره سازی کارآمد و محاسبات سریع ماتریس های بزرگ N بعدی را فراهم می کند. آن ها هستند
برای کارهای عددی بسیار بهینه شده است.

برای اطلاعات بیشتر ببین "پیدل ها vs پرل آرایه ها" در ادامه این سند.

COMMAND پنجره و IDE


PDL با یک IDE اختصاصی همراه نیست. با این حال با یک پوسته تعاملی و
می توانید از Perl IDE برای توسعه برنامه های PDL استفاده کنید.

PDL تعاملی صدف
برای شروع پوسته تعاملی، یک ترمینال را باز کنید و "perldl" یا "pdl2" را اجرا کنید. همانطور که در Scilab،
پوسته تعاملی بهترین راه برای یادگیری زبان است. برای خروج از پوسته، تایپ کنید
"خروج"، درست مانند Scilab.

نوشته PDL برنامه ها
یک IDE محبوب برای Perl Padre نام دارد (http://padre.perlide.org>). متقاطع است
پلت فرم و آسان برای استفاده.

هر زمان که یک برنامه PDL مستقل بنویسید (یعنی خارج از پوسته "perldl" یا "pdl2")
باید برنامه را با "use PDL;" شروع کنید. این دستور ماژول PDL را وارد می کند
پرل. در اینجا یک نمونه برنامه PDL آمده است:

از PDL استفاده کنید. # ماژول اصلی PDL را وارد کنید.
از PDL::NiceSlice استفاده کنید. # ماژول PDL اضافی را وارد کنید.

$b = pdl [2,3,4،XNUMX،XNUMX]; # عبارات به نقطه ویرگول ختم می شوند.
$A = pdl [ [1,2,3،4,5,6،2]، [XNUMX،XNUMX،XNUMX] ]; # پیدل XNUMX بعدی.

print $A x $b->transpose;

این فایل را به عنوان "myprogram.pl" ذخیره کرده و با استفاده از آن اجرا کنید:

perl myprogram.pl

جدید: قابل انعطاف نحو
در نسخه های بسیار جدید PDL (نسخه 2.4.7 یا بالاتر) یک نحو ماتریس انعطاف پذیر وجود دارد.
که می تواند بسیار شبیه به Scilab به نظر برسد:

1) از یک ";" استفاده کنید برای محدود کردن ردیف ها:

$b = pdl q[ 2,3,4،XNUMX،XNUMX ];
$A = pdl q[ 1,2,3 ; 4,5,6،XNUMX،XNUMX ];

2) از فضاها برای جداسازی عناصر استفاده کنید:

$b = pdl q[ 2 3 4 ];
$A = pdl q[ 1 2 3 ; 4 5 6 ];

اساساً، تا زمانی که یک "q" در جلوی براکت باز قرار دهید، PDL باید "آنچه را انجام دهد.
یعنی شما می توانید به نحوی بنویسید که برای شما راحت تر باشد.

A MODULE برای SCILAB کاربران


در اینجا یک ماژول است که کاربران Scilab می خواهند از آن استفاده کنند:

PDL::NiceSlice
به PDL یک دستور برای برش ها (زیر ماتریس ها) می دهد که کوتاه تر و آشناتر است.
کاربران Scilab

// Scilab
b(1:5) --> 5 عنصر اول را از b انتخاب می کند.

# PDL بدون NiceSlice
$b->slice("0:4") --> 5 عنصر اول را از $b انتخاب می کند.

# PDL با NiceSlice
$b(0:4) --> 5 عنصر اول را از $b انتخاب می کند.

BASIC ویژگی‌ها


این بخش توضیح می دهد که چگونه نحو PDL با Scilab متفاوت است. اکثر کاربران Scilab تمایل دارند
از اینجا شروع کن

سوالات عمومی "گوچا"
Indices
در PDL، شاخص ها از 0 شروع می شوند (مانند C و جاوا)، نه 1 (مانند Scilab). به عنوان مثال، اگر
b$ آرایه ای با 5 عنصر است که این عناصر از 0 تا 4 شماره گذاری می شوند.

نمایش یک شی
Scilab معمولاً محتویات شی را به طور خودکار نمایش می دهد. در PDL شما اشیا را نمایش می دهید
به صراحت با دستور "print" یا میانبر "p":

Scilab:

--> a = 12
a = 12
--> b = 23; // خروجی را سرکوب کنید.
->

PerlDL:

pdl> $a = 12 # خروجی وجود ندارد.
pdl> print $a # Print object.
12
pdl> p $a # "p" مخفف "print" در پوسته است.
12

ایجاد پیدل ها
متغیرها در PDL
متغیرها همیشه با علامت '$' شروع می شوند.

Scilab: مقدار = 42
PerlDL: $value = 42

نحو اساسی
از سازنده "pdl" برای ایجاد یک جدید استفاده کنید چاک زدن.

Scilab: v = [1,2,3,4،XNUMX،XNUMX،XNUMX]
PerlDL: $v = pdl [1,2,3,4،XNUMX،XNUMX،XNUMX]

Scilab: A = [ 1,2,3 ; 3,4,5،XNUMX،XNUMX ]
PerlDL: $A = pdl [ [1,2,3،3,4,5،XNUMX]، [XNUMX،XNUMX،XNUMX]]

ماتریس های ساده
Scilab PDL
------ ------
ماتریس یکها (5,5،5,5) یکها XNUMX،XNUMX
ماتریس صفرها صفر (5,5،5,5) صفر XNUMX،XNUMX
رند ماتریس تصادفی (5,5،5,5) تصادفی XNUMX،XNUMX
بردار خطی 1:5 دنباله 5

توجه داشته باشید که در PDL پرانتز در فراخوانی تابع اغلب اختیاری است. این است
مهم است که مراقب ابهامات احتمالی باشید. مثلا:

pdl> p صفرهای 2، 2 + 2

آیا این باید به عنوان "صفر (2,2،2) + 2" یا "صفر 2، (2+XNUMX)" تفسیر شود؟ هر دو هستند
اظهارات معتبر:

pdl> p صفر (2,2،2) + XNUMX
[
[2 2]
[2 2]
]
pdl> p صفر 2، (2+2)
[
[0 0]
[0 0]
[0 0]
[0 0]
]

به جای تلاش برای حفظ ترتیب اولویت پرل، بهتر است از آن استفاده کنید
پرانتز کنید تا کد شما بدون ابهام باشد.

توالی های با فاصله خطی
Scilab: --> linspace(2,10,5،XNUMX،XNUMX)
ans = 2. 4. 6. 8. 10.

PerlDL: pdl> p صفر(5)->xlinvals(2,10،XNUMX)
[2 4 6 8 10 ]

توضیح: با یک پیدل 1 بعدی از 5 عنصر شروع کنید و به همان اندازه به آن بدهید
فاصله مقادیر از 2 تا 10.

Scilab یک فراخوانی تابع واحد برای این دارد. از طرفی روش PDL بیشتر است
قابل انعطاف:

pdl> p صفر (5,5،2,10) -> xlinvals (XNUMX،XNUMX)
[
[ 2 4 6 8 10 ]
[ 2 4 6 8 10 ]
[ 2 4 6 8 10 ]
[ 2 4 6 8 10 ]
[ 2 4 6 8 10 ]
]
pdl> p zeros(5,5)->ylinvals(2,10)
[
[ 2 2 2 2 2 ]
[ 4 4 4 4 4 ]
[ 6 6 6 6 6 ]
[ 8 8 8 8 8 ]
[10 10 10 10 10 ]
]
pdl> p صفر (3,3,3،2,6،XNUMX)->zlinvals(XNUMX،XNUMX)
[
[
[2 2 2]
[2 2 2]
[2 2 2]
]
[
[4 4 4]
[4 4 4]
[4 4 4]
]
[
[6 6 6]
[6 6 6]
[6 6 6]
]
]

برش و شاخص ها
استخراج یک زیر مجموعه از مجموعه ای از داده ها به عنوان شناخته شده است برش. پوسته PDL و
Scilab یک نحو مشابه برای برش دارد، اما دو تفاوت مهم وجود دارد:

1) شاخص های PDL مانند C و جاوا از 0 شروع می شوند. Scilab شاخص ها را از 1 شروع می کند.

2) در Scilab به "ردیف ها و ستون ها" فکر می کنید. در PDL به "x و y" فکر کنید.

Scilab PerlDL
------ ------
--> A pdl> p $A
A = [
1. 2. 3. [1 2 3]
4. 5. 6. [4 5 6]
7. 8. 9. [7 8 9]
]
-------------------------------------------------- -----
(ردیف = 2، col = 1) (x = 0، y = 1)
--> A(2,1) pdl> p $A(0,1)
ans = [
4. [4]
]
-------------------------------------------------- -----
(ردیف = 2 تا 3، col = 1 تا 2) (x = 0 تا 1، y = 1 تا 2)
--> A(2:3,1:2) pdl> p $A(0:1,1:2)
ans = [
4. 5. [4 5]
7. 8. [7 8]
]

هشدار
هنگامی که یک برنامه PDL مستقل می نویسید، باید PDL::NiceSlice را نیز اضافه کنید
مدول. بخش قبل را ببینید"مدولا برای SCILAB کاربران" برای بیشتر
اطلاعات.

از PDL استفاده کنید. # ماژول اصلی PDL را وارد کنید.
از PDL::NiceSlice استفاده کنید. # نحو زیبا برای برش.

$A = تصادفی 4,4;
چاپ $A(0,1);

ماتریس عملیات
ضرب ماتریس
Scilab: A * B
PerlDL: $A x $B

ضرب عنصری
Scilab: A .* B
PerlDL: $A * $B

ترانزیت
Scilab: A'
PerlDL: $A->transpose

توابع که تجمیع داده ها
برخی از توابع (مانند "جمع"، "حداکثر" و "min") داده ها را برای مجموعه داده های N بعدی جمع می کنند.
Scilab و PDL هر دو به شما این امکان را می دهند که این توابع را در کل مجموعه داده یا اعمال کنید
فقط به یک بعد

Scilab در Scilab، این توابع به طور پیش‌فرض در امتداد کل مجموعه داده کار می‌کنند
پارامتر اختیاری "r" یا "c" باعث می شود آنها روی ردیف یا ستون عمل کنند.

--> A = [ 1,5,4 ; 4,2,1،XNUMX،XNUMX ]
A = 1. 5. 4.
4 2 1
--> حداکثر (A)
ans = 5
--> حداکثر (A، "r")
ans = 4. 5. 4.
--> حداکثر (A, "c")
ans = 5.
4.

PDL PDL دو عملکرد برای هر ویژگی ارائه می دهد.

جمع در مقابل sumover
میانگین در مقابل میانگین
حداکثر در مقابل حداکثر
دقیقه در مقابل حداقل

La طولانی نام بیش از یک بعد کار می کند، در حالی که کوتاه نام در کل کار می کند
چاک زدن

pdl> p $A = pdl [ [1,5,4،4,2,1،XNUMX]، [XNUMX،XNUMX،XNUMX] ]
[
[1 5 4]
[4 2 1]
]
pdl> p $A-> حداکثر
[5 4]
pdl> p $A->transpose-> حداکثر
[4 5 4]
pdl> p $A->max
5

برتر ابعادی داده ها مجموعه
یک موضوع مرتبط این است که Scilab و PDL چگونه مجموعه داده‌های ابعاد بالاتر را درک می‌کنند. اسکیلب بود
برای بردارهای 1 بعدی و ماتریس های 2 بعدی با اجسام با ابعاد بالاتر اضافه شده در بالا طراحی شده است. که در
در مقابل، PDL از ابتدا برای پیدل های N بعدی طراحی شده بود. این منجر به تعداد کمی می شود
شگفتی‌هایی در Scilab که در PDL رخ نمی‌دهند:

Scilab یک بردار را به عنوان یک ماتریس دو بعدی می بیند.
Scilab PerlDL
------ ------
--> بردار = [1,2,3,4،1,2,3,4،XNUMX،XNUMX]; pdl> $بردار = pdl [XNUMX،XNUMX،XNUMX،XNUMX]
--> size(vector) pdl> p $vector->dims
ans = 1 4 4

Scilab "[1,2,3,4،2،1،4]" را به عنوان یک ماتریس دو بعدی (ماتریس 1xXNUMX) می بیند. PDL آن را به عنوان یک بردار XNUMX بعدی می بیند: A
تک بعدی سایز 4.

اما Scilab آخرین بعد یک ماتریس 4x1x1 را نادیده می گیرد.
Scilab PerlDL
------ ------
--> A = ones(4,1,1); pdl> $A = ones 4,1,1،XNUMX،XNUMX
--> size(A) pdl> p $A->dims
ans = 4 1 4 1 1

و Scilab با ماتریس 4x1x1 متفاوت از ماتریس 1x1x4 رفتار می کند.
Scilab PerlDL
------ ------
--> A = ones(1,1,4); pdl> $A = ones 1,1,4،XNUMX،XNUMX
--> size(A) pdl> p $A->dims
ans = 1 1 4 1 1 4

Scilab هیچ نحو مستقیمی برای آرایه های ND ندارد.
pdl> $A = pdl [[[1,2,3،4,5,6،2,3,4]، [5,6,7،XNUMX،XNUMX]]، [[XNUMX،XNUMX،XNUMX]، [XNUMX،XNUMX،XNUMX]]]
pdl> p $A->dims
3 2 2

پشتیبانی از ویژگی ها
در Scilab، چندین ویژگی برای آرایه های ND در دسترس نیست. در PDL تقریباً هر کدام
ویژگی پشتیبانی شده توسط piddles 1D و 2D، به همان اندازه توسط N-dimensional پشتیبانی می شود
چوله ها معمولاً هیچ تمایزی وجود ندارد:

Scilab PerlDL
------ ------
--> A = ones(3,3,3); pdl> $A = ones(3,3,3);
--> A' pdl> $A را جابجا کنید
=> ERROR => خوب است

حلقه سازه
پرل ساختارهای حلقه زیادی دارد، اما ما تنها ساختاری را نشان خواهیم داد که بیشتر با آن آشناست
کاربران Scilab:

Scilab PerlDL
------ ------
برای i = 1:10 برای $i (1..10) {
disp(i) $i را چاپ کنید
پایان }

توجه داشته باشید: هرگز از حلقه های for برای کار عددی استفاده نکنید. حلقه‌های for Perl سریع‌تر از Scilab هستند.
اما هر دو در برابر یک عملیات "بردار" رنگ پریده اند. PDL ابزارهای زیادی دارد که
تسهیل نوشتن برنامه های برداری اینها خارج از محدوده این راهنما هستند. به
بیشتر بیاموزید، ببینید: PDL::Indexing، PDL::Threading و PDL::PP.

به همین ترتیب، هرگز از 1..10 برای کار عددی استفاده نکنید، حتی خارج از یک حلقه for. 1..10 یک است
آرایه پرل. آرایه های پرل برای انعطاف طراحی شده اند نه سرعت. استفاده کنید چوله ها به جای آن.
برای کسب اطلاعات بیشتر، بخش بعدی را ببینید.

پیدل ها vs پرل آرایه ها
مهم است که تفاوت بین a پیدل و یک آرایه پرل. پرل دارای یک
شیء آرایه همه منظوره که می تواند هر نوع عنصری را در خود جای دهد:

@perl_array = 1..10;
@perl_array = ( 12، "سلام" );
@perl_array = ( 1، 2، 3، \@another_perl_array، دنباله(5)؛

آرایه‌های پرل به شما امکان می‌دهند ساختارهای داده قدرتمندی ایجاد کنید (نگاه کنید به داده ها ساختار زیر) اما
آنها هستند نه طراحی برای عددی کار. برای آن، استفاده کنید چوله ها:

$pdl = pdl [ 1، 2، 3، 4 ];
$pdl = دنباله 10_000_000;
$pdl = ones 600, 600;

مثلا:

$points = pdl 1..10_000_000 # 4.7 ثانیه
$points = دنباله 10_000_000 # میلی ثانیه

نکته: می توانید از زیرخط در اعداد استفاده کنید ("10_000_000" بهتر از 10000000 خوانده می شود).

شرایط
پرل شرطی های زیادی دارد، اما ما فقط موردی را نشان خواهیم داد که برای Scilab بیشتر آشناست
کاربران:

Scilab PerlDL
------ ------
if value > MAX if ($value > $MAX) {
disp("خیلی بزرگ") چاپ "خیلی بزرگ\n";
مقدار elseif < MIN } elif ($value < $MIN) {
disp("خیلی کوچک") چاپ "خیلی کوچک\n";
else } else {
disp("عالی!") چاپ "عالی!\n";
پایان }

توجه داشته باشید: اینجا یک "گوچا" است:

Scilab: elseif
PerlDL: elif

اگر شرطی شما یک خطای نحوی می دهد، بررسی کنید که "elsif" خود را نوشته اید
به درستی.

تیمتودی (آنجا Is بیشتر نسبت به یک راه به Do آی تی)
یکی از جالب ترین تفاوت های PDL با سایر ابزارها، بیانی بودن آن است
از زبان پرل TIMTOWDI، یا "بیش از یک راه برای انجام آن وجود دارد"، شعار پرل است.

Perl توسط یک زبان شناس نوشته شده است و یکی از ویژگی های تعیین کننده آن این است که عبارات می توانند
به روش های مختلف فرموله شود تا به زبان حس طبیعی تری بدهد. مثلا شما
بعید است به یک دوست بگوید:

تا زمانی که کارم تمام نشده، به کارم ادامه می دهم.»

زبان انسان از این انعطاف پذیرتر است. در عوض، احتمال بیشتری وجود دارد که بگویید:

"تا زمانی که کارم تمام شود به کارم ادامه می دهم."

پرل به دلیل ریشه های زبانی خود تنها زبان برنامه نویسی با این نوع زبان است
انعطاف پذیری به عنوان مثال، پرل دارای حلقه‌های while و if-state سنتی است:

در حالی که ( ! تمام شد() ) {
به کار ادامه دهید()؛
}

if ( ! woman_angry() ) {
kiss_wife();
}

اما جایگزین را نیز ارائه می دهد تا و مگر بیانیه:

تا (تمام شد() ) {
به کار ادامه دهید()؛
}

مگر اینکه (wisa_angry() ) {
kiss_wife();
}

و Perl به شما امکان می دهد حلقه ها و شرطی ها را به صورت "postfix" بنویسید:

keep_working() تا پایان ();

kiss_wife() مگر اینکه woman_angry();

به این ترتیب، پرل اغلب به شما اجازه می دهد کدهای طبیعی تر و قابل فهم تر از آنچه هست بنویسید
در زبان های برنامه نویسی محدودتر امکان پذیر است.

توابع
نحو PDL برای اعلان توابع به طور قابل توجهی با Scilab متفاوت است.

Scilab PerlDL
------ ------
تابع retval = foo(x,y) sub foo {
retval = x.**2 + x.*y my ($x, $y) = @_;
عملکرد پایانی $x**2 + $x*$y را برمی‌گرداند.
}

با تمام نحو جدید نترسید. در اینجا یک اجرای سریع از طریق یک تابع است
بیانیه در PDL:

1) "زیر" مخفف "subroutine" است.

2) "my" متغیرها را محلی برای تابع اعلام می کند.

3) "@_" یک آرایه خاص Perl است که تمام پارامترهای تابع را در خود نگه می دارد. ممکن است به نظر برسد
مانند یک روش عجیب برای انجام توابع، اما به شما اجازه می دهد تا توابعی بسازید که a
تعداد متغیر پارامترها به عنوان مثال، تابع زیر هر تعداد را می گیرد
پارامترها را با هم جمع می کند:

sub mysum {
my ($i, $total) = (0, 0);
برای $i (@_) {
$total += $i;
}
بازگشت $ total;
}

4) می توانید با استفاده از نحو، مقادیری را به چندین متغیر به طور همزمان اختصاص دهید:

($a، $b، $c) = (1، 2، 3);

بنابراین، در مثال های قبلی:

# این دو متغیر محلی را اعلام می کند و آنها را به 0 مقداردهی اولیه می کند.
my ($i, $total) = (0, 0);

# این دو عنصر اول @_ را می گیرد و آنها را در $x و $y قرار می دهد.
من ($x، $y) = @_;

5) "برگشتعبارت " مقدار بازگشتی تابع را در صورت وجود نشان می دهد.

اضافی ویژگی‌ها


داده ها ساختار
برای ایجاد ساختارهای داده پیچیده، Scilab از "liste"و"سازه می دهدآرایه های پرل و
هش ها عملکرد مشابهی را ارائه می دهند. این بخش فقط یک نمای کلی از آنچه پرل دارد است
پیشنهاد دادن. برای کسب اطلاعات بیشتر در مورد این، لطفا بهhttp://perldoc.perl.org/perldata.html>
یا دستور "perldoc perldata" را اجرا کنید.

آرایه ها
آرایه های پرل شبیه به لیست های Scilab هستند. آنها هر دو یک ساختار داده متوالی هستند
که می تواند شامل هر نوع داده ای باشد.

اسکالاب
------
list( 1, 12, "hello", zeros(3,3) , list( 1, 2) );

PerlDL
------
@array = ( 1، 12، "سلام"، صفر(3,3،1)، [2، XNUMX])

توجه داشته باشید که آرایه پرل با پیشوند "@" به جای "$" استفاده شده توسط شروع می شود
چوله ها

به یاد گرفتن در باره پرل آرایه ها، لطفا go به <http://perldoc.perl.org/perldata.html> or
اجرا la فرمان "پردوک perldata".

هاش
هش های پرل مشابه آرایه های ساختاری Scilab هستند:

اسکالاب
------
--> نوشیدنی = ساختار ('نوع'، ​​'کک'، 'اندازه'، 'بزرگ'، 'myarray'، ones(3,3,3،XNUMX،XNUMX))
--> drink.type = 'sprite'
--> drink.price = 12 // افزودن فیلد جدید به آرایه ساختار.

PerlDL
------
pdl> %drink = ( type => 'coke' , size => 'large', mypiddle => ones(3,3,3) )
pdl> $drink{type} = 'sprite'
pdl> $drink{price} = 12 # فیلد جدید را به هش اضافه کنید.

توجه داشته باشید که هش های Perl با پیشوند "%" به جای "@" برای آرایه ها و
"$" توسط piddle ها استفاده می شود.

به یاد گرفتن در باره پرل هش، لطفا go به <http://perldoc.perl.org/perldata.html> or
اجرا la فرمان "پردوک perldata".

عملکرد
PDL دارای ویژگی های عملکرد قدرتمندی است که برخی از آنها معمولاً در دسترس نیستند
ابزارهای محاسباتی عددی صفحات زیر شما را از طریق این ویژگی ها راهنمایی می کنند:

PDL:: نمایه سازی
سطح: مبتدی

این آموزش مبتدی ویژگی استاندارد "بردارسازی" را که قبلاً در اختیار داشتید را پوشش می دهد
از Scilab بدانید. از این صفحه برای یادگیری نحوه جلوگیری از حلقه های for برای ساخت برنامه خود استفاده کنید
کارآمدتر.

PDL:: نخ زنی
سطح: حد واسط

ویژگی "بردارسازی" PDL فراتر از آن چیزی است که اکثر نرم افزارهای عددی می توانند انجام دهند. که در
در این آموزش می آموزید که چگونه روی ابعاد بالاتر "نخ" بچرخانید و به شما این امکان را می دهد
برنامه خود را بیش از آنچه در Scilab ممکن است بردارید.

معیار
سطح: حد واسط

Perl دارای یک ماژول معیارهای ساده برای استفاده است تا به شما کمک کند مدت زمان مورد نیاز را پیدا کنید
تا قسمت های مختلف کد خود را اجرا کنید. این یک ابزار عالی برای کمک به تمرکز شما است
تلاش های بهینه سازی شما می توانید در مورد آن به صورت آنلاین بخوانید
(<http://perldoc.perl.org/Benchmark.html>) یا از طریق دستور "perldoc
معیار".

PDL::PP
سطح: پیشرفته

پیش پردازشگر PDL یکی از قدرتمندترین ویژگی های PDL است. شما یک تابع می نویسید
تعریف در نشانه گذاری ویژه و پیش پردازنده کد C واقعی را تولید می کند که می تواند باشد
تدوین شده است. با PDL:PP سرعت کامل کد C بومی را بدون نیاز به معامله دریافت می کنید
با پیچیدگی کامل زبان C.

توطئه
PDL دارای توانایی های کامل ترسیم است. برخلاف Scilab، PDL بیشتر به شخص ثالث متکی است
کتابخانه ها (pgplot و PLplot) برای ویژگی های ترسیم دوبعدی آن. نقشه و گرافیک سه بعدی آن
از OpenGL برای عملکرد و قابلیت حمل استفاده می کند. PDL دارای سه ماژول اصلی ترسیم است:

PDL::گرافیک::PGPLOT
بهترین برای: رسم توابع دو بعدی و مجموعه داده ها.

این یک رابط برای کتابخانه محترم PGPLOT است. PGPLOT به طور گسترده ای استفاده شده است
جوامع دانشگاهی و علمی برای چندین سال. تا حدی به دلیل سن آن،
PGPLOT در مقایسه با بسته های جدیدتر مانند PLplot محدودیت هایی دارد (مثلاً بدون RGB
گرافیک). اما دارای ویژگی های بسیاری است که همچنان آن را در عرصه علمی محبوب می کند
جامعه است.

PDL::گرافیک::PLplot
بهترین برای: رسم توابع 2 بعدی و همچنین مجموعه داده های 2 بعدی و 3 بعدی.

این یک رابط برای کتابخانه رسم PLplot است. PLplot یک منبع باز مدرن و مدرن است
کتابخانه ای برای ساخت طرح های علمی این طرح از مجموعه داده های دو بعدی و سه بعدی پشتیبانی می کند.
PLplot به بهترین وجه برای پلتفرم های یونیکس/لینوکس/ماکوسکس پشتیبانی می شود. توسعه دهندگان فعال دارد
جامعه و پشتیبانی از پلتفرم های win32 در حال بهبود است.

PDL::گرافیک::TriD
بهترین برای: ترسیم توابع سه بعدی.

کتابخانه گرافیکی بومی PDL 3D با استفاده از OpenGL به عنوان پشتیبان برای نمودارها و داده های سه بعدی
تجسم. با OpenGL، به راحتی می توان اشیاء سه بعدی حاصل را دستکاری کرد
ماوس در زمان واقعی

نوشته رابط کاربری گرافیکی
از طریق Perl، PDL به تمام ابزارهای اصلی برای ایجاد یک پلت فرم متقابل دسترسی دارد
رابط کاربر گرافیکی. یکی از گزینه های محبوب wxPerl است (http://wxperl.sourceforge.net>)
اینها پیوندهای Perl برای wxWidgets هستند، یک جعبه ابزار قدرتمند رابط کاربری گرافیکی برای نوشتن متقابل
برنامه های کاربردی پلت فرم

wxWidgets به گونه ای طراحی شده است که برنامه شما را شبیه به یک برنامه بومی جلوه دهد
هر پلت فرم به عنوان مثال، Perl IDE پدر با wxPerl نوشته شده است.

Xcos / Scicos
Xcos (قبلاً Scicos) یک مدل‌ساز و شبیه‌ساز سیستم دینامیکی گرافیکی است. بخشی است
توزیع استاندارد Scilab PDL و Perl معادل مستقیم ندارند
Xcos Scilab. اگر این ویژگی برای شما مهم است، احتمالا باید یک کپی از آن را نگه دارید
برای آن تلاش کنید.

کپی رایت


حق چاپ 2010 دانیل کاررا ([ایمیل محافظت شده]). شما می توانید این را توزیع و/یا تغییر دهید
سند تحت شرایط مشابه مجوز فعلی پرل.

نگاه کنید به: http://dev.perl.org/licenses/

از PDL::Scilabp به صورت آنلاین با استفاده از خدمات onworks.net استفاده کنید


سرورها و ایستگاه های کاری رایگان

دانلود برنامه های ویندوز و لینوکس

دستورات لینوکس

Ad




×
تبلیغات
❤️اینجا خرید کنید، رزرو کنید یا بخرید - رایگان است، به رایگان ماندن خدمات کمک می‌کند.