متلب
صفحات وبلاگ
نویسنده: پ متلب - شنبه ۱٩ فروردین ،۱۳٩۱

آموزش متلب mfile

آنچه که قبل از یادگیری HTML لازم است بدانید: برای شروع کار با HTML شما به چیزهایی نیاز دارید که در لیست زیر آمده است: ۱٫ شما به یک ویرایشگر متن نیاز دارید.

در ویندوز شما می توانید از برنامه Notepad استفاده کنید.

از هر نرم افزار ویرایش متن دیگری استفاده کنید اما این نکته را در نظر داشته باشید که نرم افزار WordPad که در ویندوز وجود دارد و نرم افزارهایی مانند Microsoft Office Word و امثال آن برای نوشتن کدهای HTML مناسب نیستند چون در هنگام ذخیره کردن متن این نرم افزارها کدهایی را به آن اضافه می کنند.
نرم افزار Notepad را می توانید از طریق منوی استارت در قسمت Accessories پیدا کنید یا از طریق فرمان Run با تایپ notepad در کادر Open و فشار دادن دکمه Enter.
2.

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

می توانید از Microsoft Internet Explorer استفاده کنید که با ویندوز نصب می شود یا از Opera, Mozilla Firefox و نرم افزارهای مشابه که اغلب به صورت رایگان برای دانلود در اینترنت وجود دارند.
بهتر است صفحاتی را که می نویسید با چند مرورگر آزمایش کنید.

زیرا در HTML قسمتهایی وجود دارد که مختص به یک مرورگر خاص است و با سایر مرورگرها کار نمی کند.
۳٫ شما به جایی برای ذخیره کردن متن خود دارید که می تواند جایی روی هارد دیسک شما، یک فلاپی دیسک یا یک سرور باشد.

البته شما برای استفاده از HTML نیاز ندارید حتماً به اینترنت متصل باشید، شما می توانید با استفاده از یک مرورگر وب در کامپیوتر خود از HTML استفاده کنید.
برای ذخیره کردن فایلی که با Notepad نوشته اید کافی است از منوی File گزینه Save As را انتخاب کرده و مسیری را برای ذخیره فایل انتخاب کنید و در کادر File Name در پایین پنجره Save As نام فایل را با پسوند html بنویسید.

در آخر هم دکمه Save را کلیک کنید.
نویسنده: پ متلب - جمعه ۱۸ فروردین ،۱۳٩۱

MATLAB Function (*.m files) Editing, Executing and Displaying Help


MATLAB functions are just script files and must have the MATLAB extension "m", such as "circle.m".

  • Editing MATLAB Function Files: Modifying or creating or saving MATLAB script function files, whether on PCs/Macs or Unix/Linux workstations, are edited the same way you normally edit files on those platforms:
    1. PCs/Macs: To create a new function run you favorite Edit application, select a "New" file, type in your MATLAB commands for the function, and "Save As" file name [function].m when finished. If the function script file already exists, that start with "OPEN File" instead.
    2. Unix/Linux workstations: To create a new script function or to modify an existing one type in the command of your favorite editor like vi, emacs or other with the name [function].m as argument, type in your MATLAB commands for the function, and save when finished. Editing can also be done on the Unix/Linux MATLAB command line using the bang escape "!", for example

       

      >> !vi [function].m 
      but "!emacs" can also be used, yet beware of carpel tunnel syndrome.

    Hint: Square brackets are used here to denote general items for the user as to type in actual names when actually used in MATLAB, such as "[function]", but in MATLAB square brackets are also used for marking arrays that are being initialized on assignment.

    Hints : The percent sign "%" marks the beginning of a comment, so if a "%" appears in a line (except as a format specifier in a "fprintf" or "sprintf" argument, its other purpose), the rest of the line to the right is a comment, but the first set of lines marked at the beginning of the line before any MATLAB commands are Header lines that are listed when you use the MATLAB "help" command:

     

    >> help [function] 
    for the script file [function].m, whether user or MATLAB built-in function. Also, the header lines are also search for keywords by the MATLAB "lookfor" command, e.g.,

     

    >> lookfor [keyword] 

    Hints: The semicolon ";" at the end of a MATLAB command line suppressed MATLAB output for that command, but semicolon are also used for separating rows in array initialization forms.

  • Executing an Existing Function Files: In MATLAB, type the name of the function without the ".m" extension on the command line, for example for circle.m, type

     

    >> circle 
  • Displaying MATLAB Function Script File Content In MATLAB: On the MATLAB command line use the "type" command with the ".m" extension, for example,

     

    >> type circle.m 
  • Sample MATLAB Function Script File: The simple example "circle.m should plot a unit circle when executed:

     

    % Circle - Script file to draw unit circle % modified from "Getting Started with MATLAB" by Rudra Pratap 9/14/94 format compact % tightens loose format format long e % makes numerical output in double precision theta = linspace(0,2*pi,100); % create vector theta x = cos(theta); % generate x-coordinate y = sin(theta); % generate y-coordinate plot(x,y); % plot circle axis('equal'); % set equal scale on axes per pixel title('Circle of unit radius') % put title c=2*pi % prints out 2*pi value disp('end circle.m') % prints out literal string. % End Circle
    

Web Source: http://www.math.uic.edu/~hanson/MATLAB/MATLABfunctions.html

Email Comments or Questions to hanson@uic.edu

نویسنده: پ متلب - جمعه ۱۸ فروردین ،۱۳٩۱

آموزش Matlab فارسی و رایگان

در نرم افزار آموزش Matlab موجود در سایت www.learninweb.comبا مباحث زیر آشنا میشوید:

 

فصل اول : آشنایی با نرم افزار Matlab
اجرای برنامه
اجزای مختلف برنامه
تغییر محیط برنامه
بررسی منوها

فصل دوم : ماتریس ها، آرایه ها و توابع در Matlab
روش تعریف ماتریس
انجام عملیات بر روی ماتریسها
عملگرهای MATLAB
بررسی توابع MATLAB

فصل سوم : کار با فایلهای M
ایجاد فایل M
اجرای فایل M
ذخیره مقدار متغیر در فایل Mat
بررسی فایلهای Function
بررسی فایلهای script

فصل چهارم : کار با اعداد و ساختارها در Matlab
نحوه نمایش اعداد
تعریف ساختار
حذف و اضافه فیلد

فصل پنجم : رسم نمودارها در Matlab
مقدمه
رسم نمودار اعداد مختلط
بررسی خصوصیات دستور Text
افزودن راهنما به نمودار
نمایش چند نمودار یک پنجره
روش رسم نمودارهای قطبی

فصل ششم : رسم نمودارهای سه بعدی و گراف در Matlab
دستور Plot3
نمودار میله ای (Bar)
رسم نمودار دایره ای (Pie)
نمودارهای Histogram

فصل هفتم : کار با جعبه ابزار Symbolic Math در Matlab
مقدمه
مشتق
ژاکوپین
حد و انتگرال
مجموع
راهنمای جعبه ابزار سمبلیک
روش حل معادلات جبری
روش حل معادلات دیفرانسیل
تبدیل فوریه و معکوس آن
تبدیل لاپلاس و معکوس آن
تبدیل Z و معکوس آن
روش رسم نمودار

فصل هشتم : برنامه نویسی در فایلهای M در Matlab
مقدمه
عملگرها
ساختار For
ساختار While
ساختار If
ساختار Switch

و چندین نکته آموزشی دیگر در Matlab7 

http://www.learninweb.com/product_detail.php?uid=47

 
نویسنده: پ متلب - جمعه ۱۸ فروردین ،۱۳٩۱

Contents

Introduction

  1. Accessing MATLAB
  2. Entering matrices
  3. Matrix operations, array operations
  4. Statements, expressions, variables; saving a session
  5. Matrix building functions
  6. For, while, if --- and relations
  7. Scalar functions
  8. Vector functions
  9. Matrix functions
  10. Command line editing and recall
  11. Submatrices and colon notation
  12. M-files
  13. Text strings, error messages, input
  14. Managing M-files
  15. Comparing efficiency of algorithms: flops and etime
  16. Output format
  17. Hard copy
  18. Graphics
  19. Reference

 

1. Accessing MATLAB

On most systems, after logging in one can enter MATLAB with the system command matlab and exit MATLAB with the command exit or quit. On a PC, for example, if properly installed, one may enter MATLAB with the command:

C> matlab

and exit it with the command:

>> quit

On systems permitting multiple processes, such as a Unix system, you will find it convenient, for reasons discussed in section 14, to keep both MATLAB and your local editor active. If you are working on a workstation which runs processes in multiple windows, you will want to keep MATLAB active in one window and your local editor active in another. You should consult your instructor or your local computer center for details of the local installation.

2. Entering matrices

MATLAB works with essentially only one kind of object---a rectangular numerical matrix with possibly complex entries; all variables represent matrices. In some situations, 1-by-1 matrices are interpreted as scalars and matrices with only one row or one column are interpreted as vectors.

Matrices can be introduced into MATLAB in several different ways:

  • Entered by an explicit list of elements,
  • Generated by built-in statements and functions,
  • Created in M-files (see sections 12 and 14 below),
  • Loaded from external data files (see User's Guide).

For example, either of the statements

A = [1 2 3; 4 5 6; 7 8 9]

and

A = [
1 2 3
4 5 6
7 8 9 ]

creates the obvious 3-by-3 matrix and assigns it to a variable A. Try it. The elements within a row of a matrix may be separated by commas as well as a blank.

When listing a number in exponential form (e.g. 2.34e-9), blank spaces must be avoided. Listing entries of a large matrix is best done in an M-file, where errors can be easily edited away (see sections 12 and 14).

The built-in functions rand, magic, and hilb, for example, provide an easy way to create matrices with which to experiment. The command rand(n) will create an n x n matrix with randomly generated entries distributed uniformly between 0 and 1, while rand(m,n) will create an m x n one. magic(n) will create an integral n x n matrix which is a magic square (rows and columns have common sum); hilb(n) will create the n x n Hilbert matrix, the king of ill-conditioned matrices (m and n denote, of course, positive integers). Matrices can also be generated with a for-loop (see section 6 below).

Individual matrix and vector entries can be referenced with indices inside parentheses in the usual manner. For example, A(2,3) denotes the entry in the second row, third column of matrix A and x(3) denotes the third coordinate of vector x. Try it. A matrix or a vector will only accept positive integers as indices.

3. Matrix operations, array operations

The following matrix operations are available in MATLAB: 

+ addition
- subtraction
* multiplication
^ power
' transpose
\ left division
/ right division

These matrix operations apply, of course, to scalars (1-by-1 matrices) as well. If the sizes of the matrices are incompatible for the matrix operation, an error message will result, except in the case of scalar-matrix operations (for addition, subtraction, and division as well as for multiplication) in which case each entry of the matrix is operated on by the scalar.

The "matrix division" operations deserve special comment. If A is an invertible square matrix and b is a compatible column, resp. row, vector, then

x = A \ b is the solution of A * x = b and, resp.,
x = b / A is the solution of x * A = b.

In left division, if A is square, then it is factored using Gaussian elimination and these factors are used to solve A * x = b. If A is not square, it is factored using Householder orthogonalization with column pivoting and the factors are used to solve the under- or over-determined system in the least squares sense. Right division is defined in terms of left division by b / A = (A' \ b')'.

Array operations. The matrix operations of addition and subtraction already operate entry-wise but the other matrix operations given above do not---they are matrix operations. It is important to observe that these other operations, *, ^, \, and /, can be made to operate entry-wise by preceding them by a period. For example, either [1,2,3,4].*[1,2,3,4] or [1,2,3,4].\^2 will yield [1,4,9,16]. Try it. This is particularly useful when using Matlab graphics.

4. Statements, expressions, and variables; saving a session

MATLAB is an expressionlanguage; the expressions you type are interpreted and evaluated. MATLAB statements are usually of the form

variable = expression, or simply
expression

Expressions are usually composed from operators, functions, and variable names. Evaluation of the expression produces a matrix, which is then displayed on the screen and assigned to the variable for future use. If the variable name and = sign are omitted, a variable ans(for answer) is automatically created to which the result is assigned.

A statement is normally terminated with the carriage return. However, a statement can be continued to the next line with three or more periods followed by a carriage return. On the other hand, several statements can be placed on a single line if separated by commas or semicolons.

If the last character of a statement is a semicolon, the printing is suppressed, but the assignment is carried out. This is essential in suppressing unwanted printing of intermediate results.

MATLAB is case-sensitive in the names of commands, functions, and variables. For example, solveUT is not the same as solveut.

The command who will list the variables currently in the workspace. A variable can be cleared from the workspace with the command clear variablename. The command clear alone will clear all nonpermanent variables.

The permanent variable eps (epsilon) gives the machine precision---about 10^(-16) on most machines. It is useful in determining tolerences for convergence of iterative processes.

A runaway display or computation can be stopped on most machines without leaving MATLAB with CTRL-C (CTRL-BREAK on a PC).

Saving a session. When one logs out or exits MATLAB all variables are lost. However, invoking the command save before exiting causes all variables to be written to a non-human-readable diskfile named matlab.mat. When one later reenters MATLAB, the command load will restore the workspace to its former state.

5. Matrix building functions

Convenient matrix building functions are 

eye identity matrix
zeros matrix of zeros
ones matrix of ones
diag see below
triu upper triangular part of a matrix
tril lower triangular part of a matrix
rand randomly generated matrix
hilb Hilbert matrix
magic magic square
toeplitz see help toeplitz

For example, zeros(m,n) produces an m-by-n matrix of zeros and zeros(n) produces an n-by-n one; if A is a matrix, then zeros(A) produces a matrix of zeros of the same size as A.

If x is a vector, diag(x) is the diagonal matrix with x down the diagonal; if A is a square matrix, then diag(A) is a vector consisting of the diagonal of A. What is diag(diag(A))? Try it.

Matrices can be built from blocks. For example, if A is a 3-by-3 matrix, then

B = [A, zeros(3,2); zeros(2,3), eye(2)]

will build a certain 5-by-5 matrix. Try it.

6. For, while, if --- and relations

In their basic forms, these MATLAB flow control statements operate like those in most computer languages.

For. For example, for a given n, the statement

x = []; for i = 1:n, x=[x,i^2], end

or

x = [];
for i = 1:n
x = [x,i^2]
end

will produce a certain n-vector and the statement

x = []; for i = n:-1:1, x=[x,i^2], end

will produce the same vector in reverse order. Try them. Note that a matrix may be empty (such as x = []). The statements

for i = 1:m
for j = 1:n
H(i, j) = 1/(i+j-1);
end
end
H

will produce and print to the screen the m-by-n hilbert matrix. The semicolon on the inner statement suppresses printing of unwanted intermediate results while the last Hdisplays the final result.

While. The general form of a while loop is

while relation
statements
end

The statements will be repeatedly executed as long as the relation remains true. For example, for a given number a, the following will compute and display the smallest nonnegative integer n such that 2^n>= a:

n = 0;
while 2^n < a
n = n + 1;
end
n

If. The general form of a simple ifstatement is

if relation
statements
end

The statements will be executed only if the relation is true. Multiple branching is also possible, as is illustrated by

if n < 0
parity = 0;
elseif rem(n,2) == 0
parity = 2;
else
parity = 1;
end

In two-way branching the elseif portion would, of course, be omitted.

Relations. The relational operators in MATLAB are 

< less than
> greater than
<= less than or equal
>= greater than or equal
== equal
~= not equal.

Note that "=" is used in an assignment statement while "==" is used in a relation. Relations may be connected or quantified by the logical operators 

& and
| or
~ not.

When applied to scalars, a relation is actually the scalar 1 or 0 depending on whether the relation is true or false. Try 3 < 5, 3 > 5, 3 == 5, and 3 == 3. When applied to matrices of the same size, a relation is a matrix of 0's and 1's giving the value of the relation between corresponding entries. Try a = rand(5), b = triu(a), a == b.

A relation between matrices is interpreted by while and if to be true if each entry of the relation matrix is nonzero. Hence, if you wish to execute statement when matrices A and B are equal you could type

if A == B
statement
end

but if you wish to execute statement when A and Bare not equal, you would type

if any(any(A ~= B))
statement
end

or, more simply,

if A == B else
statement
end

Note that the seemingly obvious

if A ~= B, statement, end

will not give what is intended since statement would execute only if each of the corresponding entries of A and B differ. The functions any and all can be creatively used to reduce matrix relations to vectors or scalars. Two any's are required above since anyis a vector operator (see section 8).

The for statement permits any matrix to be used instead of 1:n. See the User's Guide for details of how this feature expands the power of the for statement.

7. Scalar functions

Certain MATLAB functions operate essentially on scalars, but operate element-wise when applied to a matrix. The most common such functions are 

sin asin exp abs round
cos acos log (natural log) sqrt floor
tan atan rem (remainder) sign ceil

8. Vector functions

Other MATLAB functions operate essentially on a vector (row or column), but act on an m-by-n matrix (m >= 2) in a column-by-column fashion to produce a row vector containing the results of their application to each column. Row-by-row action can be obtained by using the transpose; for example, mean(A')'. A few of these functions are 

max sum median any
min prod mean all
sort   std

For example, the maximum entry in a matrix A is given by max(max(A)) rather than max(A). Try it


ادامه مطلب ...
نویسنده: پ متلب - جمعه ۱۸ فروردین ،۱۳٩۱

ترسیم دوبعدی

 

  در متلب ابزار کاملی برای ترسیم نمودارهای مختلف وجود دارد.

 

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

 

فراوانی می باشد.

 

 

Plot   رسم دوبعدی

 

   یکی از ابزارهای رسم نمودار توابع دوبعدی این دستور می باشد

 

 که نحوه ترسی آن دقیقاً مانند ترسیم دستی نمودار که خـــودمان

 

انجام می دهیم بدینگونه که در بازه خاصی x را معرفی می کـــنیم

 

وy متناظر هر کدام را بدست آورده و در پایان براساس اعـــــــــــداد

 

محاسبه شده نقاط مربوطه پیدا شده و نــــقاط به هم وصـــــــــل

 

 می شود. طبیعتاً هر چقدر فاصله نقاط کمتر باشد دقت ترسیم

 

 بهتر می شود.

 

به مثال زیر توجه کنید:

 

>>x=-pi:pi/4:pi;

>>y=sin(x);

>>plot(x,y)

   

 

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

 

 حال دقت ترسیم را افزایش می دهیم:

 

                                                                                  

>>x=-pi:pi/10:pi;{enter}

>>y=sin(x);

>>plot(x,y)

 

 

 

در دستورات بالا در خط ول یک بازه به تعداد مشخص تقســیم می

 

 کنیم(xها را معرفی می کنیم) پس از آن در خط دوم مقــــدار y را

 

برای هرکدام ازxها پیدا می کنیم و در پایان در خط سوم نقاط پیاده

 

 شده و به هم وصل می شود.

 

  حال اگر بخواهیم دو نمودار cos,sin را کنار هـــــم رسم کنـــــیم،

 

کافیست در دستورplot مقدار محاسبه شده بـــرای cos را نیز قرار

 

دهیم.

 

این کار بدینگونه است، هر ترسیمی را که افزایـــش می دهیم، در

 

 دستورplot دقیقاً مانند دستور ترسیم یک نمودار پارامترها را پشت

 

 سر دستور آن می افزاییم به گونه ای که هـــــر جفت پارامتر برای

 

 کدام یک از ترسیمات پشت سرهم قرار گیرد.

 

باز اگر بخواهیم ترسیم دیگری اضافه کنیم مثــــل روش بالا اضافه

 

می کنیم.

>>x=-pi:pi/10:pi;

>>y=sin(x);

>>z=cos(x);

>>plot(x,y,z)

 

 

 

لطفاً به آخرین سطر دستورات توجه فرمایید.

 

حال اگر بخواهیم ترسیمات را با رنگ و یا... خاصی انــــجام دهیم

 

بدینگونه پیش می رویم.

 

برای معرفی رنگ در ترسیم از حروفات کلیدی استــفاده می شود

 

 که داخل کوتیشن در دسترplot نوشته می شود.

 

به مثال زیر توجه کنید:

plot(x,y,'r')

 

این دستور ترسیم را با رنگ قرمز انجام می دهد و به نوع ترسیم

 

 کاری ندارد.

plot(x,y,'^')

 

این دستور به رنگ کـــــــــاری ندارد و فقط نقاط را با مثلث نمایش

 

می دهد.

plot(x,y,':')

 

این دستور فقط ترسیم را به صورت خط چین انجام می دهد.

 

 

هرکدام از سه حرف کلیدی بالا از گروه خاصی هستند که می توان

 

آنها را باهم ترکیب نمود.

(:^x,y,'r)plot

 

در این دستور سه حرف کلیدی بالا با هم ترکیب شده است.

 

 

حرف اول رنگ (قرمز)... حرف دوم علامت(مثلث) و حرف سوم نوع

 

خط(نقطه چین) را تعیین می کند.

 

حروفات رنگ درplot                             حروفات ترسیم

b آبی                                               -  خط صاف

g سبز                                              :  نقطه چین

r قرمز                                               .-  خط نقطه

c فیروزه ای                                        --  خط چین

m بنفش                                           (خالی) بدون ترسیم خط

y زرد

k مشکی

 

حروفات نمایش نقطه

 

.       نقطه

O      دایره

X      ضربدر

+      علامت اضافه

*      ستاره

       sمربع

d      لوزی

^     مثلث(به طرف بالا)

      vمثلث(به طرف پایین)

     >مثلث(به طرف چپ)

     Pستاره پنج راسی  

     h ستاره شش راسی

 

گفتیم که می توان همه این حروفات را باهم ترکیب کرد بدینگونه که

 

('ترسیم,نقطه,رنگ') حال ترسیم بالایی را با تنظیمات جدیدانــــجام

 

می دهیم.

 

>>x=-pi:pi/10:pi;

>>y=sin(x);

>>z=cos(x);

>>plot(x,y,'b:d',x,z,'rp-.')

 

 

 

در خط آخر فرمان مربوط به ترسیم و تنظیمات را می بینیـــــم که

 

 تنظیمات مربوط به هر کدام از ترسیم بلافاصله پس از پارامتــرها

 

 می آید.

 

در خط آخر دستور مقبل را می بینیم:

 

 

>>plot(x,y,'b:d',x,z,'rp-.')

پس از تعیین پارامترها (x,y) بلافاصله تنظیمات آن آماده اســت که

 

'b:d' می باشد که رنگ آن b آبی و نوع ترسیم آن :نقطـــه چین و

 

نشان نقطه آن d لوزی است... و ترسیم دوم که پارامترهـــــای آن

 

(x,z) و تنظیمات آن با رنگ قرمزr قرمز و نوع خط .- خط نقـــــطه و

 

 نقطه p  ستاره پنج راسی است.

 

در خط آخر دستور مقبل را می بینیم:

 

>>plot(x,y,'b:d',x,z,'rp-.')

 

پس از تعیین پارامترها (x,y) بلافاصله تنظیمات آن آماده اســـــت

 

که'b:d' می باشد که رنگ آن b آبی و نوع ترسیم آن :نقطه چیـن

 

 و نشان نقطه آن d لوزی است... و ترسیم دوم که پارامترهـــای

 

آن(x,z) و تنظیمات آن با رنگ قرمزr قرمز و نوع خط .- خط نقــطه و

 

نقطه p ستاره پنج راسی است.

 

تنظیمات صفحه رسم

 

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

 

و توضیحات خاصی ارائه کنیم. این توضیحات ممکن اســــــــت نام

 

 ترسیم نام محورها نوشتن برروی ترسیم و... باشد.

 

چند نمونه از ترسیمات:

 

 

Xlabel    برچسب محور x  

 

این دستور محور x را نامگذاری می کند.

Xlabel('string')

 

در دستور بالا به جای string کلـــــمه و حروفات مربوطـــه گــذارده

 

 می شود.

 

 

ylabel  برچسب محور y  

 

این دستور محور y را نامگذاری می کند.

ylabel('string')

 

در دستور بالا به جای string کلمه و حروفات مربوطـــــه گـــــذارده

 

می شود.

 

Tiltle    نام ترسیم

 

این دستور ترسیم را نامگذاری می کند.

Title('string')

به جای string نام مربوطه قرار می گیرد.

 

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

 

 

Legend     معلوم کردن رسم ها

 

اگر چندین نمودار رسم کرده باشیم ممکن است نتوانیم تشخـــیص

 

دهیم که کدام ترسیم مربوط یخ کدام نمودار است... بوســــــــــیله

 

دستور legend می توانیم برحسب رنگ و نوع ترسیم نمــــودارها را

 

از هم تمیز دهیم.

Legend('string 1','string 2')

 

ترتیب نوشتن نام ها بدینگونه است که در دستور plot هرکـــــدام از

 

نمودارها ترسیم شده در اینجا نیز همانوگونه عمل می شود.

 

 

 

به مثال زیر توجه فرمایید:

 

x=-pi:pi/10:pi

y=sin(x)

                                                                                     z=cos(x)                                                                               

plot(x,y,'r>-',x,z,'bd__')

xlabel('x')

ylabel('sin&cos')

title('sin&cos functions')

legend('sin','cos')

text(0,0,'sin')

text(1.7.,0,'cos')

 

 

در دستورات بالا text استفاده شده که برای نوشتن جمـــله ای در

 

مکان خاصی (مختصات) بکار می رود.

Text(x,y,'string')

  

چند ترسیم در یک صفحه

 

گفتیم که می توان در دستور plot چندین ترسیم را یکـــجا انجـام

 

داد. ولی اگر نتوانیم بصورت یکجا ترسیم کنیم و یا نـــــخـــــواهیم

 

ترسیمات بر روی هم بیافتد چه کار کنین.

 

  در دستور plot قبل از ترسیم صفحه پـــــاک می شــود(می توان

 

گفت دستور clf اجرا می شود) ولی وقتی بخـــواهیم بــــــــر روی

 

ترسیم انجان شده یک نمودار دیگری رسم کنیم بــــــاید ترسیــــم

 

قبلی پاک نشود.

 

دستورhold این کار را انجام می دهد.

 

Hold     نگه داشتن ترسیم

 

 با استفاده از این دستور مانع پاک شدن صفحه نمایش می شویم

 

تا نمودارهای بعدی بر روی نمودار اولی بیافتد(در این نمودارها همه

 

رنگ ها و نوع خط یکسان خواهند بود زیرا به طور جداگانه ترسیم می

 

شوند و از رنگ و نوع خط اولیه استفاده می کنند.

 

این دستور به صورت روشن و خاموش استفاده می شود.

Hold on

 

Hold off

 تا زمانی که hold در حالت روشن است هیچ نموداری پــاک نخواهد

 

 شد و همه بر روی هم خواهد افتاد.

 

ولی زمانی است که نمی خواهیم نمودارها روی هم بیافتد.

 

بوسیله دستورsubplot صفحه ترسیم را به تعداد مشخص تقـسیــم

 

 می کنیم.

 

بدینگونه که صفحه ترسیم را تقسیم کرده و قسمـت موردنـــــظر را

 

معلوم کرده و نمودار مربوطه را رسم می کنــــــیم و ســــپس نام و

 

تنظیمات را انجام می دهیم.

 

Subplot    رسم چندین رسم در یک صفحه

 

بوسیله این دستور می توانیم صفحه ترسیم را به چندین قســـمت

 

تقسیم کنیم.

 

این دستور را بدین گونه استفاده می کنیم.

Subplot(m,n,p)

 

با این دستور صفحه به m سطر و n ستون تقسیم میشودوقسمت

 

pام را آدرس دهی می کند.

 

که شماره قسمت از ردیف اول از بالا شروع می شود.

 

 

 

به مثال زیر توجه کنید:

X=-pi:pi/10:pi;

Y=sin(x);z=cos(x);t=sin(x).*cos(x);

Subplot(2,2,1);plot(x,y,'r');title('sin');

Subplot(2,2,2);plot(x,y,'y');title('cos');

Subplot(2,2,3);plot(x,t');title('sin*cos');

Subplot(2,2,4);plot(x,y+z);title('sin+cos');

 

لطفاً به نحوه کاربردsubplot و نحوه تنظیم ترسیمات توجه فرمایید.

 

ترسیمات سه بعدی و سطوح

 

دیدیم که دستور plot ابزاری برای رسم نمودارهای دوبعدی اســـت

 

 ولی مواقعی که می خواهیم نمودارهای سه بعدی را رسم نماییم

 

چه کار باید بکنیم.

 

دستورplot3 این کار را انجام می دهد.

 

Plot3   رسم سه بعدی

 

این دستور تابع را در سه بعد رسم می کند.

 

به این مثال توجه فرمایید:

>>t=-3*pi:pi/30:3*pi;

>>x=sin(t);

>>y=cos(t);

>>z=t:

>>plot3(x,y,z);

 

 

می بینید که نحوه ترسیم مانند دستور plot می باشد.

 

البته می توانیم بوسیله دستورplot3، سطوح و لایه ها را ترســـیم

 

 کنیم.

 

رسم سطح و لایه

 

رسم لایه و سطح با نمودار یکسان نمی باشد، نمودار یک منحنی

 

و...می باشد(در کل یک خط) ولی سطح اینگونه نمی باشد و یــک

 

فضای پیوسته(لایه) می باشد.

 

خودمان می توانیم هر سطحی که دلمان می خواهد بسازیم ولـی

 

برای راحتی کار، یک تابع سطح، در خد متلب قرار  داده شده است

 

 که با  دستورpeaks می توان به این سطح دست یافت.

 

Peaks      سطح نمونه

 

گفتیم که یک سطح پیش فرضی در متلب قرار داده شـتده که با این

 

 دستور می توان به این سطح دست یافت.

[x,y,z]=peaks(n)

N

 دقت ترسیم را نشـــــان می دهـــــد(بازه مربوطه به عدد وارد شده

 

 تقسیم می شود و چقدر n بیشتر باشد قطعات کوچکتر و هــــمین

 

طور شکستگی نرم تر و رسم دقیقتر خواهد بود)

 

در صورتی که می خواهید یم سطح بسازید، باید فاصله همه نقــاط

 

موجود بر روی سطح یکسان و به طور مساوی پخش شده باشــد و

 

البته x y z را نیز بر حسب توابع بیان می کنیم.

 

برای ساختن سطح باید شبکه ای کامل و همگن ساخته شــــود(

 

منظور از شبکه خطوط، خطوط عمود بر هـــم است که محل تقاطع

 

مکان نقاط سطح را نشان دهد).

 

در متلب شبکه را با کمک دستور meshgrid می سازیم.

   

Meshgrid    تشکیل شبکه

 

این دستور یک شبکه بای ایجاد سطوح می سازد.

 

[x,y]=meshgrid(x)   ->=      [x,y]=meshgrid(x,x)

[x,y]=meshgrid(x,y,z)

 

اگر یک مثال کوچک برای این دستور بزنیم:

 

>>[x,y]=meshgrid(-2,2)

X=

-2  -1  0  1  2

-2  -1  0  1  2

-2  -1  0  1  2

-2  -1  0  1  2

-2  -1  0  1  2

Y=

-2 -2 -2 -2 -2

-1 -1 -1 -1 -1

0   0   0  0  0    

1   1   1  1  1

2   2   2  2  2

 

می بینید که این دستور ماتریس 2*2 می سازد و اگر بیشتر دقت کنید

 

می بینید که هر کدام از سطر y و یا ستون x می تواند معرف یــک خط

 

باشد(یک سری خط موازی عمودی و افقی) که با تعریف z می توان به

 

سطح دست یافت.

 

 

 

>>z=x.^2+y.^2

Z=

8 5 4 5 8

5 2 1 2 5

4 1 0 1 4

5 2 1 2 5

8 5 4 5 8

 

کهz را براساس مقادیرx,y  بدست می آوریم((می دانیم کهx^2 یــــک

 

تابع دوبعدی کاسه ای است وy^2 نیز همچنین وقتی این دو در جهات

 

 باهم ترکیب شوند یک کاسه سه بعدی ساخته خواهد شد)).

 

با کمک دستور mesh سطح مربوطه را رسم می کنیم.

>>mesh(x,y,z)

 

می بینید که دقت ترسیم خیلی پایین است و آن هم به این دلــیل

 

 است که تعداد تقسیمات کم بوده است.

 

 Mesh   رسم شبکه تشکیل شده

 

این دستور شبکه تشکیل شده را ترسیم می کند.

 

سطح نمایش داده شده توسط این دستور صرفاً یک شبکه است.

 

این دستور بدینگونه نوشته می شود:

Mesh(x,y,z)

 

کهx,y,z با meshgrid تعیین شده اند.

 

مثال این دستور در  ذکر شده است. که رسم دقیق آن به صورت زیر

 

است.

>>[x,y]=meshgrid(-3:0.1:3)

>>z=x.^2+y.^2

>>mesh(x,y,z)

>>colorbar

>>title('mesh plotting for z=x^{2}+y^{2}')

 

نویسنده: پ متلب - جمعه ۱۸ فروردین ،۱۳٩۱

ترسیم توابع

 

 ترسیم توابع که در متلب به easy plotting معـــــروف است فقط با

 

معرفی تابع نمودار آن را رسم می کند.

 

در اینجا به چند نمونه از دستورات اشاره می شود.

 

 

 

Ezplot رسم توابع دوبعدی

 

 

به مثال زیر توجه کنید:

 

>>ezplot('sin(x)')

 

 

 

می بینید که برای رسم احتیاجی به تعریف بازه یا متغییر نیست.

 

Ezplot3  رسم سه بعدی

 

  در این دستور باید هر سه مولفه را تعریف نمود(البته باز براساس

 

تابع) به این مثال توجه فرمایید:

 

>>ezplot3('cos(t)',sin(t)'sqrt(t)',[0.6*pi])

 

 

 

Ezmesh    رسم شبکه برای تابع

 

 این دستور یک شبکه برای یک تابع سه بعدی تعریف شده می سازد.

 

>>ezmesh('(x^2+y^2'))

>>colorbar

>>title('easy mesh plotting')

 

 

Ezsurf   ترسیم سطح برای توابع

 

 دقیقاً مانند دستورات بالا ترسیم سطح را بصورت رنگ و سایه برای

 

سطح را انجام می دهد.

 

>>ezsurf(' (x^2+y^2'))

>>colorbar

>>title('easy surf plotting')

 

 

 

نمودارهای آماری

 

Bar      نمودار میله ای

 

این دستور نمودار میله ای یک مجموعه را رسم می کند.

 

>>a=rand(1,100);

>>bar(a)

 

 

 

Hist   نمودار فراوانی

 

نمودار هیستوگرام مربوط به مجموعه را رسم می کند.

 

>>a=rand(1,100);

>>hist(a)

 

 

 

Stairs      نمودار پله ای

>>a=rand(50,1);

>>stairs(a)

 

 

نویسنده: پ متلب - جمعه ۱۸ فروردین ،۱۳٩۱

تابع Function 

 

میتوان گفت بیشتر دستر ها وتوابعی که در متــــــــلب به کار

 

میگیریم دارای یکm-file هستند بدین معنی که برنامه ای برای

 

 تابع ویا دستور مربوطه نوشته شده است.

 

ولی همه این نوابع از سیستم خاصی کهfunction آنها را موظف

 

می کند پیروی می کنند.

 

پس باید برای ساختن یک تابع کمی متفاوت تر از برنامه معمولی

 

عمل کنیم.

 

در صورتی که می خواهید مثالی از این تابع ببینید ،میتوانید به

 

شاخه \MATLAB7\toolbox رفته و از داخل یکی از جـــــعبه

 

 ابزارها یک m-file را باز کنید.می بینید که هر کدام برنــامه ای

 

کامل است .

 

ولی چیزی که شاید توجه تان را جلب کند سطر اول همـــــه

 

برنامه هاست که با function شروع میشود .

 

Function  output= function  name (input)                      

 

 

( input,outputپارامتر ورودی وخروجی هستند function  name

 

 نام تابع است).

 

اگر برنامهای را بصورت تابع نوشته ایم میتــــــوانیم در هر جایی

 

 وهر برنامه ای استفاده کنیم.

 

حال چگونه یک تابع بسازیم :

 

شاید با عنوان کردن این موضوع این سوال برایتان پیـــش اید که

 

 چگونه برنامه نوشته شده را به تابع تبدیل کنیم؟  بــــاید بگوییم

 

تبدیل برنامه نوشته شده به تابع بجز اضافه وکم کـــــــردن  چند

 

سطر کاری ندارد یعنی به عبارتی  اگر بخواهید یک برنامه کــامل

 

 را به تابع تبدیل کنید چند دقیقه بیشتر طول نخواهد کــــــــشید

 

 البته اگر روند ساخت تابع را بدانید  این کار را راحت وبا تــــسلط

 

 انجام خواهید داد.

 

همه میدانیم که ورودی تابع را با خود تابع وارد میکـنیم و در حین

 

اجرای تابع هیچ مقداری وارد نمی کنیم. پس در برنامه نوشـــته

 

 شده برای تابع ،از دریافت هر گونه مقدار و ورودی در حین اجرا

 

باید بدور باشیم وهمه ورودی ها را در اول برنامه در دســــــــتور

 

 function تعریف نماییم.

 

هیچ تابعی پس اجرا جمله ویا علائم اخباری چاپ نمــی کند پس

 

 برای از چاپ ونوشته های راهنما و...بایــــد دوری کنیم وهـــمه

 

خروجی ها را باز در دستور function تعریف می کنیم.

 

خط اول هر برنامه تابعی بدینگونه نوشته می شود:

 

                       

Function  output=  name (input)                                                           

                                  

در عبارت بالا :

 

Name،نام تابعی است که می سازیم که باید ایـــــــن نام با نام

 

 فامیل ذخیره شده یکی باشد وگرنه سیستم در هنگام استفاده

 

 کردن تابع خطا خواهد داد.

 

((تکرار می کنیم که حتماً تابع با نام فامیل ذخــیره شـــــــده اند

 

 یکی باشد)).

 

البته وقتی در سطر اول functionرا بکار ببریم سیــستم بصورت

 

خودکار نام تابع را برای نام فایل قرار خواهد داد.

 

Input  همان مقادیر ورودی است که در برنامه ها بیشتر باinput

 

دریافت می شود.

 

  این مقادیر می تواند یک یا چند مقدار وحتی ماتریس و..باشد که

 

به ازای هر کدامیک پارامتر در داخل پرانتز قرار می دهــــیم.به این

 

  مثال توجه فرمایید:

 

((از اول یک تابع جمع سه عدد می نویسیم ونـــام آن را numadd 

 

می گذاریم))

 

(این دستورات به ترتیب در m-file نوشته میشوند)

 

اولی خط برنامه چنین خواهد بود:

 

Function  d= numadd(a,b,c)        

 

می بینید که در دســــتور function نام ورودی و خـــــروجی را

 

تعریف نمودیم ولی اگر مـــــــی خواســــتیم این دستورات را با

 

input بنویسیم باید فـــــقط ســــه بار دســــتور input استفاده

 

می کردیم.

 

حال سه عدد ورودی را با هم جمع کنیم و پاســــخ بـــرنامه را

 

نمایش دهیم.

                                                        

 

D=a+b+c;                                                                                   

 

 

یادتان باشد که تابع هایی را که میسازند در انتهای سطر ها ((;))

 

 قرار دهید تا نتیجه اجرای سطر نمایش داده نشود (البته برای بار

 

 اول خطا یابی طبیعتاً اینگونه نبست).

 

 

با اضافه کردن سطر دوم  برنامه تابع جمع سه عدد تمام شد آن

 

 را با فشار دادن کلیدsave در منوی file ذخیره می کـــــــنیم اگر

 

دقت کرده باشید می بینید که با فشار کــــلید save پنــــجره ای

 

برای دریافت نام ومسیر از شما می خواهد که مسیررا نباید تغییر

 

 داد والبته نام نمایش داده شده برای تابـــــع است که گفتیم باید

 

 یکی باشد پس باید بدون هیچ تغییری ذخیره کنیم.

 

اگر function دارای ورودی نباشد می توانیم ازm-file اجرا نماییم

 

(با فشار دادن f5).

 

 

>>numadd(1 ,2 ,3 )                                                                              

 

Ans=                                                                                          

6                                                                                              

که با اجرای برنامه پاسخ نمایش داده می شود.

 

اگر توضیحاتی  در مورد برنامه می خواهید بدهید بــــاید پس از

 

دستور function(خط اول )باید باشد .

 

                                                                            

Function d=numadd(a,b,c)                                                        

% this function is additional  of the three number                         

D=a+b+c                                                                                

                           

 

گفتیم چگونه m-file و  یا همان برنامه نوشته شــــــــده را به

 

function   تبدیل نماییم؟

 

به نظر میرسد تا حدی با نحوه انجام کار آشنا شـــــــده باشید.

 

ولی در چند جمله کوتاه می گوییم که:

 

همه ورودی ها (input…)  پاک شده وپارامتر مربوطه در ورودی

 

 تابع قرار داده شود.

 

همه خروجب ها وهر گونه چاپ و علائم  و نوشته ها (disp…)

 

  باید حذف گردد.

 

پس از اجرای برنامه تغییر داده شده وبدون خطا ،در پـــایان هر

 

 خط علامت ; گذارده شود.

 

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

 

این توابع برای تصمیم گیری  برای انجام کاری ویا انجام به دفعات

 

 بکار میرود.

 

این توابع به چند دسته تقسیم میشوند:

 

توابع شرطی

 

If این تا بع در صورت صــادق بودن شــــرط وارد شده دستورات

 

 معین شده را یکبار اجرا می کند.

 

whilel ایـــــن تابع تا وقتی که شرط وارد شده برقرار است

 

 دستورات وارد شده انجام خواهد شد وتعداد تکرار مهم نیست.

                                                          

Switch    این دستور تصمیم گیری در میان چندین موضـــــــوع

 

 همسان را بر عهده دارد تا حدی شبیه به دستور if  است.

 

For      بوسیله این دستور می توانیم قســــمتی از برنامه را به

 

 تعداد معلوم تکرار نماییم.

 

While    تکرار به دفعات نا متناهی را می توان انجام داد.

 

در پایان همه این دستورات ،دستور end اســـــتفاده میشود که

 

 نشان دهنده پایان چرخه است.

 

If……..end

 

گفتیم که این تابع برای اجرای قسمتی از برنامه  در صـــــــورت

 

صادق بودن شرط وارد شده به کار میرود.

 

شکل این دستور بدین صورت است:

 

 

                                                                     شرط تعیین شده  if

                                                                     دستورات وارد شده

                                                                               

 

 

End                                                                             

 

اگر شرط صدق کند دستورات داخل این عبارت اجرا میــــشود.

 

ولی اگر شرط صدق نکند کل عبارت if نادیده گرفــته میشود و

 

اجرای دستورات به بعد از خط end منتقل می شود.

 

میتوان چندین عبارت  if را داخل هم استفاده کرد.

 

به مثال زیر توجه فرمایید(در m-file نوشته شود):

 

A=input('please entered  2  and enter');                                      

If  a==2                                                                                    

Disp ('your entered number is 2');                                         

End                                                                                          

 

اجرای بر نامه:

 

 

Running the program…………….                                                  

 

Please enter  a number                                                               

   4                                                                                            

 

your entered number is not 2                                                       

else       در غیر این صورت

 

این دستور داخل عبارت if استفاده میگردد ودر صورتی که شرط

 

وارد شده صدق نکند دستورات وارد شده اجرا می شوند.

 

به مثال زیر توجه فرمایید(در m-file نوشته شود):

 

 

 

A=input('please enter number:');                                                           

If  a==2                                                                                             

Disp ('your entered number is 2');                                                    

Else                                                                                                   

   Disp ('your entered number is not 2');                                             

End           

 

اجرای بر نامه:

 

  

 

Running the program…………….                                                  

Please enter 2 and pess enter                                                     

2                                                                                             

 

your entered number is 2                                                          

                                                                                       

 

elseif      چند شرط همزمان

 

ممکن است در یک زمان چند شرط را هــمزمان وپشـــــت سر هم

 

 وارد کنیم این کار را بوسیله elseif انجام می دهیم.

 

به مثال زیر توجه فرمایید (در m-file نوشته می شود):

 

    

a=input(' Please enter  a number:')                                         

if a==2                                                                                

 Disp ('your entered number is 2');                                        

Elseif  a==3                                                                           

Disp ('your entered number is 3');                                      

Elseif  a==4                                                                          

Disp ('your entered number is 4');                                     

Else                                                                                    

Disp ('your entered number is not 2 3 4 ');                          

End                                            

نویسنده: پ متلب - پنجشنبه ۱٧ فروردین ،۱۳٩۱

1-1-عملیات ریاضی ساده
مثال: محاسبه یک عبارت:
    راه اول:
>> 4*25 + 6*22 + 2*99
    ans=
            430

1-2-عملیات ریاضی ساده
مثال: محاسبه یک عبارت:
    راه دوم:
 >>a=25;
 >>b=22; c=99;
 >>d=4*a+6*b+2*c
     d=
        430
 >>

1-3-عملگرهای ریاضی متلب:
\ / , * , - , + , ^
مثال:
>>5^2   
 ans=
        25
/ و \ هر دو عملگر تقسیم میباشند. / تقسیم از چپ و \  تقسیم از راست است. مثلا حاصل 56/8 و 8\56 یکسان است.
    ترتیب حق تقدم: ^ > / \ * > + -

1-4-فضای کاری متلب Work space

•    متغیرهایی که در محیط متلب ایجاد می شوند در بخشی از حافظه بنام محیط کاری متلب ذخیره می گردند. فضای کاری برنامه های اسکریپت متلب با فضای کاری متلب یکسان است. یعنی اگر متغیری در محیط متلب تعریف شده باشد در یک برنامه اسکریپت می توان از آن استفاده کرد و برعکس. اما برنامه های تابعی متلب دارای فضای کاری مختص به خود هستند و متغیرهای آنها در فضای کاری متلب وارد نمی شود.
•    در مورد انواع برنامه های متلب در فصلهای آتی توضیح داده خواهد شد


فضای کاری متلب Work space
نکاتی در مورد فضای کاری متلب:
زمان اعتبار متغیرها:
دستور who  و whos
ذخیره و بازیابی متغیرها: دستورات save و load


1-4-1-زمان اعتبار متغیرها
متغیرهایی که در فضای کاری تعریف می شوند تنها در دو حالت زیر از حافظه پاک خواهند شد:
خروج متلب
استفاده از دستور clear :
>> clear        تمامی متغیرها از حافظه پاک می شوند
>> clear a b c    تنها متغیرهای نامبرده شده از حافظه
پاک می شوند

1-4-2-دستورات who و whos
با استفاده از این دو دستور می توان اسامی(و مشخصات) متغیرهای موجود در فضای کاری را بدست آورد.
>> who
Your variables are:
    a b c
>> whos
 Name      Size                   Bytes  Class
  a         1x1                        8  double array
  b         1x1                        8  double array
  c         1x1                        8  double array
یادآوری: پنجره workspace  نیز مشخصات متغیرهای موجود در فضای کاری را مانند دستور whos  نشان می دهد.


1-4-3- ذخیره و بازیابی متغیرها: دستورات save و load:
در صورتیکه بخواهیم پس از خروج از محیط متلب همه یا بعضی از متغیرهای موجود در فضای کاری برای استفاده های بعدی ذخیره گردند از دستور save استفاده می کنیم. با دستور load می توان متغیرهای ذخیره شده را به فضای کاری بازگرداند.
مثال:
>>a=5; b=4; c=7;
>>save c:\myfile.mat a c;
>>clear  همه متغیرها پاک می شوند
>>a
??? Undefined function or variable 'a‘
>> load c:\myfile.mat
>>a
    a=
        5
>>b
??? Undefined function or variable 'a‘


1-4-3- ذخیره و بازیابی متغیرها: دستورات save و load:
فرم کلی کاربرد دستورات save و load بصورت زیر است:
save [filename] [variables]
Load [filename] [variables]
درصورتیکه اسم فایل نوشته نشود. فایل پیش فرض matlab.mat مورد استفاده قرار خواهد گرفت و درصورتیکه نام متغیرها نوشته نشود تمامی متغیرهای موجود در فضای کاری ذخیره و یا تمامی متغیرهای ذخیره شده در فایل بازیابی میشوند.


1-5-فرمت نمایش اعداد (دستور Format)
با استفاده از این دستور می توان نحوه نمایش اعداد در پنجره فرمان متلب را تغییر داد.
>>Format [option]
Option: short, long, short e, long e, short g, long g, hex, + , …
    دقت کنید که این دستور دقت محاسبات را تغییر نمی دهد و تنها بر نحوه نمایش اعداد تاثیر خواهد گذاشت.


1-4-3- ذخیره و بازیابی متغیرها: دستورات save و load:
فرم کلی کاربرد دستورات save و load بصورت زیر است:
save [filename] [variables]
Load [filename] [variables]
درصورتیکه اسم فایل نوشته نشود. فایل پیش فرض matlab.mat مورد استفاده قرار خواهد گرفت و درصورتیکه نام متغیرها نوشته نشود تمامی متغیرهای موجود در فضای کاری ذخیره و یا تمامی متغیرهای ذخیره شده در فایل بازیابی میشوند.


1-5-فرمت نمایش اعداد (دستور Format)
با استفاده از این دستور می توان نحوه نمایش اعداد در پنجره فرمان متلب را تغییر داد.
>>Format [option]
Option: short, long, short e, long e, short g, long g, hex, + , …
    دقت کنید که این دستور دقت محاسبات را تغییر نمی دهد و تنها بر نحوه نمایش اعداد تاثیر خواهد گذاشت


1-6- انواع متغیرها
بعضی از مهمترین انواع متغیر در متلب:
double  نقطه اعشار با دقت مضاعف (8 بایت):
struct    : نوع تعریف شده توسط کاربر
singleنقطه اعشار (4 بایت) :   
uint8    : عدد صحیح بی علامت 8 بیتی
uint16    :عدد صحیح بی علامت 16 بیتی
uint32  :      عدد صحیحی بی علامت 32 بیتی
uint64     : عدد صحیحی بی علامت 64 بیتی
int8     :  عدد صحیح 8 بیتی
int16     : عدد صحیح 16 بیتی
int32     : عدد صحیح 32 بیتی
int64     : عدد صحیح 64 بیتی
    برای دیدن لیست کامل انواع متلب در پنجره فرمان از دستور help datatypes استفاده کنید


1-6- انواع متغیرها
باید دقت کرد که  اگرچه متلب انواع مختلفی از متغیرها را پشتیبانی می کند اما نوع پیش فرض، نوع ”دقت مضاعف“ است. و برای تبدیل نوع یک متغیر باید دستور کلی زیر را بکار برد:
a=TypeName(a);
>> a=uint8(a); در اینجا نوع متغیر به صحیح بی علامت 8 بیتی تغییر می کند.
>> b = uint32(345); در اینجا یک متغیر از ابتدا از نوع صحیح بی علامت 32 بیتی تعریف شده است
    دقت: در هنگام تبدیل یا ایجاد یک متغیر باید دقت کنید که مقدار انتساب داده شده خارج از دامنه مقادیر آن نوع خاص نباشد. برای انواع صحیح می‌توانید از دستور زیر برای تعیین دامنه استفاده کنید:
>> intmin(‘int16’)
>> intmax(‘int16’)

استثناء: در مورد جعبه ابزار پردازش تصویر نوع پیش فرض نوع uint8 است


1-7- نامگذاری متغیرها
    اختلاف حروف کوچک و بزرگ
    با حرف الفبا باید شروع شود
    کاراکترهای مجاز: حروف الفبا، اعداد و _
    حداکثر طول نام: با استفاده از تابع namelengthmax در هر نسخه از MATLAB می‌تواند تعیین شود. در نسخه 2006، حداکثر 63 کاراکتر است.
    مراقب باشید متغیر شما با یک تابع درونی MATLAB یا تابعی که توسط خود شما نوشته شده است همنام نباشد. برای اطمینان از دستور which –all varName استفاده کنید
مثال:
>>This_Is_a_Variable

-8-متغیرهای ویژه1
متغیرهای زیر در محیط متلب بصورت پیش‌فرض وجود دارند.
ans        NaN        nargin
pi            i        nargout
eps        j

inf   

1-9-علائم نقطه‌گذاری و جملات توضیحی
    برای درج یک متن توضیحی در برنامه‌های متلب باید از کاراکتر % استفاده شود.
>> a=5; %”a” is a variable
    برای نوشتن ادامه یک جمله در سطر بعد باید از ... استفاده کرد:
>> b=a+a^2+…
        3*a^3;   

1-10- اعداد مختلط
    برای تعریف اعداد مختلط از متغیرهای ویژه i و j می‌توان استفاده کرد:
>>c=1-2i;        >>k=(-1)^(1/2);
>>c=1-2j;        >>c=1-2*k;
>>c=1-2*j;
    توابع کار با اعداد مختلط:
abs        angle    real        imag


-11- بعضی از توابع ریاضی در متلب1
abs        conj        log10
acos        exp        real
asin        fix        imag
acosh    round    rem(x,y)
asinh    gcd(x,y)    sign
atan        lcm(x,y)    sqrt
atanh    log


1-12-راهنمای متلب
متلب دارای دستورات راهنمای متفاوتی است که هم از طریق منوی start و هم از طریق اعلان متلب قابل دسترسند.
demo
help
lookfor


1-13-فایلهای متنی(Script) یا فایلهای m
بمنظور اجرای چند دستور بطور همزمان و بدون نیاز به تایپ مجدد، از فایلهای متنی استفاده می‌شود.
این فایلها باید دارای پسوند m باشند.


1-13-1- مراحل ایجاد فایلهای متنی
1.    باز کردن یک فایل جدید در ویرایشگر متلب:
 File>New>m-file
1.    تایپ کردن دستورات متلب در فایل مذکور
2.    ذخیره کردن فایل با نامی مشخص:
File>Save As…

1-13-1- مراحل ایجاد فایلهای متنی
1.    باز کردن یک فایل جدید در ویرایشگر متلب:
 File>New>m-file
1.    تایپ کردن دستورات متلب در فایل مذکور
2.    ذخیره کردن فایل با نامی مشخص:
File>Save As…


-13-2-روش اجرای یک فایل متنی1
برای اجرای یک فایل متنی کافی است نام آنرا در جلوی اعلان متلب تایپ کرده کلید Enter را بزنیم.
نکته: از این پس متن برنامه ها(کد نوشته شده در فایلهای m) با رنگ سبز نشان داده خواهد شد.
مثال:  برنامه sample1.m
% SAMPLE1: A Simple m-file
n=10;a=2;b=4;
c=n*a^3/b + 3*n*a^2/b^2+6*n*a/b^3
----------------------------------------------------------
>> sample1
    c=
        29.3750


-13-3- توابع و دستورات مفید در فایلهای m
1.    تابع disp(x): این تابع مقدار یک متغیر یا یک رشته متنی را نمایش می‌دهد.
مثال:
>> n=10;
>>disp(n)
    10
>> disp(‘This is a string’)
    This is a strin

-13-4- توابع و دستورات مفید در فایلهای m
2.    تابع x=input(s): برای گرفتن مقدار یک متغیر از ورودی.
مثال:
n=input(‘Please tell me “n” value: ‘)
--------------------------------------------------
Please tell me “n” value: 10
n=
    10

1-13-4- توابع و دستورات مفید در فایلهای m
3.    دستور pause: توقف موقت در حین اجرا.
    pause
    pause(n)  % n seconds
مثال:
%SAMPLE2: Enhanced Sample1
n=10;
a=input(‘ “a” value=  ‘);
b=input(‘ “b” value=  ‘);
c=n*a^3/b + 3*n*a^2/b^2 + 6*n*a/b^3;
disp(‘Please wait 5 seconds only!’);pause(5);
disp(‘Press any key to see answer.’); pause;
disp(‘ ”C” Value is= ‘); disp(c)


تکلیف 1-1: برنامه‌ای بنویسید که یک عدد را از کاربر بگیرد و آنرا در متغیری به نام x ذخیره کند. با استفاده از آن
، عبارت زیر را محاسبه کند و مقدار y را با پیغام مناسب نمایش دهد.
y=x^3 + 3*x^2 +6*x + 6;
    با تایپ نام برنامه در جلوی اعلان MATLAB، آنرا اجرا کنید.
     با استفاده از ویرایشگر MATLAB، برنامه خود را اجرا و trace کنید.

1-14- مدیریت فایل: کار کردن با فایلها و شاخه‌ها
بعضی از دستورات مفید:
    دستور cd: تغییر و یا نمایش شاخه جاری :
>>cd
    C:\Matlab\Work
>>cd C:\MyDir
>>cd
    C:\MyDir
    دستور dir: نمایش نام فایلها و زیرشاخه‌های دایرکتوری جاری
    دستور delete: حذف(پاک کردن) فایل:
>>delete sample1

مطالب قدیمی تر »
نویسندگان وبلاگ:
کدهای اضافی کاربر :