Sử dụng các biến trong chuỗi văn bản

Một phần của tài liệu Tài liệu ứng dụng máy tính trong thiết kế ô tô (Trang 70)

Chương 3 Các công cụ tốn học thơng thường của Matlab

5.4.4.Sử dụng các biến trong chuỗi văn bản

5.4. Ghi chú trên đồ thị

5.4.4.Sử dụng các biến trong chuỗi văn bản

Tất cả các biến có dữ liệu dạng chuỗi đều có thể sử dụng thay cho chuỗi 'string' trong các câu lệnh. Ví dụ như chúng ta có dữ liệu ở dạng véc tơ cột các chuỗi văn bản sau:

PersonalData = ['Jack Straw ';'489 Main St.';'Wichita KN '];

Để hiển thị các dữ liệu này trên màn hình đồ hoạ ta thực hiện các câu lệnh: text(x1,y1,['Name: ',PersonalData(1,:)])

text(x2,y2,['Address: ',PersonalData(2,:)]) text(x3,y3,['City and State: ',PersonalData(3,:)])

Nếu biến chứa dữ liệu số, ta phải chuyển nó thành dữ liệu chuỗi ví dụ: x = 21;

text(xcoord,ycoord, ['Today is the ',num2str(x),'st day.']) sẽ in ra tại toạ độ (xcoord,ycoord) dòng chữ : 'Today is the 21st day.'

5.4.5. Quy định các thuộc tính của văn bản đồ hoạ

Để quy định vị trí, cách căn chỉnh, kích cỡ và kiểu font chữ của văn bản đồ hoạ đưa ra bởi các lệnh xlabel, ylabel, zlabel, text, title ..., chúng ta có thể gán thuộc tính cho các dịng văn bản đó ở dạng :

<câu lệnh>(...., 'Property Name',<property value>...).

ở đây:

<câu lệnh> là các câu lệnh viết chữ của Matlab (xlabel, text, title ...) 'Property Name' là tên thuộc tính (cần đặt bên trong dấu ' ')

<property value> là giá trị của thuộc tính có thể là chuỗi hoặc số nguyên, số thực ...

a, Các thuộc tính của văn bản

Bảng 5.1. Các thuộc tính của văn bản

Tên thuộc tính ý nghĩa giá trị

' FontName' Cho phép quy định kiểu font chữ

Tên font chữ (dạng chuỗi)

'Position' Quy định vị trí đặt chuỗi văn bản

toạ độ x và y (z) của điểm: [ x y (z)]

'Rotation' Góc xoay của dịng văn bản Số thực chỉ góc tính bằng độ

'VerticalAlignment' Quy định kiểu căn chỉnh theo phương thẳng đứng

'Top', 'Bottom', 'Middle'

'HorizontalAlignment '

Quy định kiểu căn chỉnh theo phương ngang

'FontSize' quy định cỡ chữ số nguyên

b, Xuất các ký tự đặc biệt

Trong các chuỗi của đối số của các hàm viết chữ trong chế độ đồ hoạ ta có thể đưa vào các ký tự điều khiển để xuất ra các chữ cái hy lạp, ký hiệu toán học, và kiểu font. Các mã điều khiển được đặt sau dấu '\' ví dụ:

Bảng 5.2. Các ký tự điều khiển dùng để xuất chữ cái hy lạp và biểu tượng

Chuỗi ký tự điều khiển Biểu tượng Chuỗi ký tự điều khiển Biểu tượng Chuỗi ký tự điều khiển Biểu tượng

\alpha \upsilon \sim ~

\beta \phi \leq (adsbygoogle = window.adsbygoogle || []).push({});

\gamma \chi \infty

\delta \psi \clubsuit

\epsilon \omega \diamondsuit

\zeta \Gamma \heartsuit

\eta \Delta \spadesuit

\theta \Theta \leftrightarro

w

\vartheta \Lambda \leftarrow

\iota \Xi \uparrow

\kappa \Pi \rightarrow

\lambda \Sigma \downarrow

\mu à \Upsilon \circ º

\nu \Phi \pm ±

\xi \Psi \geq

\pi \Omega \propto

\rho \forall \partial

\sigma \exists \bullet

\varsigma \ni \div

\tau \cong \neq

\equiv \approx \aleph

\Im \Re \wp

\otimes \oplus \oslash

\cap \cup \supseteq

\supset \subseteq \subset

\int \in \o

\rfloor \lceil \nabla

\lfloor \cdot ã \ldots ...

\perp \neg ơ \prime '

\wedge \times x \0

Chúng ta có thể điều khiển trực tiếp kiểu font chữ bằng các ký tự điều khiển: (adsbygoogle = window.adsbygoogle || []).push({});

\fontname Trong trường hợp này tên font chữ sẽ phải đặt trong dấu {}. kế tiếp phần điều khiển font chữ, chúng ta có thể thêm các mã điều khiển:

\bf - kiểu chữ đậm \it - kiểu chữ nghiêng \sl - oblique font

\rm - kiểu chữ bình thường

\fontsize{fontsize} - Định nghĩa cỡ chữ.

Các chỉ số trên và dưới được định nghĩa bằng các ký tự điều khiển "_" và "^"

5.4.6. các ví dụ

Để hiển thị ngày hiện thời trên tiêu đề của đồ thị ta dùng hàm: title(date)

Để đưa vào các chuỗi số ta dùng các lệnh sau: f = 70;

c = (f--32)/1.8;

title(['Temperature is ',num2str(c),'C'])

Include a variable's value in a title and set the color of the title to yellow: n = 3;

title(['Case number #',int2str(n)],'Color','y') Include Greek symbols in a title:

title('\ite^{\omega\tau} = cos(\omega\tau) + isin(\omega\tau)') Include a superscript character in a title:

title('\alpha^2')

Include a subscript character in a title: title('X_1')

Ví dụ : đưa vào các chuỗi ký tự đặc biệt t = -pi:pi/100:pi;

y = sin(t); plot(t,y)

axis([-pi pi -1 1])

xlabel('-\pi \leq \itt \leq \pi') ylabel('sin(t)')

title('Graph of the sine function')

text(1,-1/3,'\it{Note the odd symmetry.}') Đưa ra đồ thị như hình vẽ:

Hình 5.5. Giao diện đồ thị tổng quát trong Matlab

5.4.7. Các tuỳ chọn của lệnh plot

Trong lệnh plot ta có thể đưa vào các tuỳ chọn ở dạng: plot(...,'PropertyName',PropertyValue,...)

Trong đó 'PropertyName' là tên các thuộc tính,

PropertyValue là giá trị của thuộc tính mà ta muốn gán: Dưới đây là bảng liệt kê các thuộc tính của đồ thị:

Bảng 5.3. Các thuộc tính của đồ thị

Tên thuộc tính ý nghĩa kiểu giá trị

'LineWidth' điều khiển bề dầy của nét vẽ đồ thị số nguyên 'MarkerEdgeColor' Điều khiển màu của nét vẽ biểu tượng

đánh dấu điểm (adsbygoogle = window.adsbygoogle || []).push({});

các ký tự chỉ màu ví dụ:'g','y'...

'MarkerSize' Kích thước của biểu tượng đánh dấu điểm

số nguyên

'MarkerFaceColor' Điều khiển màu của biểu tượng đánh dấu điểm các ký tự chỉ màu ví dụ:'g','y'... Ví dụ: plot(x,sin(2*x),'-mo',... 'LineWidth',2,... 'MarkerEdgeColor','k',... 'MarkerFaceColor','r',... 'MarkerSize',12) 5.4.8. Các lệnh viết chữ khác

a, Lệnh gtext

Cú pháp: gtext('string') h = gtext('string') Mô tả

gtext sẽ hiển thị chuỗi văn bản tại vị trí chỉ định bằng chuột trên đồ thị

b, lệnh ginput

Nhập dữ liệu của các điểm bằng chuột Cú pháp

[x,y] = ginput(n) [x,y] = ginput Description

x,y] = ginput(n) Cho phép bạn chọn n điểm bằng chuột và trả kết quả là toạ

độ x và y của các điểm chọn cho các véc tơ x và y. Bnj có thể kết thúc việc chọn điểm ngay cả khi chưa nhập đủ n điểm bằng cách ấn Enter

x,y] = ginput Cho phép chọn số điểm không hạn chế.

5.5. Các đồ thị dạng lưới và bề mặt 5.5.1. Các hàm tạo bề mặt 5.5.1. Các hàm tạo bề mặt

Matlab định nghĩa một bề mặt lưới bởi các toạ độ Z trên lưới của mặt xy. Dùng các đường thẳng để nối các điểm kề nhau. Hàm mesh và surf hiển thị các bề mặt ở

dạng 3 chiều. Mesh cung cấp các bề mặt dạng khung dây trong đó chỉ thể hiện màu ở các đường nối. Surf hiển thị màu cả đường nối và bề mặt

5.5.2. Trực quan hóa các hàm hai biến

Để hiển thị hàm 2 biến z=f(x,y), hãy tạo các ma trận x và y chứa đựng các hàng và cột lặp. Sau đó sử dụng các ma trận này để tính ra đồ thị của hàm

Hàm meshgrid chuyển phạm vi được định nghĩa bằng một véc tơ hoặc hai véc tơ x, y thành các ma trận X, Y dùng để tính ra giá trị của hàm. Các hàng của X là các bản sao của véc tơ x, các cột của Y là copy của véc tơ y.

Cú pháp: [X,Y] = meshgrid(x,y) [X,Y] = meshgrid(x) [X,Y,Z] = meshgrid(x,y,z) Thí dụ: Hàm [X,Y] = meshgrid(1:3,10:14)

Tạo hai mảng x và y sau X = 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 Y = 10 10 10 11 11 11 12 12 12 13 13 13 14 14 14 Hàm Mesh Cú pháp mesh(X,Y,Z) Ví dụ: [X,Y] = meshgrid(-8:.5:8); R = sqrt(X.^2 + Y.^2) + eps; Z = sin(R)./R; mesh(X,Y,Z) Cho ra đồ thị như hình vẽ

Hình 5.6. Đồ thị trực quan hóa hàm 2 biến

5.6. In ấn đồ thị

Tuỳ chọn Print của mênu FILE và lệnh print đều dùng để in đồ thị. Tuỳ chọn Print sẽ gọi ra hộp thoại cho phép người dùng chọn các tuỳ chọn về in ấn giống như ở cacs phần mềm khác, còn lệnh print cung cấp chúng ta các khả năng mềm dẻo hơn và cho phép điều khiển việc in đồ thị từ m. file. Kết quả có thể gửi trực tiếp ra máy in hoặc được xếp xắp trong một tệp xác định. Các định dạng đầu ra hết sức khác nhau được cung cấp ở đây (kể cả PostScript)

Thí dụ: câu lệnh sau đây ghi hình ảnh của màn hình đồ hoạ ra tệp Postscript cấp 2 có tên là magicsquare.eps:

print -depsc2 magicsquare.eps

Một điều hết sức quan trọng là cần phải biết trước khả năng của máy in trước khi dùng lệnh print. Ví dụ như tệp Postscript cấp 2 thường là gọn hơn và tơ bóng nhanh hơn khi in so với tệp Postscript cấp 1. Tuy nhiên không phải tất cả các máy in đều có khả năng làm việc với tệp Postscript cấp 2.

CHƯƠNG 6: SIMULINK

6.1. Khái niệm về SIMULINK

Simulink là một phần mềm mở rộng của MATLAB (1 Toolbox của Matlab) (adsbygoogle = window.adsbygoogle || []).push({});

dùng để mơ hình hóa, mơ phỏng và phân tích một hệ thống động. Thơng thường dùng để thiết kế hệ thống điều khiển, thiết kế DSP, hệ thống thông tin và các ứng dụng mô phỏng khác.

Simulink là thuật ngữ mô phỏng được ghép bởi hai từ Simulation và Link. Simulink cho phép mô tả hệ thống tuyến tính, hệ phi tuyến, các mơ hình trong miền thời gian liên tục, hay gián đoạn hoặc một hệ gồm cả liên tục và gián đoạn.

Để mơ hình hóa, Simulink cung cấp cho bạn một giao diện đồ họa để sử dụng và xây dựng mơ hình sử dụng thao tác “nhấn và kéo” chuột. Với giao diện đồ họa, ta có thể xây dựng mơ hình và khảo sát mơ hình một cách trực quan hơn. Đây là sự khác xa các phần mềm trước đó mà người sử dụng phải đưa vào các phương trình vi phân và các phương trình sai phân bằng một ngơn ngữ lập trình.

Điểm nhấn mạnh quan trọng trong việc mơ phỏng một q trình là việc thành lập được mơ hình. Để sử dụng tốt chương trình này, người sử dụng phải có kiến thức cơ bản về điều khiển, xây dựng mơ hình tốn học theo quan điểm của lý thuyết điều khiển và từ đó thành lập nên mơ hình của bài tốn.

6.2. Tìm hiểu về SIMULINK và các BLOCKS LIBRARY.

6.2.1. Cách khởi tạo Simulink và vẽ sơ đồ mô phỏng

Để vào Simulink trong Matlab, dùng biểu tượng trên thanh công cụ hoặc ta từ cửa sổ lệnh của Matlab đánh dòng lệnh:

>> simulink 

Khi khởi động Simulink xong ta được màn hình cửa sổ Simulink. Cửa sổ này hoạt động liên kết với cửa sổ lệnh Matlab.

Ta thấy cửa sổ Simulink có nhiều khối chức năng (blocks library), trong đó có nhiều khối chức năng cụ thể.

Hình 6.1. Cách vào toolbox SIMULINK trong Matlab

Từ cửa sổ lệnh ta thấy được các khối thư viện: Khối nguồn (Sources), khối đầu đo (Sinks), khối phi tuyến (nonlinear), khối tuyến tính (Contunous), khối đầu nối (Signal Routing)…

Hình 6.2. Màn hình cửa sổ thư viện SIMULINK

Thư viện của Simulink bao gồm các khối chuẩn trên, người sử dụng cũng có thể thay đổi hay tạo ra các khối cho riêng mình. Simulink cũng giống như các phần mềm mô phỏng thiết kế mạch điện tử như: MicroSim Eval, EWB…

Để vẽ sơ đồ mơ phỏng cũng như xây dựng mơ hình như thế nào. Việc xây dựng mơ hình và các thao tác để xây dựng mơ hình. Ta thử thiết kế mơ phỏng ví dụ sau (hình 6.7) để biết được việc vẽ và mô phỏng sơ đồ:

Để vẽ được mơ hình này, ta phải làm các thao tác sau:

1.Từ cửa sổ Matlab đánh lệnh simulink. Cửa sổ thư viện các khối xuất hiện. 2.Từ cửa sổ thư viện, nhấp chuột chọn File/New/Model hoặc bấm tổ hợp phím Ctrl+ N. Màn hình cửa sổ mơ hình mới Untitled được mở ra(hình 6.2). Từ đó bắt đầu

xây dựng mơ hình

3 . Chọn các blocks ở các thư viện thích hợp:

Hình 6.3. Mơ hình phân tích sóng hình sin

Hình 6.4. Chọn vẽ một Model (Scheme) mới

Trong sơ đồ này, chọn các khối từ các thư viện:

+ Thư viện các nguồn tín hiệu (Sources): Chọn Sin wave + Thư viện các khối nhận tín hiệu (Sinks): Chọn Scope

+ Thư viện các hàm tuyến tính (Continuous): Chọn Intergrator. + Thư viện các đầu nối (Signal Routing): Chọn Mux.

Để chọn một thư viện trong Simulink ta nhấp kép vào khối (Icon) đó. Simulink sẽ hiển thị một cửa sổ chứa tất cả các khối của thư viện đó. Trong thư viện nguồn tín hiệu chứa tất cả cả khối đều là nguồn tín hiệu. Thư viện nguồn tín hiệu được trình bày như ở hình 6.5. (adsbygoogle = window.adsbygoogle || []).push({});

Người sử dụng thêm vào sơ đồ của mình bằng cách ghép khối đó từ thư viện hay từ mơ hình bất kỳ nào khác. Trong ví dụ này ta chọn khối phát sóng hình sin. Đặt con trỏ chuột, ấn và giữa phím trái chuột, kéo khối tới cửa sổ vẽ sơ đồ Untitled.

Khi di chuyển khối ta có thể thấy khối và tên của nó di chuyển cùng với con trỏ chuột.

Hình 6.5. Cửa sổ thư viện phần nguồn tín hiệu. (SOURCES)

Hình 6.6. Khối và tên di chuyển cùng khối

Khi con trỏ chuột di chuyển tới nơi bạn cần đặt khối trong sơ đồ bằng cách nhả phím chuột, một bản copy của khối đã ở trong màn hình mơ phỏng. Khi ta không vừa ý chỗ đặt, ta có thể di chuyển khối bằng cách như trên. Theo cách này, chép những khối còn lại vào trong màn hình mơ phỏng để tiếp tục xây dựng sơ đồ. Muốn copy tiếp một khối Sin nữa trong một sơ đồ, ta làm bằng cách giữ phím Ctrl + phím trái chuột và di

chuyển tới điểm cần đặt khối, lúc đó một khối đã được copy. Với tất cả các khối đã chép vào cửa sổ màn hình mơ phỏng sẽ được hiển thị như trên hình 6.7.

Nếu xem kỹ từng khối, chúng ta thấy dấ > ở bên phải của khối là dấu đầu nối dành cho ngõ ra của tín hiệu, cịn dấy > ở bên trái là dấu đầu nối dành cho ngõ vào. Tín hiệu đi từ đầu ra của một khối tới đầu vào của khối khác theo một đường nối giữ hai khối. Khi một khối đã được nối thì biểu tượng > cũng mất đi.

Hình 6.7. Cửa sổ sơ đồ với các khối đã được copy

Hình 6.8. Đầu vào ra của một khối

Từ hình 6.11 ta thấy khối Mux có ba cổng vào nhưng ta cần có hai cổng nên ta phải thay đổi thơng số của Mux bằng cách nhấp kép lên khối Mux và thay đổi giá trị thông số “Number of Input” là 2 (hình 6.9). Sau đó nhấn phím Apply và đóng cửa sổ Mux. Simulink sẽ điều chỉnh số cổng vào theo giá trị đã nhập.

Hình 6.9. Cửa sổ thơng số khối Mux

INPUT PORT OUTPUT

Bây giờ ta có thể nối các khối lại với nhau. Đầu tiên hãy nối đầu ra khối phát Sin tín hiệu tới đầu vào trên khối Mux. Công việc thực hiện nối các khối, nói chung khơng theo thứ tự bắt buộc nào cả. Công việc thực hiện nối các sơ đồ cũng giống như các phần mềm thiết kế điện tử nào đó là đặt con trỏ chuột tại đầu nối (ra) của khối này (con trỏ chuột biến thành dấu cộng), giữ trỏ chuột và kéo tới đầu nối (vào) của khối khác. Trong quá trình nối, đường nối có hình nét đứt và con trỏ sẽ thay đổi thành dấu cộng kép khi lại gần khối cần nối.

Hình 6.10. Cửa sổ mơ hình trước khi nối

Hình 6.11. Cửa sổ mơ hình khi đang nối dây

Ta có thể nối bằng cách nhả phím chuột khi con trỏ ở bên trong khối. Khi đó đường nối sẽ nối vào cổng ở gần vị trí con trỏ nhất.

Phần lớn các đường nối đi từ đầu ra của một khối tới đầu vào của một khối khác. Có đường nối từ một đường nào đó đi tới đầu vào của một khối ta gọi đó là đường rẽ nhánh.

Việc vẽ đường rẽ nhánh có sự khác biệt so với vẽ đường nối chính. Để vẽ được rẽ nhánh ta thực hiện như sau:

1. Đặt con trỏ vào điểm cần vẽ đường rẽ nhánh.

Hình 6.13. Con trỏ đặt vào điểm cần rẽ nhánh

2. Ấn phím Ctrl + giữ trái chuột, kéo con trỏ chuột tới đầu vào của khối

3. Nhả chuột, Simulink sẽ vẽ một đường từ điểm bắt đầu tới cổng vào của khối. Tuy nhiên chúng ra cũng có thể nối dây từ đầu vào (đầu ra) của một khối tới đường nối chính mà khơng cần giữ phím Ctrl. Nhưng việc nối dây sẽ bất tiện do mối nối hình thành khơng theo ý muốn hoặc không nối được.

Hình 6.14. Một đoạn dây khơng như ý

Tuy nhiên trong q trình nối dây, có thể có những đường nối khơng như ý ta muốn, ta có thể bỏ đi hoặc sửa lại bằng cách nhấp chuột vào đoạn dây đó, sau đó nhấn phim Delete hoặc di chuyển đoạn dây để sửa lại. (adsbygoogle = window.adsbygoogle || []).push({});

Hình 6.15. Một đoạn dây đã được chọn

Hình 6.16. Cửa sổ mơ hình đã được vẽ xong

Bây giờ ta mở khối Scope để hiển thị tín hiệu ra và chạy mô phỏng trong 10s.

Đầu tiên ta phải đặt thông số mô phỏng bằng lệnh Parameter trong menu Simulation. Đặt thời gian mơ phỏng (Stop time) là 10.0. Sau đó nhấn vào Apply để Simulink áp dụng các thơng số do ta đặ và đóng hộp hội thoại bàng cách nhấn vào Close

Một phần của tài liệu Tài liệu ứng dụng máy tính trong thiết kế ô tô (Trang 70)