Tải bản đầy đủ (.pdf) (33 trang)

Hướng dẫn sử dụng Scilab cho người mới bắt đầu

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (857.29 KB, 33 trang )


ớng dẫn sử dụng
Scilab dành cho ngư
ời mới bắt đầu
S
c
il
a
b
E
n
ter
p
r
i
ses
S.
A
.S
-
143
bi
s r
u
e Yves
L
eCoz-78000Versa
ill
es
(Pháp)
- www


.
sc
il
a
b
-e
n
ter
p
r
i
ses
.
com
Tài li
ệu này là sản phẩm của Scilab Enterprises và Christine Gomez, giáo viên toán học tại
Lycée Descartes (Trư
ờng
Trung H
ọc
Descartes) t
ại Antony, H
auts-de-Seine (Pháp).
© 2013 Scilab Enterprises. B
ảo lưu mọi quyền
.

ớng dẫn sử dụng Scilab dành cho người mới bắt đầu
- 2/33
M

ục
l
ục
Gi
ới thiệu
V
ề tài liệu này
4
Cài đ
ặt
Scilab 4
Danh sách đ
ịa chỉ
4
Các ngu
ồn bổ sung
4
C
hương 1

Làm quen v
ới
S
c
ilab
Môi trư
ờng chung và giao diện điều khiển
5
Các phép tính b
ằng số đơn giản

6
Thanh trình
đơn
7
Trình so
ạn thảo
8
C
ửa sổ đồ h
ọa 9
Qu
ản lý các cửa sổ và
tùy bi
ến không gian làm việc
11
C
hương 2
-
L
ập tr
ình
Các bi
ến số,
gán giá tr

và hi
ển thị
12
Các vòng l
ặp

16
Ki
ểm tra
17
Đ
ồ thị 2 và 3D
18
B
ổ su
ng vào ma tr
ận và vecto
23
Đ
ộ chính xác của phép tín
h 29
Gi
ải các ph
ương tr
ình vi phân
30
C
hapt
er
3

Các hàm Scilab h
ữu dụng
Trong phân tích 32
Trong xác su
ất và thống kê

32
Hiển thị và vẽ đồ thị 33
Ti
ện ích
33

ớng dẫn sử dụng Scilab d
ành cho người mới bắt đầu
-3/33
Gi
ới thiệu
V
ề tài liệu này
M
ục đích của tài liệu này là nhằm

ớng dẫn
t
ừng bước cụ thể trong quá trình khám phá
các
tính năng cơ b
ản của Scilab d
ành cho người chưa từng sử dụng qua phần mềm tính toán số.
Những gì được trình bày trong tài liệu này chỉ giới hạn ở những điều cần thiết để giúp người
dùng s
ử dụng Scilab dễ dàng
hơn.
Các phép tính, biểu đồ và ví dụ minh họa đều được thực hiện bằng Scilab 5.4.0. Quý vị có thể
sao chép t
ất cả các lệnh từ phiên bản này.

Cài đ
ặt
Sc
il
ab
Scilab là m
ột phần mềm tính toán số miễn phí.
Các h
ệ điều hành tương thích với phần mềm này
là Windows, Linux và Mac OS X, quý v
ị có thể tải Scilab về máy tạ
i đ
ịa chỉ sau:
/>N
ếu quý vị muốn nhận thông báo về các phiên bản mới của phần mềm Scilab, quý vị có thể
đăng ký nh
ận
thông báo t
ừ k
ênh thông tin
c
ủa chúng tôi theo địa chỉ:
/>Danh sách đ
ịa chỉ
Nh
ằm tạo điều kiện cho việc trao đổi giữa những
Ngư
ời dùng
Scilab, chúng tôi l
ập các danh

sách đ
ịa chỉ d
ành riêng cho t
ừng nhóm (danh sách địa chỉ bằng tiếng Pháp, danh sách địa chỉ
cho ngành giáo d
ục, danh sách quốc tế bằng tiếng Anh). Quy tắc rất
đơn gi
ản: những người
đăng ký có th
ể liên lạc với nhau thông qua email (đặt câu hỏi, trả lời, chia sẻ tài liệu, phản
h
ồi…)
.
Đ
ể xem các danh sách hiện có v
à đăng k
ý theo dõi, quý vị có thể truy cập vào địa chỉ sau
:
/>Các ngu
ồn bổ sung
Nếu quý vị có kết nối Internet, mời quý vị ghé thăm trang web Scilab, tại đây quý vị có thể truy
c
ập v
ào chuyên
m
ục
s
ử dụng Scilab
( cùng các
đư

ờng dẫn và tài liệu có liên quan cho phép quý vị tải về và in miễn phí.

ớng dẫn sử dụng Scilab d
ành cho người mới bắt đầu
- 4/33
Chương
1

Làm quen v
ới
S
c
ilab
Không gian làm vi
ệc hữu dụng trong Scilab bao gồm
các c
ửa sổ sau
:
 Giao di
ện điều khiển để thực hiện các phép tính
,
 Trình so
ạn thảo để lập trình
,
 Các c
ửa sổ đồ họa
đ
ể hiển thị
,
 Tr

ợ giúp tích hợp
Môi trư
ờng chung và giao
di
ện điều khiển
Sau khi nh
ấp
đúp chu
ột v
ào bi
ểu tượng để khởi động Scilab, môi trường Scilab mặc định sẽ
bao g
ồm các cửa sổ kiểu thanh dock như sau
– giao di
ện điều khiển, các trình duyệt
file và bi
ến
s
ố, lịch sử đặt lệnh (xem phần
“Qu
ản lý các cửa sổ và tùy
bi
ến không gian làm việc
”, trang 11):
Trong giao di
ện điều khiển sau dấu nhắc
“ >”
, đánh m
ột dòng lệnh và nhấn phím Enter
(Windows và Linux) ho

ặc phím Return (Mac OS X) trên bàn phím để nhận kết quả tương ứng.
> 57/4
ans =
14.25
> (2+9)^5
ans =
161051.
M
ẹo
Trư
ớc kết quả
,
ans
có ngh
ĩa l
à “đáp
án”.
Ngư
ời dùng
có th
ể quay lại bất kỳ
lúc nào b
ằng các phím mũi tên trên bàn
phím ← ↑ → ↓ ho
ặc
b
ằng chuột. Các phím trái v
à ph
ải được sử dụng để thay đổi phần
ch

ỉ lệnh
còn các phím lên và
xu
ống được sử dụng để
quay v
ề một dòng lệnh được thực hiện trước đó.
Hướng dẫn sử dụng Scilab dành cho người mới bắt đầu -5/33
Các phép tính s
ố đơn giản
T
ất cả các phép tính thực hiện bởi Scilab đều ở dạng số. Scilab thực hiện
các phép tính b
ằng ma
tr
ận (xem chươn
g 2, trang 23).
Các thao tác đư
ợc lập trình với dấu

+
” cho phép c
ộng
, d
ấu


” cho phép tr

, d
ấu


*
” cho phép
nhân, d
ấu

/
” cho phép chia, d
ấu

^
” cho s
ố mũ
. Ví d

:
>2+3.4
ans =
5.4
Ph
ần này có phân biệt viết hoa và viết thường
. Do đó c
ần chú ý
đ
ến chữ viết hoa và viết thường
đ
ể các phép tính được thực hiện chính xác. Ví dụ, với lệnh
sqrt (
tính căn b
ậc hai):

>sqrt(9)
trong khi đó:
>SQRT(9)
ans = error 4
3. Bi
ến số không xác định
: SQRT
Các con s
ố cụ thể
%e

%pi
l
ần lượt đại diện
cho e và
π
:
> %e > %pi
%e = %pi =
2.7182818 3.1415927
%i
đ
ại diện cho i trong các phức hợp khi nhập và được hiển thị là i trong kết quả:
> 2+3*%i
ans =
2. + 3.i
Đ
ối với
các k
ết quả không hiển thị

Khi thêm d
ấu chấm phẩy
“;” vào cu
ối dò
ng l
ệnh, phép tính được thực hiện nhưng kết quả không
đư
ợc hiển thị
.
>(1+sqrt(5))/2; > (1+sqrt(5))/2
ans =
1.618034

ớng dẫn sử dụng Scilab dành cho người mới bắt đầu
-6/33
Đ
ể nhắc tên của một hàm
Tên của các hàm thường được sử dụng được tổng kết tại Chương 3 của tài liệu (trang 32).
Ví d
ụ:
> exp(10)/factorial(10)
ans =
0.0060699
M
ẹo
T
ất cả các hàm khả
d
ụng đều được liệt kê
trong ph

ần
tr
ợ giúp
tích h
ợp
b
ằng cách
nh
ấp
chu
ột v
ào thanh
trình
đơn trên
?>
ScilabHelp
.
Có th
ể dùng
phím tab →│ trên bàn phím đ
ể hoàn tất tên của một hàm hay một biến số bằng
cách nh
ập
m
ột số
ch
ữ cái đầu ti
ên:
Ví d
ụ, sau khi nhập

vào giao di
ện điều khiển lệnh:
>fact
Và nh
ấn phím tab, một cửa sổ
hi
ển thị
t
ất cả các tên hàm và biến số bắ
t đ
ầu bằng
fact
, ch
ẳng
h
ạn như
factorial

factor
s
ẽ hiện ra
. Ch
ỉ cần
nh
ấp
đúp chu
ột vào hàm cần
dùng ho
ặc chọn
hàm đó b

ằng chuột hoặc bằng các phím
↑ ↓ và nh
ấn Enter (Windows và Linux) hoặc Return
(Mac OS X) đ
ể ch
èn hàm vào dòng l
ệnh.
Thanh trình
đơn
Các trình
đơn liệt kê dưới đây đặc biệt hữu dụng:
Applications

L
ịch sử đặt lệnh cho phép bạn tìm lại tất cả các lệnh từ các phiên trước đó cho đến
phiên hi
ện tại.

Trình duy
ệt biến số cho phép bạn t
ìm l
ại tất cả các biến số được sử dụng trước đó
trong phiên hi
ện tại.
Edit
Preferences
(trong trình
đơn
Scilab
dành cho Mac OS X) cho phép b

ạn thiết lập và tùy
ch
ỉnh
màu s
ắc, phông chữ v
à cỡ chữ trong giao diện điều khiển và trình soạn thảo, điều này rất hữu
d
ụng
khi ph
ải c
hi
ếu lên màn hình.
Nh
ấp chuột vào
Clear Console
s
ẽ xóa
toàn b

n
ội dung
trong giao di
ện điều khiển. Trong
trư
ờng hợp này, lịch sử đặt lệnh vẫn còn và các phép tính được thực hiện trong phiên vẫn c
òn
trong b
ộ nhớ. Các lệnh bị xóa
v
ẫn có thể lấy lại bằng các phím mũi t

ên trên bàn phím.
Control
Đ
ể làm gián đoạn một chương trình đang chạy, bạn có thể làm như sau:
 Nh
ập lệnh
pause
vào chương tr
ình hoặc
nh
ấp
chu
ột vào
Control>Interrupt
trong
thanh trình
đơn
(Ctrl X v
ới
Windows và Linux ho
ặc
Command X v
ới
Mac OS X), n
ếu
chương tr
ình
đang ch
ạy sẵn. T
rong m

ọi tr
ư
ờng hợp, dấu nhắc

>
” s
ẽ chuyển th
ành

-1->
”, sau đó thành “
-2->
” …, n
ếu thao tác được lặp lại.

Đ
ể quay về thời điểm trước khi làm gián đoạn chương trình, nhập lệnh
resume
vào
giao di
ện điều khiển hoặc
nh
ấp
chu
ột vào
Control>Resume
.

Để thoát ra hoàn toàn một phép tính và không quay lại, nhập lệnh
abort

trong giao
di
ện điều khiển hoặc
nh
ấp
chu
ột vào
Control>Abort
trên thanh trình
đơn.
Hướng dẫn sử dụng Scilab dành cho người mới bắt đầu -7/33
Trình so
ạn thảo
Vi
ệc nhập trực tiế
p vào giao di
ện điều khiển có hai điểm bất lợi: thứ nhất là không thể lưu được
các l
ệnh và thứ hai là việc soạn thảo nhiều dòng chỉ lệnh là không hề dễ dàng. Trình soạn thảo
là công c
ụ thích hợp để chạy nhiều chỉ lệnh cùng lúc.
M
ở trình soạn thảo
Đ
ể mở
trình so
ạn thảo từ giao diện điều khiển,
nh
ấp
chu

ột vào biểu tượng đầu tiên trên thanh
công c

ho
ặc vào mục
Applications>SciNotes
trên thanh trình
đơn.
Trình so
ạn thảo được mở với tên file mặc định là

Untitled 1

.
So
ạn thảo trong trình so
ạn thảo
So
ạn thảo trong tr
ình so
ạn thảo cũng giống với
m
ọi
công c
ụ xử lý văn bản khác.
Trong trình so
ạn thảo văn bản, chức năng mở và đóng các dấu ngoặc, kết thúc các lệnh vòng lặp, hàm và
ki
ểm tra được tự động thêm vào. Tuy nhiên, có thể tắt các tính năn
g này trong m

ục
Options > Auto
completion on
trình đơn, nhấp chuột vào hai mục được kích hoạt mặc định dưới đây:

(,[,…

if,function,…
V
ề mặt nguy
ên t
ắc
, m
ỗi chỉ lệnh đều phải đ
ư
ợc nhập vào một dòng riêng biệt,
tuy nhiên,v
ẫn
có th
ể nhập nhiều câu
trên cùng một dòng lệnh, tách biệt nhau bằng dấu chấm phẩy “
;
”.
Ký tự trắng đầu dòng được gọi là dấu chỉ là tự động khi một vòng lặp hay phép kiểm tra được
khởi động.
Trong ví dụ sau đây, chúng tôi tính 10 số hạng của chuỗi (
n
), được xác định bởi:
1
= 1

n + 1
= 2
n
− 3
M
ẹo
-
Các dòng chú giải bắt đầu bằng“//” sẽ không được tính trong các phép tính;
- Đ
ể thay đổi phông chữ,
nh
ấp
chu
ột vào
Options>Preferences
.
- Khi l
ập tr
ình, dòng l
ệnh được tự động thụt vào. Nếu dòng lệnh không
t
ự động thụt v
ào,
nh
ấp
chu
ột vào
Format>Correctindentation
đ
ể khôi phục

(Ctrl I v
ới
Windows và Linux ho
ặc
Command I v
ới
MacOS X).
Hướng dẫn sử dụng Scilab dành cho người mới bắt đầu -8/33
!
!
Lưu
Bạn có thể lưu bất kỳ file nào bằng cách nhấp chuột vào
File>Saveas
.
Đuôi “.sce” ở cuối t
ên file sẽ tự động khởi động Scilab khi được mở
(tr

h
ệ điều hành
Linux và Mac OS
X).
Chép vào giao diện điều khiển, chạy một chương trình.
Khi nh
ấp
chu
ột vào mục Execute trên thanh trình đơn, sẽ có ba l
ựa chọn nh
ư sau:
 Th

ực hiện

…file withno echo
” (Ctrl Shift E v
ới
Windows và Linux, Cmd Shift E v
ới
Mac OS X): file s
ẽ được chạy mà không cần lập trình trong giao diện điều khiển (bắt
bu
ộc phải l
ưu file trước)
.
 Th
ực hiện

… file with echo

(Ctrl L v
ới
Windows và Linux, Cmd L v
ới
Mac OS X):
chép l
ại file vào giao diện điều khiển và chạy file.

Th
ực hiện

…until the caret, with echo

” (Ctrl E v
ới
Windows và Linux, Cmd E v
ới
Mac OS X): chép l
ại lựa chọn được chọn bằng chuột vào giao diện điều khiển và
ch
ạy lự
a ch
ọn hoặc chạy dữ liệu file cho đến khi ng
ư
ời
dùng xác đ
ịnh vị trí dấu nháy.
Có th
ể sử dụng chức năng
copy/paste thông thư
ờng.
Cửa sổ đồ họa
Mở một cửa sổ đồ họa
Cửa sổ đồ họa s
ẽ tự động mở khi vẽ một biểu đồ bất kỳ. Có thể vẽ các đường cong, mặt
ph
ẳng,
các chu
ỗi điểm (xem chương 2, trang 18).
Đ
ể có ví dụ về đường cong, nhập vào giao diện điều khiển lệnh:
>plot
M

ẹo
- Đ
ể xóa
bi
ểu đồ
trư
ớc đó, nhập lệnh
clf
(“xóa sơ đ

”).
- Đ
ể mở một cửa sổ
đ
ồ họa
khác, nh
ập
l
ệnh
scf;
(“l
ập biểu
đồ”).
N
ếu
mở c
ùng lúc
m
ột vài cửa sổ đồ
họa, có thể lựa chọn

c
ửa sổ muốn vẽ biểu
đ
ồ bằng cách nhập
l
ệnh
scf(n)
; n là s

c
ửa sổ đồ h
ọa(n
ằm ở
phía trên bêntrái).

ớng dẫn sử dụng Scilab dành cho người mới bắt đầu
-9/33
Đi
ều chỉnh
bi
ểu đồ
Bi
ểu t
ư
ợng kính lúp
dùng đ
ể phóng to thu nhỏ
. Đ
ể phóng đại ra cả hai
chi

ều
, nh
ấp
chu
ột vào
công c
ụ và
dùng chu
ột tạo một hình chữ nhật
đ

t
ạo góc xem
đư
ợc mở rộng
m
ới. Để phóng đại
ra ba hư
ớng,
nh
ấp
chu
ột vào công cụ và tạo hình khối lục diện
đ
ể tạo
góc xem được mở rộng
m
ới. Bạn cũng có thể phóng đại bằng con lăn của chuột. Để trở về m
àn hình ban
đầu,

nh
ấp
chu
ột vào
bi
ểu tượng kính lúp khác
.
.
Bi
ểu tượng
cho phép xoay hình (
đặc biệt hữu ích với hình 3D) bằng thao tác
nh
ấp
chu

t
ph
ải theo h
ướng dẫn trong phần tin nhắn ở
phía dư
ới cửa
s
ổ đồ
h
ọa
.
Đ
ể điều chỉnh
chính xác hơn, nh

ấp
chu
ột vào
Edit>Figureproperties
ho
ặc
Axesproperties

xem hư
ớng dẫn (lựa chọn này chưa khả dụng đối với Mac OS X)
.
H
ỗ trợ trực tuyến
Để được hỗ trợ trực tuyến, nhấp chuột vào
?>ScilabHelp
trên thanh trình đơn, hoặc nhập lệnh sau vào
giao di
ện điều khiển
:
>help
M
ẹo
Các ví d
ụ về sử
d
ụng có thể
ch
ạy
đư
ợc trên Scilab và

so
ạn thảo trên
SciNotes b
ằng cách
s
ử dụng các phím
kèm theo trong
khung m
ẫu.
Đ
ể được hỗ trợ với bất kỳ hàm nào, nhập lệnh help vào giao diện điều khiển, sau đó nhập tên
hàm tương
ứng. Ví dụ:
>help sin
hi
ển
th

ph
ần hỗ trợ
help cho hàm
sin
(sine).

ớng dẫn sử dụng Scilab dành cho người mới bắt
đ
ầu
-10/33
Qu
ản lý các cửa sổ và tùy

ch
ỉnh không gian làm việc
Trong môi trư
ờng Scilab mặc định, giao diện điều khiển, các trình duyệt file và biến số và lịch
s
ử đặt lệnh đều là các cửa sổ dạng dock, tất cả các cửa sổ khác trong Scilab
đ
ều có thể
chuy
ển
thành v
ị trí riêng rẽ. Ví dụ, người
dùng có th
ể chọn
v
ị trí cho
trình so
ạn thảo trong môi trường
m
ặc định của Scilab.
Đ

g
ắn
m
ột cửa sổ vào một cửa sổ khác, đầu tiên phải
xác đ
ịnh
thanh ngang màu xanh trong
Window hay màu đen trong Mac OS X và Linux, trên đ

ầu cửa sổ trong thanh công cụ có dấu
h
ỏi ở góc phải.
 Trong Windows và Linux, nh
ấp
chu
ột v
ào thanh này b
ằng chuột trái và
trong khi v
ẫn
gi
ữ chuột trái, di chuyển con trỏ chuột vào cửa sổ mong muốn.
 Trong Mac OS X, nhấp chuột vào thanh này và trong khi vẫn giữ chuột, chuyển
thanh này vào c
ửa sổ mong muốn.
M
ột h
ình chữ nhật sẽ xuất hiện, cho biết vị trí tiếp theo của cửa sổ. Khi đã di chuyển đến vị trí
mà b
ạn
mu
ốn, thả phím bấm chuột. Để hủy
thao tác và chuy
ển cửa sổ ra,
nh
ấp
chu
ột vào mũi
tên nhỏ ở góc phải của thanh n

ày.

ớng dẫn sử dụng Scilab dành cho người mới bắt đầu
-11/33
C
hương 2
L
ập trình
Trong các ví d
ụ đưa ra trong tài liệu này, bất cứ dòng nào bắt đầu bằng
>
s
ẽ là một
l
ệnh, các
dòng khác là ph
ản hồi từ các dòng lệnh (kết quả phép tính, tin nhắn báo lỗi…). Không được
ghi “
>
” trong trình so
ạn thảo. Các ví dụ được đưa ra ở đây là nhằm phân biệt giữa các dòng
l
ệnh và kết quả tính toán hiển thị trong giao diện điều khiển s
au khi sao chép/dán. Khi hi
ển thị
trong b
ảng (không có

>
” và k

ết quả tính toán, các lệnh đ
ư
ợc mô tả chính xác như khi nhập
trong trình so
ạn thảo.
Các bi
ến số,
gán giá tr

và hi
ển thị
Các bi
ến số
Scilab không ph
ải là một hệ đại số trên máy tính. Phần m
ềm n
ày chỉ tính toán bằng các chữ số.
M
ọi phép tính đều được thực hiện bằng ma trận, mặc dù điều này có thể không được chú ý.
Ngay c
ả khi khái niệm ma trận không rõ ràng, thì vecto và các chuỗi chữ số cũng có thể giải
thích khái ni
ệm này, mà trên thực tế,
là ma tr
ận có
chi
ều
1 × n ho
ặc
n × 1 và m

ột chữ số là ma
tr
ận có
chi
ều
1 x 1.
Các bi
ến số không cần đ
ư
ợc biểu thị trước, nhưng mọi biến số đều phải có giá trị. Ví dụ, tính
giá tr
ị của một biến số chưa được cho giá trị sẽ thấy lỗi hiển thị:
>a
! error 4
Bi
ến số chưa xác định
: a
N
ếu một giá trị
đư
ợc
gán cho bi
ến số
a
, l
ỗi này sẽ không còn nữa:
> a=%pi/4
a =
0.7853982
> a

a =
0.7853982
Các bi
ến số có thể có t
ên bất kỳ không do hệ thống định sẵn:
> Piby2=%pi/2
Piby2 =
1.5707963
M
ẹo
Tương t

các ch
ức
năng c
ủa
Scilab, tên
một biến số không
đư
ợc chứa dấu hay
ký t
ự đặc biệt.
Hướng dẫn sử dụng Scilab dành cho người mới bắt đầu -12/33
K
ết quả một phép tính không được gán biến số sẽ tự động được gán cho biến số
ans
:
>3*(4-2)
ans =
6.

>ans
ans =
6.
Các hàm
Hàm là phương pháp dễ dàng cũng như thông thường nhất để thực hiện các phép tính từ các
bi
ến số v
à đ
ể thu được kết quả từ các biến số.
Xác đ
ịnh một hàm bắt đầu với
function
và k
ết thúc bằng
endfunction
. Ví d
ụ, để đổi từ đồng
euro (e) sang đ
ồng đô la (d) theo tỉ giá hối đoái là (t), hàm
dollars
s
ẽ được xác định. Các biến
s
ố là
e

t

ảnh là
d.

>function d=dollars(e,t); d=e*t; endfunction
>dollars(200,1.4)
ans =
280.
M
ột số hàm số
thư
ờng gặp là các hàm có một biến số thực. Ví dụ, hai hàm
f

g
đư
ợc xác dịnh
b
ằng các lệnh sau:
>function y=f(x); y=36/(8+exp(-x)); endfunction
>function y=g(x); y=4*x/9+4; endfunction
M
ẹo
Các biến số
x

y

các bi
ến số ảo, tên
các bi
ến
s
ố này có

th
ể được tái sử dụng
khi xác đ
ịnh các hàm
khác trong Scilab.
Các hàm xác đ
ịnh có thể đ
ư
ợc sử dụng để tính các giá trị:
> f(10)
ans =
4.4999745
> g(12.5)
ans =
9.5555556

ớng dẫn sử dụng Scilab dành cho người mới bắt đầu
-
13
/33
Yêu c
ầu
gán giá tr
ị cho
m
ột biến số
Việc gán giá trị cho biến số khá dễ dàng bằng cách sử dụng toán tử “=”.
Hi
ển thị
So

ạn thảo
Vi
ệc soạn tên biến số sẽ hiển thị giá trị của biến số đó, trừ khi có dầu
“;” cu
ối dòng lệnh.
D
ấu ngoặc
Các ma tr
ận được xác định bằng dấu ngoặc vuông (xem trang 23). Như đã
nêu trên, vi
ệc tính
toán b
ằng ma trận l
à nền tảng cho các phép tính trong Scilab. Ký tự trắng hay dấu phẩy được
s
ử dụng để chia các cột và dấu chấm phẩy được dùng để chia các hàng.
Đ
ể xác đị
nh m
ột vecto cột và hiể
n th
ị theo cột:
>v=[3;-2;5]
v =
3.
- 2.
5.
Đ
ể xác định một vecto hàng và hiển thị theo hàng:
>v=[3,-2,5]

v =
3. - 2. 5.
M
ẹo
L
ệnh này cũng có
th
ể được soạn

ới
d
ạng
:
v=[3 -2 5]
Đ
ể xác định m
ột ma trận v
à hiển thị theo bảng:
>m=[1 2 3;4 5 6;7 8 9]
m =
1. 2. 3.
M
ẹo
L
ệnh này cũng có
th
ể được soạn

ới
d

ạng:
m=[1,2,3;4,5,6;7,8,9]
4. 5. 6.
7. 8. 9.

ớng dẫn sử dụng Scilab dành cho người mới bắt
đ
ầu
-14/33
Hàm disp
disp
bu
ộc phải sử dụng với dấu ngoặc
.
V
ới vecto
v
đư
ợc xác định trước đó:
>v(2)
ans =
- 2.
>disp(v(2))
- 2.
Đ
ể hiển thị một chuỗi (thường là một mệnh đề), đặt chuỗi đó trong dấu ngoặc:
>disp(“Bob won”)
Bob won
Đ
ể hiển thị một tổ hợp

t
ừ và giá trị, sử dụng lệnh
string
cho phép chuy
ển đổi các giá trị sang
các chu
ỗi ký tự bằng
d
ấu “
+” gi
ữa các phần khác nhau:
>d=500;
>disp(“Bob won

+string(d)+” dollars”)
Bob won 500 dollars
N
ếu mệnh đề chỉ có một dấu ngoặc, thì cần phải thêm
m
ột dấu ngoặc nữa trong chuỗi để
chu
ỗi được hiển thị đúng.
>disp(“It’’s fair”)
It's fair
Các vòng l
ặp
Gia lư
ợng
Toán t


“:”
cho phép xác đ
ịnh các vecto của các chữ số có t
ọa đ
ộ theo thứ tự số học.
Ta đưa
ra: << beginning value: step: ending value>>. Giá trị cuối “ending value” có thể sẽ không đạt
được. Nếu bước trên không được đề cập, thì giá trị mặc định sẽ là 1.
Ví d
ụ, để xác định một vecto h
àng của các số nguyên tăng theo cấp 1 từ 3 đến 10:
>3:10
ans =
3. 4. 5. 6. 7. 8. 9. 10.
Ho
ặc tăng theo
c
ấp 2 từ 1 đến 10:
>1:2:10
ans =
1. 3. 5. 7. 9.

ớng dẫn sử dụng Scilab dành cho người mới bắt đầu
-
15
/33
Ho
ặc giảm theo cấp 4 từ 20 đến 2:
>u=20:-4:2
u =

20. 16. 12. 8. 4.
For
C
ấu trúc vòng lặp dễ nhất đối với một chữ số lặp đi lặ
p lại cố định được soạn bằng
for

end
.
Ví dụ: Tính 20 số hạng của một chuỗi được xác định bằng phép truy toán:
n+1
=
n
+ 2 + 3
Thu
ật toán
Thay 4 vào u(1)
L
ệnh for
n t

1 đ
ến
20
Trình so
ạn thảo Scilab
u(1)=4;
for
n=1:20
u(n+1) mang giá tr


u(n)+2n+3
và u(n)
u(n+1)= u(n)+2*n+3;
disp([n,u(n)])
Hiển thị n và u(n)
end
K
ết thúc
l
ệnh for
While
Đ
ể dừng một vòng lặp khi đã đạt được mục tiêu để ra, ta sử dụng
while

end
.
Vào năm 2005 tôi d
ự tính trồng một cây t
hông Noel cao 1,20m. M
ỗi năm cây thông này lại cao
thêm đư
ợc 30cm. Tôi quyết định sẽ chặt cây khi cây cao hơn 7m. Vậy tôi sẽ chặt cây vào năm
nào?
Thu
ật toán
Thay 1.2 vào h (h = chi
ều
cao c

ủa cây
)
Thay 2005 vào y (y = năm)
L
ệnh w
hile h<7
h mang giá tr

h+0.3 (cây cao lên m
ỗi năm
)
y mang giá tr

y+1 (m
ỗi năm qua
)
Kết thúc lệnh while
Hi
ển thị
y (năm cu
ối c
ùng
)
Trình so
ạn thảo Scilab
h=1.2;
y=2005;
while h<7
h=h+0.3;
y=y+1;

end
disp( I will cut the
tree in “+string(y))
M
ẹo
Khi có m
ột lệnh quá d
ài không th
ể ghi trên một dòng, trình soạn thảo sẽ chèn các dòng
b
ằng
“ ” (hai d
ấu chấm) trước khi đến dòng tiếp theo.

ớng dẫn sử dụng Scilab d
ành cho ngư
ời mới
b
ắt
đ
ầu
-16/33
1
= 4
Ki
ểm tra
Các toán t
ử so sánh
Các phép ki
ểm tra hữu dụng bao gồm các chữ số đối chiếu hoặc xác định một câu lệnh là đúng

hay sai. Bên dư
ới
là các l
ệnh t
ương
ứng:
B
ằng
Khác Nh
ỏ hơn
== <> <
L
ớn
hơn
>
Nh
ỏ hơn
ho
ặc bằng
<=
Lớn hơn
ho
ặc bằng
>=
Đúng
Sai

Ho
ặc
Ph


đ
ịnh
%T %F & | ~
M
ẹo
Hãy c
ẩn trọng với độ chính xác của phép tính. Các phép tính được thực hiện và
“==” đôi
khi s
ẽ cho kết quả sai (Xem Độ chính xác của phép tính, trang 30)
.
Đ
ể so sánh hai vecto (hoặc hai ma trận), phép kiểm tra
“==” và “<>” s
ẽ so sánh từng số hạng.
Ví d
ụ:
>X=[1,2,5]; Y=[5,3,5];
>X==Y
ans =
F F T
Đ
ể kiểm tra xem hai vecto có bằng nhau hay không, sử dụng
isequal
và ~
isequal
n
ếu chúng khác nhau:
>isequal(X,Y)

ans =
F
>~isequal(X,Y)
ans =
T
If…then
Các câu l
ệnh điều kiện cơ bản như sau:

if

then

else

end
,

if

then

elseif

then

else

end
.

if

then
ph
ải đ
ược nhập trên cùng một dòng và tương tự với
elseif

then
.

ớng dẫn sử dụng Scilab d
ành cho ngư
ời
m
ới
b
ắt đầu
-17/33
Ví d

: Alice tung ba cái xúc x
ắc
 N
ếu cả ba đều là mặt 6, cô bé sẽ được $20,

N
ếu cả ba đều lật mặt giống nhau nh
ưng không ph
ải là 6, cô bé được $10

,
 N
ếu có hai
xúc x
ắc
l
ật mặt giống nhau, cô bé được $5
,
 N
ếu không cô bé sẽ không được gì cả
.
Mô ph
ỏng một phép thử và tính số tiền Alice có được bằng các hàm:

grand
(xem trang 22),

unique(D)
ch
ỉ giữ một lần các giá trị xuất hiện vài lần trong
D
,

length(unique(D))
cho chi
ều
c
ủa vecto thu được, là 1 nếu ba
xúc x
ắc

l
ật mặt giống
nhau, là 2 n
ếu có
2 xúc x
ắc
gi
ống nhau.
Thu
ật toán
Thay ba giá trị vào D
L
ệnh If n
ếu Alice tung đư
ợc cả ba l
à
6, thì
Alice có 20 đô la.
N
ếu cô bé tung được ba giá trị giống
nhau, thì
Alice có 10 đô la
N
ếu cô bé tung được hai giá trị giống nhau
,
thì
Alice có 5 đô la
N
ếu không
Alice không đư

ợc đô la n
ào cả
K
ết thúc lệnh if
Hi
ển thị số tiền Alice có được
Trình so
ạn thảo Scilab
D=grand(1,3, “uin” ,1,6);
if D==[6,6,6] then
W=20;
elseif length(unique(D))==1 then
W=10;
elseif length (unique(D))==2 then
W=5;
else
W=0;
end
disp( Alice wins +
string(W)+ dollars )
Đ
ồ thị 2
D và 3D
L
ệnh
plot
đư
ợc sử dụng để tạo biểu đồ trên mặt phẳng. Màu sắc và dạng biểu đồ có thể được
xác đ
ịnh bằng cách chèn các dấu hiệu chỉ màu và kiểu

ch

đi
ểm trong
d
ấu ngoặc:
 Màu s
ắc
“b”
= xanh dương (m
ặc định
),
“k”
= đen,
“r”
= đ

,
“g”
= xanh lá cây,
“c”
= màu l
ục lam
,
“m”
= đ

tươi,
“y”
= vàng,

“w”
= tr
ắng
.
 Ki
ểu chỉ điểm
N
ối liền
(m
ặc định
), ho
ặc
“.”
,
“+”
,
“o”
,
“x”
,
“*”
.
Các l
ựa chọn khác
:
“s”
,
“d”
,
“v”

,

<”
,và
“>”
.

ớng dẫn sử dụng Scilab dành cho người
m
ới
b
ắt đầu
-18/33
Các bi
ểu đồ c
ơ bản
Để vẽ một điểm
V
ẽ điểm
A(1 ; 2) b
ằng một chấm đỏ
Trình so
ạn thảo Scilab
C
ửa sổ đồ
h
ọa
plot(1,2, “.r”)
Đ
ể vẽ

một đoạn thẳng
Vẽ đoạn thẳng [AB] màu xanh dương (mặc định) với A(1 ; 2) và B(3 ; 5).
Trình soạn thảo Scilab Cửa sổ đồ họa
plot([1,3],[2,5])
Biểu đồ gồm các đường cong trên mặt phẳng được xác định bằng hàm y=f(x)
Đối với hàm → ( ) các giá trị của x được xác định bằng lệnh
linspace
bằng cách nhập:
x=linspace(a,b,n);
trong đó
a
là giá trị nhỏ nhất của biến số ,
b
là giá trị cao nhất của biến số
, và
n
là s
ố những giá trị đ
ược tính giữa
a

b
.
Không đư
ợc quên
d
ấu

;
” n

ếu
không tất cả các giá trị n của sẽ được hiển thị.
Ví dụ, xét hai hàm và được xác định qua khoảng [-2 ; 5] bởi hàm:
= (
2
+ 2 ) e
- x
, và = sin ( )

ớng dẫn sử dụng Scilab dành cho người mới bắt
đ
ầu
-19/33
Với chương tr
ình d
ư
ới đây, ta vẽ đường cong xác định bởi ,m
ặc định m
àu xanh dương
:
Trình so
ạn thảo Scilab
C
ửa sổ đồ
h
ọa
function y=f(x)
y=(x^2+2*x)*exp(-x)
endfunction
x=linspace(-2,5,50);

plot(x,f)
B
ằng cách bổ sung thêm chương trình

ới đây, ta có biểu đồ
g
ồm hai đường cong, đường
f
màu đ

và đư
ờng
g
màu xanh lá cây. Bi
ểu đồ trước đó đã được xóa
b
ằng lệnh
clf
(“xóa bi
ểu đồ

).
Trình so
ạn thảo Scilab
C
ửa sổ đồ
h
ọa
function y=g(x)
y=sin(x/2)

endfunction
x=linspace(-2,5,50);
clf
plot(x,f, r ,x,g, g )
Biểu đồ chuỗi điểm
Các số hạng của một chuỗi
Trường hợp thường gặp nhất là vẽ các chuỗi điểm ( ,
( ) )
sau khi tính các tọa độ ( ) của vecto
.
plot(u, “*r”)
xác đ
ịnh dạng v
à màu sắc của các điểm trong dấu ngoặc
: màu đ
ỏ v
à chuỗi hình
sao. Theo m
ặc định
, các đi
ểm được vẽ bằng màu xanh dương và được nối liền.
Trình so
ạn thảo Scilab
C
ửa sổ đồ
h
ọa
for n=1:50
u(n)=(-0.8)^n;
end

clf; plot(u, “*r“)

ớng dẫn sử dụng Scilab dành cho người mới
b
ắt
đ
ầu
-20/33
Dữ liệu thống kê hai biến số
Dữ liệu thống kê hai biến số được cho dưới dạng hai vecto: gọi hai vecto này là X và Y.
plot(X,Y, “<”)
sẽ tạo biểu đồ phân tán của điểm (
i
;
i
) v
ới các h
ình tam giác màu xanh
dương.
Trình so
ạn thảo Scilab
C

a s
ổ đồ
h
ọa
X=[1,3,3,7,7,9,10];
Y=[8,7,5,5,4,2,2];
clf; plot(X,Y, “<”)

Bi
ểu đồ ba
chi
ều
Scilab có th
ể được sử dụng để vẽ các mặt phẳng và đường cong
trong không gian, cùng nhi
ều
tùy ch
ọn xử lý các mặt ẩn, m
àu s
ắc các mặt, các điểm quan sá
t được… Các ví dụ sau đây sẽ
minh họa cho biểu đồ 3-D
Hàm
surf
có thể dùng để vẽ các mặt phẳng. Hàm này có ba biến số đầu vào
x
,
y

z
.
x

y

các vecto lần lượt có độ lớn và tương ứng với các điểm trên các trục ( x) và ( y). z là ma tr
ận
có chiều ×

m
với thành tố z tương ứng với chiều cao của điểm với tọa độ trục X
i
và tọa độ trục
Y
j
.
Để vẽ một mặt phẳng xác định bằng hàm có dạng = ( , ), ta phải:
 Xác định hàm
 Tính
z=feval(x,y,f)'
feval(x,y,f)
cho ma trận × có
j
là ( , ) được đổi bằng cách sử dụng biểu tượng ngoặc đơn “ ' ”
 Chạy hàm
surf(x,y,z).
Để vẽ mặt phẳng = 2
2
+
2
(m
ặt parabol h
ình elip
):
Trình so
ạn thảo Scilab
C
ửa sổ đồ
h

ọa
function z=f(x,y)
z=2*x^2+y^2;
endfunction
x=linspace(-1,1,100);
y=linspace(-2,2,200);
z=feval(x,y,f)';
clf
surf(x,y,z)

ớng dẫn sử dụng Scilab dành cho người mới
b
ắt
đ
ầu
-21/33
Các đư
ờng cong trong không gian được vẽ bằng hàm
param3d
.
param3d
có ba đ
ối số
x
,
y

z
, mỗi vecto đều có cùng chiều và tương ứng với các điểm (
j

,
j
,
j
) trên đường cong.
Để vẽ đường trôn ốc bằng hàm ( = cos (
)
, = sin (
)
, = t):
:
Trình so
ạn thảo Scilab
C
ửa sổ đồ
h
ọa
t=linspace(0,4*%pi,100);
param3d(cos(t),sin(t),t)
Mô ph
ỏng và thống kê
Scilab có một số hàm để thực hiện các phép mô phỏng một cách nhanh chóng và hiệu quả:
Các chuỗi ngẫu nhiên

grand(1,p, uin ,m,n)
cho vecto bao gồm các chuỗi số nguyên ngẫu nhiên giữa

với là số nguyên dương, và là các số nguyên và ≤ .
>t= grand(1,4, uin ,1,6)
t =

3. 1. 3. 6.

grand(1,p, unf ,a,b)
cho vecto bao gồm các chuỗi số thực ngẫu nhiên giữa và
với là số nguyên dương, và là số thực và ≤ .
>tr= grand(1,2, unf ,-1,1)
tr =
- 0.7460264 0.9377355
Hướng dẫn sử dụng Scilab dành cho người mới bắt đầu -22/33
Th
ống kê
T
ất cả các hàm thống kê cơ bản được liệt kê tại trang 32
.
Đ
ặc biệt l
ưu ý
:
 Hàm
bar(x,n,color)
vẽ biểu đồ dạng cột:
Trình so
ạn thảo Scilab
C
ửa sổ đồ
h
ọa
x=[1:10];
n=[8,6,13,10,6,4,16,7,8,5];
clf; bar(x,n)


Đ
ối
v
ới biểu đồ dạng cột thể hiện hai khối cạnh nhau: xét chuỗi các giá trị X và hai
chu
ỗi các chữ số n1 và n2. Khi vẽ biểu đồ, n1 và n2 phải là các vecto cột và đó là lý
do vì sao chuy
ển vị
đư
ợc sử dụng trong ví dụ dưới đây:
Trình so
ạn thảo Scilab
C
ửa sổ đồ
h
ọa
X=[1,2,5];n1=[5,10,5];n2=[6,8,7];
bar(X,[n1',n2'])
Đ
ối số tuỳ chọn
color
xác đ
ịnh màu sắc như trong hàm
plot
.
Thông tin b
ổ sung về ma trận và vecto
Nhập các phần tử
D

ấu ngoặc vuông được dùng để xác định các ma trận. Ký tự trắng hoặc dấu phẩy được dùng để
chuy
ển từ cột này sang cột khác và dấu chấm phẩy được dùng để chuyển từ dòng này sang dòng
khác.
>m=[1 2 3;4 5 6]
m =
1. 2. 3.
4. 5. 6.
M
ẹo
L
ệnh
này có th

đư
ợc nhập dưới
dạng:
m=[1,2,3;4,5,6]
D
ấu ngoặc đ
ược dùng để nhập các phần tử hoặc sửa đổi chúng.

ớng dẫn sử dụng Scilab d
ành cho ngư
ời mới bắt đầu
-23/33
>m(2,3)
ans =
6.
>m(2,3)=23

m =
1. 2. 3.
4. 5. 23.
Toán tử “:” đư
ợc dùng để biểu thị tất cả các hàng hoặc tất cả các cột của một ma trận
.
Đ
ể xem hàng thứ hai của ma trận
m
, nh
ập
:
>m(2,:)
ans =
4. 5. 23.
Và hàng ba:
>m(:,3)
ans =
3.
23.
Đ
ể chuyển vị một ma trận hay một vecto sử dụng biểu t
ư
ợng dấu ngoặc đơn

'
” :
>m'
ans =
1. 4.

2. 5.
3. 23.
Các thao tác
Các thao tác “
*
” ,

/

là các thao tác trong ma tr
ận
. Đ
ể thực hiện các thao tác theo từng phần
t
ử, ta phải đặt dấu chấm trước dấu thao tác
:

.*
”, “
./
”.
>A=[1,2,3;4,5,6]
A =
1. 2. 3.
4. 5. 6.
>B=[1;1;2]

ớng dẫn sử dụng Scilab dành cho người mới bắt đầu
-24/33
B =

1.
1.
2.
>A*B
ans =
9.
21.
>A*A
error 10
Phép nhân không phù h
ợp.
>A.*A
Phép nhân trong ma tr
ận
Chi
ều không phù hợp
ans =
Phép nhân theo t
ừng phần tử
1. 4. 9.
16. 25. 36.
>2*(A+2)
ans =
6. 8. 10.
12. 14. 16.
Thao tác đư
ợc thực hiện trên từng
ph
ần tử vì 2 là một chữ số
>A/A

ans =
1.
3.795D-15
>A./A
1.518D-16
1.
Cho ma tr
ận
X trong đó X*A=A
K
ết quả chính xác là:
1. 0
0 1.
Đ
ể tính toán được chính xác, kết quả
có th
ể sẽ hơi khác biệt tuỳ thuộc vào
phiên b
ản Scilab v
à hệ điều hành (xem
Độ chính xác của phép tính, trang 29).
ans =
Cho ma trận chia thành từng phần tử.
1. 1. 1.
1. 1. 1.
Trong trư
ờng hợp vecto:
>C=1:4
C =
1. 2. 3. 4.

>C*C
error 10
Chi
ều không phù hợp
Phép nhân không phù hợp.

ớng dẫn sử dụng Scilab d
ành cho người mới bắt đầu
-25/33

×