InggrisPerancisSpanyol

favorit OnWorks

PDL::MATLABp - Online di Cloud

Jalankan PDL::MATLABp di penyedia hosting gratis OnWorks melalui Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS

Ini adalah perintah PDL::MATLABp yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, Windows online emulator atau MAC OS online emulator

PROGRAM:

NAMA


PDL::MATLAB - Panduan untuk pengguna MATLAB.

PENGANTAR


Jika Anda adalah pengguna MATLAB, halaman ini adalah untuk Anda. Ini menjelaskan perbedaan utama antara
MATLAB dan PDL untuk membantu Anda memulai secepat mungkin.

Kredensial mikro dokumen is tidak a tutorial. Untuk itu, buka PDL::QuickStart. Dokumen ini
pelengkap panduan Mulai Cepat, karena menyoroti perbedaan utama antara MATLAB dan
PDL.

Perl


Perbedaan utama antara MATLAB dan PDL adalah Perl.

Perl adalah bahasa pemrograman tujuan umum dengan ribuan modul tersedia secara bebas
di web. PDL adalah perpanjangan dari Perl. Ini memberi program PDL akses ke lebih banyak fitur
daripada yang bisa diimpikan oleh kebanyakan alat numerik. Pada saat yang sama, sebagian besar perbedaan sintaks antara
MATLAB dan PDL adalah hasil dari fondasi Perl-nya.

Kamu do tidak memiliki untuk belajar banyak Perl untuk be efektif dengan PDL. Tetapi jika Anda ingin belajar
Perl, ada dokumentasi bagus yang tersedia secara online (http://perldoc.perl.org>) atau
melalui perintah "perldoc perl". Ada juga portal pemula
(<http://perl-begin.org>).

Repositori modul Perl disebut CPAN (http://www.cpan.org>) dan memiliki banyak pilihan
modul. Jalankan "perldoc cpan" untuk informasi lebih lanjut.

TERMINOLOGI: KENCING


MATLAB biasanya mengacu pada vektor, matriks, dan array. Perl sudah memiliki array, dan
istilah "vektor" dan "matriks" biasanya mengacu pada koleksi satu dan dua dimensi dari
data. Tidak memiliki istilah yang baik untuk menggambarkan objek mereka, pengembang PDL menciptakan istilah
"kencing" untuk memberi nama pada tipe datanya.

A kencing terdiri dari serangkaian angka yang diatur sebagai kumpulan data N-dimensi. Piddle
menyediakan penyimpanan yang efisien dan komputasi cepat matriks N-dimensi besar. Mereka
sangat dioptimalkan untuk pekerjaan numerik.

Untuk informasi lebih lanjut, lihat "Piddle vs Perl Array" nanti dalam dokumen ini.

COMMAND WINDOW DAN IDE


Tidak seperti MATLAB, PDL tidak datang dengan IDE khusus. Namun itu datang dengan
shell interaktif dan Anda dapat menggunakan Perl IDE untuk mengembangkan program PDL.

PDL interaktif tempurung
Untuk memulai shell interaktif, buka terminal dan jalankan "perldl" atau "pdl2". Seperti pada MATLAB,
shell interaktif adalah cara terbaik untuk belajar bahasa. Untuk keluar dari shell, ketik
"keluar", seperti MATLAB.

Writing PDL program
Satu IDE populer untuk Perl disebut Padre (http://padre.perlide.org>). Ini adalah salib
platform dan mudah digunakan.

Setiap kali Anda menulis program PDL yang berdiri sendiri (yaitu di luar shell "perldl" atau "pdl2")
Anda harus memulai program dengan "gunakan PDL;". Perintah ini mengimpor modul PDL ke
Perl. Berikut adalah contoh program PDL:

menggunakan PDL; # Impor modul PDL utama.
gunakan PDL::NiceSlice; # Impor modul PDL tambahan.
gunakan PDL::AutoLoader; # Impor modul PDL tambahan.

$b = pdl [2,3,4]; # Pernyataan diakhiri dengan titik koma.
$A = pdl [ [1,2,3],[4,5,6] ]; # matriks 2 dimensi.

print $A x $b->transpose;

Simpan file ini sebagai "myprogram.pl" dan jalankan dengan:

perl program saya.pl

Baru: Fleksibel sintaksis
Dalam versi PDL saat ini (versi 2.4.7 atau lebih baru) ada sintaks matriks fleksibel yang
dapat terlihat sangat mirip dengan MATLAB:

1) Gunakan ';' untuk membatasi baris:

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

2) Gunakan spasi untuk memisahkan elemen:

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

Pada dasarnya, selama Anda meletakkan "q" di depan braket pembuka, PDL harus "melakukan apa"
maksud Anda". Jadi Anda dapat menulis dalam sintaks yang lebih nyaman bagi Anda.

MODUL UNTUK MATLAB PENGGUNA


Ada dua modul yang ingin digunakan oleh pengguna MATLAB:

PDL::Irisan Bagus
Memberikan PDL sintaks untuk irisan (sub-matriks) yang lebih pendek dan lebih dikenal
pengguna MATLAB.

% MATLAB
b(1:5) --> Memilih 5 elemen pertama dari b.

# PDL tanpa NiceSlice
$b->slice("0:4") --> Memilih 5 elemen pertama dari $b.

#PDL dengan NiceSlice
$b(0:4) --> Memilih 5 elemen pertama dari $b.

PDL::Pemuat Otomatis
Menyediakan autoloader gaya MATLAB untuk PDL. Jika fungsi yang tidak dikenal "foo()" dipanggil,
PDL mencari file bernama "foo.pdl". Jika menemukannya, ia membacanya.

BASIC FITUR


Bagian ini menjelaskan bagaimana sintaks PDL berbeda dari MATLAB. Sebagian besar pengguna MATLAB ingin
mulai di sini.

Umum "gotcha"
Indeks
Dalam PDL, indeks dimulai dari '0' (seperti C dan Java), bukan 1 (seperti MATLAB atau FORTRAN). Untuk
contoh, jika $b adalah array dengan 5 elemen, elemen akan diberi nomor dari 0 hingga
4.

Menampilkan objek
MATLAB biasanya menampilkan isi objek secara otomatis. Di cangkang PDL yang Anda tampilkan
objek secara eksplisit dengan perintah "cetak" atau pintasan "p":

MATLAB:

>> a = 12
a = 12
>> b = 23; % Menekan keluaran.
>>

PDL Shell (perldl atau pdl2):

pdl> $a = 12 # Tidak ada keluaran.
pdl> print $a # Cetak objek.
12
pdl> p $a # "p" adalah singkatan untuk "print" di shell.
12
pdl>

membuat Piddle
Variabel dalam PDL
Variabel selalu diawali dengan tanda '$'.

MATLAB: nilai = 42
PerlDL: $nilai = 42

Sintaks dasar
Gunakan konstruktor "pdl" untuk membuat yang baru kencing.

MATLAB: v = [1,2,3,4]
PerlDL: $v = pdl [1,2,3,4]

MATLAB: A = [ 1,2,3 ; 3,4,5]
PerlDL: $A = pdl [ [1,2,3] , [3,4,5] ]

Matriks sederhana
MATLAB PDL
------ ------
Matriks satuan yang(5) satu 5,5
Matriks nol nol(5) nol 5,5
Matriks acak baris(5) acak 5,5
Vektor linier 1:5 urutan 5

Perhatikan bahwa dalam PDL tanda kurung dalam pemanggilan fungsi seringkali opsional. Dia
penting untuk mengawasi kemungkinan ambiguitas. Sebagai contoh:

pdl> p nol 2, 2 + 2

Haruskah ini ditafsirkan sebagai "nol(2,2) + 2" atau sebagai "nol 2, (2+2)"? Keduanya
pernyataan yang valid:

pdl> p nol(2,2) + 2
[
[2 2]
[2 2]
]
pdl> p nol 2, (2+2)
[
[0 0]
[0 0]
[0 0]
[0 0]
]

Daripada mencoba menghafal urutan prioritas Perl, yang terbaik adalah menggunakan
tanda kurung untuk membuat kode Anda tidak ambigu.

Barisan spasi linier
MATLAB: >> linspace(2,10,5)
jawaban = 2 4 6 8 10

PerlDL: pdl> p nol(5)->xlinvals(2,10)
[2 4 6 8 10]

Penjelasan: Mulailah dengan piddle 1 dimensi dari 5 elemen dan berikan secara merata
nilai spasi dari 2 sampai 10.

MATLAB memiliki panggilan fungsi tunggal untuk ini. Di sisi lain, metode PDL lebih
fleksibel:

pdl> p nol(5,5)->xlinvals(2,10)
[
[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 nol(5,5)->ylinval(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 nol(3,3,3)->zlinvals(2,6)
[
[
[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]
]
]

Mengiris dan indeks
Mengekstrak subset dari kumpulan data dikenal sebagai mengiris. PDL dan MATLAB
memiliki sintaks yang sama untuk mengiris, tetapi ada dua perbedaan penting:

1) Indeks PDL mulai dari 0, seperti di C dan Java. MATLAB memulai indeks pada 1.

2) Di MATLAB Anda berpikir "baris dan kolom". Dalam PDL, pikirkan "x dan y".

MATLAB PerlDL
------ ------
>> Sebuah pdl> p $A
SEBUAH = [
1 2 3 [1 2 3]
4 5 6 [4 5 6]
7 8 9 [7 8 9]
]
-------------------------------------------------- -----
(baris = 2, col = 1) (x = 0, y = 1)
>> A(2,1) pdl> p $A(0,1)
jawaban = [
4 [4]
]
-------------------------------------------------- -----
(baris = 2 hingga 3, col = 1 hingga 2) (x = 0 hingga 1, y = 1 hingga 2)
>> A(2:3,1:2) pdl> p $A(0:1,1:2)
jawaban = [
4 5 [4 5]
7 8 [7 8]
]

peringatan
Saat Anda menulis program PDL yang berdiri sendiri, Anda harus menyertakan PDL::NiceSlice
modul. Lihat bagian sebelumnya "MODUL UNTUK MATLAB PENGGUNA" untuk lebih
informasi.

menggunakan PDL; # Impor modul PDL utama.
gunakan PDL::NiceSlice; # Sintaks yang bagus untuk mengiris.
gunakan PDL::AutoLoader; # Pemuat otomatis seperti MATLAB.

$A = acak 4,4;
cetak $A(0,1);

Matriks Operasi
perkalian matriks
MATLAB: A*B
PerlDL: $A x $B

Perkalian berdasarkan elemen
MATLAB: A .* B
PerlDL: $A * $B

Mengubah urutan
MATLAB: A'
PerlDL: $A->transpose

Fungsi bahwa agregat data
Beberapa fungsi (seperti "jumlah", "maks" dan "min") mengumpulkan data untuk kumpulan data N-dimensi.
Ini adalah tempat di mana MATLAB dan PDL mengambil pendekatan yang berbeda:

Di MATLAB, semua fungsi ini bekerja sepanjang satu dimensi.
>> A = [ 1,5,4 ; 4,2,1 ]
SEBUAH = 1 5 4
4 2 1
>> maks(A)
jawaban = 4 5 4
>> maks(A')
jawaban = 5 4

Jika Anda ingin maksimal untuk seluruh kumpulan data, Anda dapat menggunakan A(:) khusus
notasi yang pada dasarnya mengubah seluruh kumpulan data menjadi satu dimensi 1
vektor.

>> maks(A(:))
jawaban = 5
>> A = satuan(2,2,2,2)
>> maks(A(:))
jawaban = 1

PDL menawarkan dua fungsi untuk setiap fitur.
jumlah vs sumover
rata-rata vs rata-rata
maks vs maksimum
min vs minimal

panjang nama bekerja pada suatu dimensi, sedangkan pendek nama bekerja secara keseluruhan
kencing.

pdl> p $A = pdl [ [1,5,4] , [4,2,1] ]
[
[1 5 4]
[4 2 1]
]
pdl> p $A->maksimum
[5 4]
pdl> p $A->transpose->maksimum
[4 5 4]
pdl> p $A->maks
5
pdl> p satu(2,2,2)->maks
1
pdl> p satu(2,2,2,2)->maks
1

Note Perhatikan bahwa PDL agregat horizontal sementara MATLAB agregat vertikal. Di lain
kata-kata:

MATLAB PerlDL
max(A) == $A->transpose->maximum
maks(A') == $A->maksimum

TIP: Di MATLAB Anda berpikir "baris dan kolom". Di PDL, pikirkan "x dan y".

Tertinggi dimensi data set
Masalah terkait adalah bagaimana MATLAB dan PDL memahami kumpulan data dengan dimensi yang lebih tinggi. MATLAB tadinya
dirancang untuk vektor 1D dan matriks 2D. Objek berdimensi lebih tinggi ("ND array") adalah
ditambahkan di atas. Sebaliknya, PDL dirancang untuk piddle N-dimensi sejak awal. Ini
mengarah ke beberapa kejutan di MATLAB yang tidak terjadi di PDL:

MATLAB melihat vektor sebagai matriks 2D.
MATLAB PerlDL
------ ------
>> vektor = [1,2,3,4]; pdl> $vektor = pdl [1,2,3,4]
>> ukuran(vektor) pdl> p $vektor->redup
jawaban = 1 4 4

MATLAB melihat "[1,2,3,4]" sebagai matriks 2D (matriks 1x4). PDL melihatnya sebagai vektor 1D: A
dimensi tunggal ukuran 4.

Tetapi MATLAB mengabaikan dimensi terakhir dari matriks 4x1x1.
MATLAB PerlDL
------ ------
>> A = satuan(4,1,1); pdl> $A = satuan 4,1,1
>> ukuran(A) pdl> p $A->redup
jawaban = 4 1 4 1 1

Dan MATLAB memperlakukan matriks 4x1x1 secara berbeda dari matriks 1x1x4.
MATLAB PerlDL
------ ------
>> A = satuan(1,1,4); pdl> $A = satuan 1,1,4
>> ukuran(A) pdl> p $A->redup
jawaban = 1 1 4 1 1 4

MATLAB tidak memiliki sintaks langsung untuk array ND.
pdl> $A = pdl [ [[1,2,3],[4,5,6]], [[2,3,4],[5,6,7]] ]
pdl> p $A->redup
3 2 2

Dukungan fitur.
Di MATLAB, beberapa fitur seperti dukungan matriks jarang tidak tersedia untuk ND
array. Di PDL, hampir semua fitur yang didukung oleh piddle 1D dan 2D, sama-sama
didukung oleh piddle N-dimensi. Biasanya tidak ada perbedaan.

Lingkaran Struktur
Perl memiliki banyak struktur loop, tetapi kami hanya akan menunjukkan yang paling familiar untuk
Pengguna MATLAB:

MATLAB PerlDL
------ ------
untuk i = 1:10 untuk $i (1..10) {
disp(i) cetak $i
akhir untuk }

Note Jangan pernah menggunakan for-loop untuk pekerjaan numerik. Perl's for-loop lebih cepat dari MATLAB,
tapi mereka berdua pucat terhadap operasi "vektor". PDL memiliki banyak alat yang
memfasilitasi penulisan program vektor. Ini berada di luar cakupan panduan ini. Ke
pelajari lebih lanjut, lihat: PDL::Indexing, PDL::Threading, dan PDL::PP.

Demikian juga, jangan pernah menggunakan 1..10 untuk pekerjaan numerik, bahkan di luar for-loop. 1..10 adalah
Array Perl. Array Perl dirancang untuk fleksibilitas, bukan kecepatan. Menggunakan piddle sebagai gantinya.
Untuk mempelajari lebih lanjut, lihat bagian berikutnya.

Piddle vs Perl Array
Penting untuk dicatat perbedaan antara Kencing dan array Perl. Perl memiliki
objek array tujuan umum yang dapat menampung semua jenis elemen:

@perl_array = 1..10;
@perl_array = (12, "Halo" );
@perl_array = ( 1, 2, 3, \@another_perl_array, urutan(5) );

Array Perl memungkinkan Anda untuk membuat struktur data yang kuat (lihat Data struktur di bawah), tapi
mereka adalah tidak dirancang untuk numerik kerja. Untuk itu, gunakan piddle:

$pdl = pdl [ 1, 2, 3, 4 ];
$pdl = urutan 10_000_000;
$pdl = yang 600, 600;

Sebagai contoh:

$poin = pdl 1..10_000_000 # 4.7 detik
$poin = urutan 10_000_000 # milidetik

TIP: Anda dapat menggunakan garis bawah dalam angka ("10_000_000" dibaca lebih baik dari 10000000).

Persyaratan
Perl memiliki banyak persyaratan, tetapi kami hanya akan menunjukkan yang paling familiar dengan MATLAB
pengguna:

MATLAB PerlDL
------ ------
if nilai > MAX if ($nilai > $MAX) {
disp("Terlalu besar") print "Terlalu besar\n";
elseif nilai < MIN } elsif ($nilai < $MIN) {
disp("Terlalu kecil") print "Terlalu kecil\n";
lain } lain {
disp("Sempurna!") print "Sempurna!\n";
akhir }

Note Berikut ini adalah "gotcha":

MATLAB: lain jika
PerlDL: elif

Jika kondisi Anda memberikan kesalahan sintaks, periksa apakah Anda menulis "elsif" Anda
benar.

TIMTOWDI (Di sana Is More Dari Satu Cara Untuk Do Dia)
Salah satu perbedaan paling menarik antara PDL dan alat lainnya adalah ekspresinya
dari bahasa Perl. TIMTOWDI, atau "Ada Lebih dari Satu Cara Untuk Melakukannya", adalah moto Perl.

Perl ditulis oleh seorang ahli bahasa, dan salah satu sifat yang menentukan adalah bahwa pernyataan dapat
dirumuskan dengan cara yang berbeda untuk memberikan bahasa nuansa yang lebih alami. Misalnya, Anda
tidak mungkin untuk mengatakan kepada teman:

"Sementara saya belum selesai, saya akan terus bekerja."

Bahasa manusia lebih fleksibel dari itu. Sebaliknya, Anda lebih cenderung mengatakan:

"Aku akan terus bekerja sampai aku selesai."

Karena akar linguistiknya, Perl adalah satu-satunya bahasa pemrograman dengan jenis
fleksibilitas. Misalnya, Perl memiliki perulangan while dan pernyataan if tradisional:

sementara ( ! selesai() ) {
tetap bekerja();
}

jika ( ! istri_marah() ) {
ciuman_istri();
}

Tapi itu juga menawarkan alternatif sampai dan kecuali kalau pernyataan:

sampai ( selesai() ) {
tetap bekerja();
}

kecuali ( istri_marah() ) {
ciuman_istri();
}

Dan Perl memungkinkan Anda untuk menulis loop dan conditional dalam bentuk "postfix":

keep_working() sampai selesai();

ciuman_istri() kecuali istri_marah();

Dengan cara ini, Perl sering memungkinkan Anda untuk menulis kode yang lebih alami dan mudah dipahami daripada sebelumnya
mungkin dalam bahasa pemrograman yang lebih ketat.

Fungsi
Sintaks PDL untuk mendeklarasikan fungsi berbeda secara signifikan dari MATLAB.

MATLAB PerlDL
------ ------
fungsi retval = foo(x,y) subfoo {
retval = x.**2 + x.*y saya ($x, $y) = @_;
fungsi akhir mengembalikan $x**2 + $x*$y;
}

Jangan terintimidasi oleh semua sintaks baru. Berikut ini adalah lari cepat melalui suatu fungsi
deklarasi dalam PDL:

1)"di bawah" singkatan dari "subrutin".

2)"my" mendeklarasikan variabel menjadi lokal ke fungsi.

3)"@_" adalah larik Perl khusus yang menampung semua parameter fungsi. Ini mungkin terlihat
seperti cara yang aneh untuk melakukan fungsi, tetapi memungkinkan Anda untuk membuat fungsi yang memerlukan
variabel jumlah parameter. Misalnya, fungsi berikut mengambil sejumlah
parameter dan menambahkannya bersama-sama:

sub asumsiku {
saya ($i, $total) = (0, 0);
untuk $i (@_) {
$jumlah += $i;
}
kembali $total;
}

4) Anda dapat menetapkan nilai ke beberapa variabel sekaligus menggunakan sintaks:

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

Jadi, dalam contoh sebelumnya:

# Ini mendeklarasikan dua variabel lokal dan menginisialisasinya ke 0.
saya ($i, $total) = (0, 0);

# Ini mengambil dua elemen pertama dari @_ dan menempatkannya di $x dan $y.
saya ($x, $y) = @_;

5) "kembaliPernyataan " memberikan nilai kembalian fungsi, jika ada.

TAMBAHAN FITUR


ASCII File IO
Untuk membaca file data yang berisi kolom angka yang dipisahkan spasi (seperti yang akan dibaca
menggunakan MATLAB memuat perintah) seseorang menggunakan PDL rcols di PDL::IO::Lainnya. Untuk seorang jenderal
tinjauan fungsionalitas IO yang tersedia di PDL, lihat dokumentasi untuk PDL::IO, misalnya,
"bantuan PDL::IO" di pdl2 shell atau " pdldoc PDL::IO" dari baris perintah shell.

Data struktur
Untuk membuat struktur data yang kompleks, MATLAB menggunakan "sel array"Dan"struktur array".
Array dan hash Perl menawarkan fungsionalitas serupa tetapi lebih kuat dan fleksibel.
Bagian ini hanyalah ikhtisar singkat tentang apa yang ditawarkan Perl. Untuk mempelajari lebih lanjut tentang ini,
silakan pergi kehttp://perldoc.perl.org/perldata.html> atau jalankan perintah "perldoc
perldata".

Array
Array Perl mirip dengan array sel MATLAB, tetapi lebih fleksibel. Misalnya, di
MATLAB, array sel pada dasarnya masih matriks. Itu terbuat dari baris, dan baris
harus memiliki panjang yang sama.

MATLAB
------
array = {1, 12, 'halo'; rand(3, 2), yang(3), 'sampah'}
=> Oke
array = {1, 12, 'halo'; rand(3, 2), yang(3) }
=> KESALAHAN

Array Perl adalah tujuan umum, struktur data sekuensial. Itu dapat berisi data apa pun
mengetik.

PerlDL
------
@array = ( [1, 12, 'halo'] , [ acak(3,2), yang(3,3), 'sampah' ] )
=> Oke
@array = ( [1, 12, 'halo'] , [ acak(3,2), yang(3,3) ] )
=> Oke
@array = ( 5 , {'name' => 'Mike'} , [1, 12, 'halo'] )
=> Oke

Perhatikan bahwa array Perl dimulai dengan awalan "@" alih-alih "$" yang digunakan oleh
piddle.

Untuk belajar tentang Perl array, silahkan go untuk <http://perldoc.perl.org/perldata.html> or
menjalankan itu Command "perldoc perldata".

Hash
Hash Perl mirip dengan susunan struktur MATLAB:

MATLAB
------
>> drink = struct('type', 'coke', 'size', 'large', 'myarray', {1,2,3})
>> drink.type = 'sprite'
>> drink.price = 12% Tambahkan bidang baru ke array struktur.

PerlDL
------
pdl> %drink = ( type => 'coke' , size => 'large', mypiddle => one(3,3,3) )
pdl> $minum{type} = 'sprite'
pdl> $drink{price} = 12 # Tambahkan field baru ke hash.

Perhatikan bahwa hash Perl dimulai dengan awalan "%" alih-alih "@" untuk array dan
"$" digunakan oleh piddle.

Untuk belajar tentang Perl hash, silahkan go untuk <http://perldoc.perl.org/perldata.html> or
menjalankan itu Command "perldoc perldata".

Performance
PDL memiliki fitur kinerja yang kuat, beberapa di antaranya biasanya tidak tersedia di
alat komputasi numerik. Halaman berikut akan memandu Anda melalui fitur-fitur ini:

PDL::Pengindeksan
Tingkat: Pemula

Tutorial pemula ini mencakup fitur "vektorisasi" standar yang sudah Anda miliki
tahu dari MATLAB. Gunakan halaman ini untuk mempelajari cara menghindari for-loop untuk membuat program Anda
lebih efisien.

PDL::Mengutas
Tingkat: Menengah

Fitur "vektorisasi" PDL melampaui apa yang dapat dilakukan oleh sebagian besar perangkat lunak numerik. Di dalam
tutorial ini Anda akan belajar bagaimana "mengutas" melalui dimensi yang lebih tinggi, memungkinkan Anda untuk
vektorkan program Anda lebih jauh dari yang dimungkinkan di MATLAB.

benchmark
Tingkat: Menengah

Perl hadir dengan modul benchmark yang mudah digunakan untuk membantu Anda mengetahui berapa lama waktu yang dibutuhkan
untuk mengeksekusi bagian yang berbeda dari kode Anda. Ini adalah alat yang hebat untuk membantu Anda memfokuskan
upaya optimasi. Anda dapat membacanya secara online
(<http://perldoc.perl.org/Benchmark.html>) atau melalui perintah "perldoc
Tolok Ukur".

PDL::PP
Tingkat: Lanjutan

Pra-Prosesor PDL adalah salah satu fitur PDL yang paling kuat. Anda menulis fungsi
definisi dalam markup khusus dan pra-prosesor menghasilkan kode C nyata yang dapat
dikompilasi. Dengan PDL:PP Anda mendapatkan kecepatan penuh kode C asli tanpa harus berurusan
dengan kompleksitas penuh dari bahasa C.

Merencanakan
PDL memiliki kemampuan merencanakan fitur lengkap. Tidak seperti MATLAB, PDL lebih mengandalkan pihak ketiga
library (pgplot dan PLplot) untuk fitur plotting 2D-nya. Plot 3D dan grafiknya
menggunakan OpenGL untuk kinerja dan portabilitas. PDL memiliki tiga modul plotting utama:

PDL::Grafik::PGPLOT
Terbaik untuk: Merencanakan fungsi 2D dan kumpulan data.

Ini adalah antarmuka ke perpustakaan PGPLOT yang terhormat. PGPLOT telah banyak digunakan di
komunitas akademik dan ilmiah selama bertahun-tahun. Sebagian karena usianya,
PGPLOT memiliki beberapa keterbatasan dibandingkan dengan paket yang lebih baru seperti PLplot (misalnya tanpa RGB
grafis). Tetapi memiliki banyak fitur yang masih membuatnya populer di bidang ilmiah
masyarakat.

PDL::Grafik::PLplot
Terbaik untuk: Merencanakan fungsi 2D serta kumpulan data 2D dan 3D.

Ini adalah antarmuka ke perpustakaan plot PLplot. PLplot adalah sumber terbuka modern
perpustakaan untuk membuat plot ilmiah. Ini mendukung plot set data 2D dan 3D.
PLplot paling baik didukung untuk platform unix/linux/macosx. Ini memiliki pengembang aktif
komunitas dan dukungan untuk platform win32 meningkat.

PDL::Grafik::TriD
Terbaik untuk: Merencanakan fungsi 3D.

Pustaka grafis 3D PDL asli menggunakan OpenGL sebagai backend untuk plot dan data 3D
visualisasi. Dengan OpenGL, mudah untuk memanipulasi objek 3D yang dihasilkan dengan
mouse secara real time.

Writing GUI
Melalui Perl, PDL memiliki akses ke semua toolkit utama untuk membuat platform lintas
antarmuka pengguna grafis. Salah satu opsi yang populer adalah wxPerl (http://wxperl.sourceforge.net>).
Ini adalah binding Perl untuk wxWidgets, toolkit GUI yang kuat untuk menulis cross-
aplikasi platform.

wxWidgets dirancang untuk membuat aplikasi Anda terlihat dan terasa seperti aplikasi asli di
setiap platform. Misalnya, Perl IDE Ayah ditulis dengan wxPerl.

Tautan Simu
Simulink adalah pemodel dan simulator sistem dinamis grafis. Itu bisa dibeli
secara terpisah sebagai add-on untuk MATLAB. PDL dan Perl tidak memiliki persamaan langsung dengan
Simulink MATLAB. Jika fitur ini penting bagi Anda, lihatlah scilab:

<http://www.scilab.org>

Scilab adalah perangkat lunak analisis numerik lainnya. Seperti PDL, ini gratis dan open source. Dia
tidak memiliki fitur unik PDL, tetapi sangat mirip dengan MATLAB. Scilab hadir dengan
Xcos (sebelumnya Scicos), pemodel dan simulator sistem grafis yang mirip dengan Simulink.

HAK CIPTA


Hak Cipta 2010 Daniel Carrera ([email dilindungi]). Anda dapat mendistribusikan dan/atau memodifikasi ini
dokumen di bawah persyaratan yang sama dengan lisensi Perl saat ini.

Lihat: http://dev.perl.org/licenses/

Ucapan Terima Kasih
Saya ingin mengucapkan terima kasih kepada David Mertens, Chris Marshall, dan Sigrid Carrera atas bantuannya yang luar biasa
membantu meninjau draf sebelumnya dari panduan ini. Tanpa jam kerja mereka, ini
dokumen tidak akan jauh berguna bagi pengguna MATLAB seperti sekarang ini.

Gunakan PDL::MATLABp online menggunakan layanan onworks.net


Server & Workstation Gratis

Unduh aplikasi Windows & Linux

Perintah Linux

Ad