24. Nodular Grafit
20
10
0
1
درصد كرويت گرافيتهاي كروي.
رنگ آبي تعداد ذرات با كرويت بيش از 08درصد و رنگ
قرمز تعداد ذرات با كرويت كمتر از 56 درصد را نشان
ميدهند.
27. Data Acquisition
به عنوان مثال : اتصال به ترموكوپل و دريافت داده ها
28. Curve Fitting & Plotting
Effect of temperature on the reduction kinetics of
uncatalyzed concentrate:graphite:lime mixture.
29. Partial Differential Equations
magnetic flux density
مثا لي از ا ثر پوسته اي،
زمان ي كه جريان
يك از متناوب
اس توانه ي طويل
م سي با سطح مقطع
دايروي، عبور مي
كن د مورد بررسي
قرار مي گيرد.
رسانايي ويژه ي مس
001 %
ضريب تروايي نسبت به خل
1
فركانس
05 هرتز
30. Toolboxes
Col l ecti ons of functi ons to sol ve
pr oblems of sever al appli cati ons.
31. Variables
• Variable names:
– Must start with a letter
– May contain only letters, digits, and the underscore “_”
– Matlab is case sensitive, i.e. one & OnE are different
variables.
– Matlab only recognizes the first 31 characters in a
variable name.
• Assignment statement:
– Variable = number;
– Variable = expression;
• Example: NOTE: when a semi-colon ”;” is
>> tutorial = 1234; placed at the end of each
>> tutorial = 1234 command, the result is not
tutorial = displayed.
1234
32. MATLAB BASICS
Initializing with Shortcut Expressions
first: increment: last
• Colon operator: a shortcut notation used to
initialize arrays with thousands of elements
>> x = 1 : 2 : 10;
>> angles = (0.01 : 0.01 : 1) * pi;
• Transpose operator: (′) swaps the rows and
columns of an array 1 1
>> f = [1:4]′; h=
2 2
>> g = 1:4; 3 3
4 4
>> h = [ g′ g′ ];
34. M A T L A B B A SI CS
ماتريس زير را به كمك عبارت first: increment: lastو به وسيله تركيب
ماتريس ها توليد كنيد
8 7 6 5
51 11 7 3
2- 1- 0 1
35. M A T L A B B A SI CS
A=[5:8 A=[ 5:8 ; 3:4:18 ; 1:-1:-2]
3:4:18 or A=
1:-1:-2];
5 6 7 8
3 7 11 15
1 0 -1 -2
36. MATLAB BASICS
Changing the data format
>> value = 12.345678901234567;
format short → 12.3457
format long → 12.34567890123457
format short e → 1.2346e+001
format long e → 1.234567890123457e+001
format short g → 12.346
format long g → 12.3456789012346
format rat → 1000/81
37. Calculations at the
Command Line
MATLAB as a calculator Assigning Variables
» -5/(4.8+5.32)^2
» a = 2; Semicolon
ans =
» b = 5; suppresses
-0.0488
screen output
» (3+4i)*(3-4i) » a^b
ans = ans = Results
25 32 assigned to
» cos(pi/2) » x = 5/2*pi; “ans” if name
ans = not specified
6.1230e-017 » y = sin(x)
» exp(acos(1)) y =
ans = 1
1 » z = asin(y) () parentheses for
z = function inputs
1.5708
A Note about Workspace:
Numbers stored in double-precision floating point format
51. Matrix Manipulation Functions
• transpose (’): Transpose matrix
• rot90: rotate matrix 90
• tril: Lower triangular part of a matrix
• triu: Upper triangular part of a matrix
• cross: Vector cross product
• dot: Vector dot product
• det: Matrix determinant
• inv: Matrix inverse
• eig: Evaluate eigenvalues and eigenvectors
• rank: Rank of matrix
52. M A T L A B B A SI CS
sum تابع
.حاصل جمع مولفه هاي يك ماتريس را محاسبه كرده و برميگرداند
B = sum(A); returns sums along different dimensions of an array.
B = sum(A,dim) sums along the dimension of A specified by
scalar dim
>> a=[1 2 3 ; 7 5 10] >> a(:,:,2)=2; >> sum(a,2)
>> sum(a) >> sum(a,1) ans(:,:,1) =
6
ans = ans(:,:,1) =
22
8 7 13 8 7 13
ans(:,:,2) =
ans(:,:,2) =
6
4 4 4
6
53. M A T L A B B A SI CS
diff تابع
.حاصل تفريق مولفه هاي يك ماتريس را محاسبه كرده و برميگرداند
Y = diff(X); calculates differences between adjacent elements of X.
[X(2)-X(1) X(3)-X(2) ... X(n)-X(n-1)]
>> a=[1 3 5;7 10 15];
>> z
>> a(:,:,2)=[1:3;4:2:8];
z(:,:,1) =
>> z=diff(a,1);
6 7 10
z(:,:,2) =
3 4 5
54. M A T L A B B A SI CS
diff تابع
Y = diff(X,n) applies diff recursively n times, resulting in the
nth difference.
Y = diff(X,n,dim) is the nth difference function calculated along
the dimension specified by scalar dim.
z=diff(a,2); >> z >> z=diff(a,2,2)
z(:,:,1) =
z(:,:,1) =
0
1 3 2
z(:,:,2) =
z(:,:,2) =
0
1 1 0
56. M A T L A B B A SI CS
انتگرال عددي تابع (sin(xرا در بازه ]0 2/ ،[piبه كمك توابع
diffو sumمحاسبه كنيد.
جهت بدست آوردن نتايج صحيح از عملگر : با گام 100.0 استفاده كنيد.
57. M A T L A B B A SI CS
x=0 : 0.001 : pi/2;
y=sin(x);
Integ=sum(y(1:end-1).*diff(x))
Integ=
0.9987
Derivatives=diff(y)./diff(x);
60. Character Arrays (Strings)
• Created using single quote delimiter (')
» str = ‘M Moosavi'
str =
M Moosavi
» str2 = 'Isn''t MATLAB great?'
str2 =
Isn't MATLAB great?
• Each character is a separate matrix element
(18 bits of memory per character)
str = M M o o s a v i 1x9 vector
• Indexing same as for numeric arrays
61. String Array
Concatenation
Using [ ] operator: » str ='Hi there,';
1x9 vectors
Each row must be » str1='Everyone!';
same length » new_str=[str, ' ', str1]
new_str =
Row separator:
Hi there, Everyone! 1x19 vector
semicolon (;)
» str2 = 'Isn''t MATLAB great?';
Column separator: » new_str2=[new_str; str2]
space / comma (,) new_str2 =
Hi there, Everyone!
Isn't MATLAB great?
2x19 matrix
For strings of different length:
• STRVCAT » new_str3 = strvcat(str, str2)
• char new_str3 =
Hi there, 2x19 matrix
Isn't MATLAB great? (zero padded)
62. Working with String Arrays
• String Comparisons
– strcmp: compare whole strings
– strncmp: compare first ‘N’ characters
– findstr: finds substring within a larger string
– Strcat: link two or more strings together
• Converting between numeric & string
arrays:
– num2str: convert from numeric to string array
– str2num: convert from string to numeric array
63. Working with String Arrays
a='alireza'; a='alireza';
a=strcmp ('('Yes', 'No
b='ali'; b=‘reza';
a=
comp=strncmp(a,b,3) comp=findstr(a,b)
0
b=strcmp('Yes', 'Yes') comp = comp =
b= 1 4
1 comp=strncmp(a,b,4) comp=findtr(a,'ah')
comp = comp =
0 []
a = 'hello '
b = 'goodbye'
strcat(a, b)
ans =
hellogoodbye
64. Structures
Arrays with named data containers called fields.
» patient.name='John Doe';
» patient.billing = 127.00;
» patient.test= [79 75 73;
180 178 177.5;
220 210 205];
•Also, Build structure arrays using the struct function.
•Array of structures
» patient(2).name='Katty Thomson';
» Patient(2).billing = 100.00;
» Patient(2).test= [69 25 33; 120 128 177.5; 220
210 205];
65. Cell Arrays
Array for which the elements are cells and can
.hold other MATLAB arrays of different types
•Using braces {} to point to elements of cell array
•Using celldisp function to display cell array
» A(1,1) = {[1 4 3;
0 5 8;
7 2 9]};
» A(1,2) = {'Anne Smith'};
» A(2,1) = {3+7i};
» A(2,2) = {-pi:pi/10:pi};
66. Loop Controls
مثال
if-end حلقه score=[18 17 12 20]
if expression1 i=2;
statements1 if score(i)>18
elseif expression2 grade=‘A’
statements2 elseif score(i)>16
else grade=‘B’
statements3 elseif score(i)>14
end grade=‘C’
else
grade=‘D’
end
67. Loop Controls
حلقه هاي كنترلي :
در نوش تن توا بع ب سيار پ يش مي آ يد كه نياز به انجام مكرر يك سري
از دستورات ميباشد در اين گونه موارد از حلقه هاي كنترلي استفاده
مي شود. در اين جا به معرفي چند حلقه كنترلي مي پردازيم.
حلقه for-end مثال
;5:2:1=for a
for index = start : increment : end
;0=x
statements
5:1 = for j
end
;)x=x+a(j
end
end
69. F unctions in MA TL A B
تاب ع ب ه مجموع ه اي از دس تورات گفت ه م ي شود كه
فرايندي خاص را بر روي داده هاي ورودي انجام داده و
خروجي را به matlabمي فرستد.
workspace input output function
70. F unctions in MA TL A B
هر تابع با كلمه كليدي functionآغاز ميشود. •
توا بع براي اين كه قا بل فراخوا ني باش ند باي ستي در م سير معيني •
ذخيره شوند.
فراخواني يك تابع از طريق نام آن صورت ميگيرد. •
يك تابع ميتواند در بدنه خود ديگر توابع را فراخواني كند. •
هر تابع ميتواند خود محتوي چند تابع باشد. •
توا بع فا يل هاي مت ني مح سوب ميشو ند كه با پسوند . mذخيره •
مي گردند.
71. F unctions in MA TL A B
هر تابع ميتواند شامل چند متغير ورودي و يا خروجي باشد. •
متغ ير هايي كه در بدنه تابع تعريف و يا ايجاد ميشوند در صورتي •
كه جزء متغيرهاي خروجي نباش ند در فضاي كاري قابل شناسايي
نيستند.
تابع به صورت ذيل تعريف مي
شود.
,1function [out1, out2, ...] = funname(in
متغير هاي 2 … ,in1,inمتغيرهاي ورودي ومتغيرهاي 2…,out1,out
)... ,2in
متغيرهاي خروجي ميباشند.
72. F unctions in MA TL A B
براي اين كه بتوان در matlabتابع
نوش ت كاف ي است از منوي
fileگزي نه newو سپس گزينه
mfileرا انتخاب نمود. در اين
صورت ص فحه سفيدي باز
ميشود كه امكان نوش تن تابع
را فراهم مي آورد.
73. F unctions in MA TL A B
پس از اين كه تا بع به طور كا مل نوش ته شد بايد ان
را saveكرد.
74. F unctions in MA TL A B
Loop Controls
switch-case-end عبارت مثال
method = 'Bilinear';
switch switch_expr
switch lower(method)
case case_expr
case {'linear','bilinear'}
statement, ..., statement
case {case_expr1, case_expr2,...} disp('Method is linear')
statement, ..., statement case 'cubic'
otherwise disp('Method is cubic')
statement, ..., statement otherwise
end disp('Unknown method.')
end
75. F unctions in MA TL A B
:مثال
مي خواهيم تابعي بنويسيم كه يك عدد را دريافت كرده وسپس
. محاسبه كندfor فاكتوريل آن را به كمك حلقه
function n = factorial (k)
% The function [n] = factorial(k) calculates and
% returns the value of k factorial. If k is negative, توضيحات تابع
% an error message is returned.
if (k < 0) n = 'Error, negative argument’;
elseif k<2 n=1;
else
n = 1; دستورات تابع
for j = 2:k
n = n * j;
end
end
76. F unctions in MA TL A B
نتا يج به صورت ز ير قابلmatlab پس از اجراي تا بع در
.مشاهده است
>> a=factorial(5)
a=
120
>> a=factorial(-1)
a=
Error, negative argument
78. F unctions in MA TL A B
1. اگر قرار باشد يك تابع مشتق وانتگرال يك رشته
را تعيينن نمايند بايند داراي چنند متغير ورودي و
خروجني باشد . در صنورت امكان اينن تابع را
نوشت نه و بوس نيله آ نن مشت نق وانتگرال تابع
ن ن ن ن
2^ (exp(xرا محاسبه كنيد
3. تاب عي بنوي سيد كه يك ماتر يس برداري را دريافت
كرده و داده هاي آنرا از بزرگ به كو چك رديف
نموده و در خروجي بفرستد.
79. F unctions in MA TL A B
function [dif integ] = difint (func)
if isstr(func)~=1
disp(‘please input a string function’)
return
end
dif=diff(func);
integ=int(func);
80. F unctions in MA TL A B
توابع varargin , varargout , nargin , nargout
گا هي اوقات پ يش مي آ يد كه تعداد متغ ير هاي ورودي و يا خرو جي يك
تا بع واب سته به عملكرد تا بع تغي ير ميك ند در نتي جه هنگام تعر يف تابع
دچار مش كل ميشويم . به عنوان مثال تا بع plotميتوا ند داراي يك متغير
ورودي با شد و يا اين كه واب سته به نوع نمودار و نحوه تر سيم به طور
نامحدود متغ ير ورودي داش ته باشد. همچن ين ا ين تا بع ميتوا ند داراي يك
متغ ير خرو جي با شد يا ا صل متغ ير خرو جي نداش ته باشد. در ا ين مواقع
به عنوان متغينر ورودي وينا خروجي از توابنع varargin , varargout
استفاده مي شود.
81. F unctions in MA TL A B
توابع varargin , varargout , nargin , nargout
متغينر vararginبه عنوان ورودي تابنع عمنل كرده و كليه متغيرهاي
ورودي را در خود قرار ميدهد. ا ين متغ ير براي هر تابع حاوي ورودي
هاي همان تا بع ا ست. نوع آن سلولي و طول آن برابر با تعداد ورودي
هاي تابع ميباشد.
متغينر varargoutبه عنوان خروجني تابنع عمنل كرده و حاوي كليه
تابنع اسنت. نوع آنن سنلولي و طول آنن برابر با متغيرهايني خروجني
تعداد خروجي هاي تابع ميباشد.
متغ ير nargin , nargoutبه ترت يب محتوي تعداد متغيرهاي خروجي و
ورودي هستند. طول آنها برابر يك و نوع آنها عددي است.
82. Functions in MATLAB
varargin , varargout , nargin , nargout توابع
مثال
function myplot(x,varargin)
plot(x,varargin{:})
collects all the inputs starting with the second input into the
variable varargin. myplot uses the comma-separated list
syntax varargin{:} to pass the optional parameters to plot. The
call
myplot(sin(0:.1:1),'color',[.5 .7 .3],'linestyle',':')
results in varargin being a 1-by-4 cell array containing the values
'color', [.5 .7 .3], 'linestyle', and ':'.
83. Functions in MATLAB
varargin , varargout , nargin , nargout توابع
مثال
function [s,varargout] = mysize(x)
nout = max(nargout,1)-1;
s = size(x);
for k=1:nout, varargout(k) = {s(k)}; end
returns the size vector and, optionally, individual sizes. So
[s,rows,cols] = mysize(rand(4,5));
Returns
s = [4 5], rows = 4, cols = 5.
85. رسم نمودار در MATLAB
رسم نمودار يكي از قابليت هاي مهم MATLABمحسوب
مي گردد. توابع رسم نمودار در MATLABبه دو
دسته تقسيم ميشوند:
توابع ماتريسي •
توابع سمبليك •
86. رسم نمودار در MATLAB
توابع
توابعي كه با ماتريس ها كار ميكنند و متغير ورودي
ماتريسي
آنها ماتريس ها هستند .
تعدادي از توابع ماتريسي MATLABعبارتند از:
plot3,plot, bar,bar3,pie,pie3,contour
87. رسم نمودار در MATLAB
توابع
توابعي كه متغيرهاي ورودي آنها به صورت سمبوليك
سمبوليك
يا رشته اي مي باشند.
تعدادي از توابع سمبليك MATLABعبارتند از:
. ezplot,ezcontour ,ezsurf
90. رسم نمودار در MATLAB
رسم دو
بعدي
تابع Plot
رسم نمودار هاي دوبعدي محسوب مي شود
و امكانات زيادي را براي ويرايش تصوير در
خروجي فراهم مي آورد.
91. رسم نمودار در MATLAB
نحوه ي استفاده از تابع plot
;(Handle = plot(X1,Y1,LineSpec,'PropertyName',PropertyValue
در عبارت بال ، 1 X1,Yماتري س هاي برداري هم اندازه
هستند كه قرار است به صورت يك به يك بر روي محورهاي
X,Yرسم شوند.
متغي ر LineSpecيك رشت ه اس ت ك ه درآن ميتوان
خص وصيات رن گ خ ط، نوع مارك ر )به عنوان مثال مارك ر م ي-
توان د ب ه ص ورت مرب ع وي ا س تاره باش د( و نوع خط)- ،
-- ، : ، .-(، را تعيين نمود.
PropertyNameشامل تمامي خواص شيئ ’ ‘ Lineمي
گردد ك ه قرار اس ت ت ا ب ا مقادي ر عددي ي ا رشته اي
97. رسم نمودار در MATLAB
جه ت تنظيم از توابSet, get
توابع ع set,get
…,21,'set(gca,'fontsize
خص وصيات اشياء استفاده ميگردد.
تاب ع setدر اولين آرگومان ورودي
;)’'FontWeight','bold
خود شماره شي ء مورد نظر را
)’fs=get(gca, 'fontsize
دريافت كرده و در ورودي هاي ديگر
=fs
خود خواص و مقادير آنها را تنظيم
مينمايد.
21
تابع getمقدار عددي يا رشته اي
متناظر با يك خاصيت را بر ميگرداند.
99. رسم نمودار در MATLAB
رسم همزمان چند منحني در يک
نمودار
جهت رسم چند منحني به طور هم زمان در يك نمودار ميتوان از
تابع plotهمچون مثال زير استفاده نمود. مثال
;1:1.:0=x
;)y=exp(x
;)z=exp(-x
)’plot(x,y,'-.r',x,z,'—gp
100. رسم معرفي چند تابعMATLAB
نمودار در مهم :
: holdازاين تابع جهت رسم چند منحني بر روي يك نمودار استفاده
ميشود.
: subplotاز اين تابع جهت رسم چند نمودار در يك figureاستفاده
ميشود.
: ginputاين تابع براي داده برداري دستي از نمودار استفاده ميشود.
: gridجهت شطرنج بندي نمودار از ان استفاده ميشود.
: Semilogx,semilogyمحورهاي x,yرا به صورت لگاريتمي در نظر
ميگيرد.
: loglogهر دو محور را به صورت لگاريتمي رسم ميكند.
:Linspaceاز اين تابع براي گرفتن تعداد معيني عدد در يك بازه ي
معين استفاده مي شود.
102. رسم نمودار در MATLAB
تابع ezplotو نحوه ي استفاده از آن
ezplotمتغي ر ورودي خود را ب ه ص ورت س مبليك و يا
رشته اي دريافت مي نمايد. در عبارت زير نحوه ي كار
تابع ezplotبيان شده است.
)’Handle = ezplot(‘function
;)’)h=ezplot(‘tan(x
104. رسم نمودار در MATLAB
تنظيم خصوصيات منحني
در مثال قب ل عدد Hامكان دستيابي به منحن ي يا دس ته منحني
هاي رسم شده را فراهم مي آورد وبه كمك آن ميتوان تغييرات
لزم را بر روي منحني هاي رسم شده اعمال نمود.
;(’--','set(H(1),'color','r','linestyle
;('.-','set(H(2),'linewidth',3,'linestyle
105. رسم نمودار در MATLAB
رسم سه
MATLABبراي ترس يم منحن ي هاي سه بعدي
تواب ع زيادي در
بعدي ب ه كار ميرون د ك ه پ ر كاربردتري ن آنه ا تابع
3 ezplot3,plotمحس وب ميشوند.اي ن تواب ع همانن د توابع
ezplot,plotعم ل م ي كنن د ب ا اي ن تفاوت ك ه براي رسم
منحني هاي سه بعدي پيش بيني شده اند.
;(Handle = plot3(X1,Y1,LineSpec,'PropertyName',PropertyValue
)]Handle = ezplot3( ‘funcX’,’funcY’,’funcZ’ ,[tmin,tmax
106. MATLAB رسم نمودار در
مثال
t = 0:pi/50:10*pi ; ezplot3('sin(t)','cos(t)','t',[0,6*pi] )
plot3(sin(3*t),cos(2*t),t) grid on
grid on
121. Cur ve F itting
Polynomial curve fitting
درونياب ي داده ها در نموداره ا يك ي از مس ائل مهم در علوم
مهندس ي و رياضيات محس وب ميگردد ك ه در اي ن جا در مورد
نحوه فيت نمودن يك منحني چندجمله اي درجه ي nبر منحني
تابع polyfitبحث ميشود.
مورد نظر،
اي ن تاب ع متغيرماتريس ي xو تاب ع ماتريس ي yرا دريافت كرده
وضرايب يك نمودار چندجمله اي از درجه nرا كه بر منحني متناظر با
x,yفيت هستند به ما تحويل ميدهد.
)p=polyfit(x,y,n
122. Cur ve F itting
Polynomial curve fitting
تابعpolyval
اين تابع و تابع ماتريسي ضرايب يك نمودار چندجمله اي از درجه nو
متغيرماتريسي xرا دريافت كرده و مقادير yمتناظر با ماتريس xرا
بر ميگرداند.
اين تابع معمول بلفاصله بعد از تابع polyfitبه كار ميرود و براي
شود.
رسم داده هاي درونيابي شده استفاده مي )p=polyval(p,x
123. Cur ve F itting
Polynomial curve fitting مثال
x=0:.1:1;
y=[1 2 4 5 6 7 9 13 14 15 18];
p=polyfit(x,y,3);
a=polyval(p,x);
plot(x,y,'r',x,a,'--b','linewidth',3);
. فيت شده استY عبارتست از ضرايب چند جمله اي درجه 3 كه بر منحنيp در اين جا ماتريس
[p=[-2.7195 10.6061 8.8267 1.1678
Fitted curve=-2.7x^3 + 10.6x^2 + 8.8x + 1.2
125. Cur ve F itting
Polynomial curve fitting
ادير ظرفيت حرارتي بر حسب j/kg.kو دما بر حسب درجه كلوين براي آهن فريتي
لص به صورت زير داده شده است. اگرفرض گردد Cpدر محدوده دمايي فوق از
طي پيروي ميكند. معادله آن را بدست آوريد ونمودار آن را رسم نماييد.
;] 967 557 996 016 125 444[ = Cp
;]3301 0001 008 006 054 892[ = T
126. Cur ve F itting
Exponential curve fitting
p=polyfit(T,Cp,1);
p=
0.4377 327.9665
a=polyval(p,T);
plot(T,Cp,‘g',T,a,'b','linewidth',2);
xlabel('T (k)','fontsize',14)
ylabel('Cp (j/kg.k)','FONTSIZE',14)
127. Cur ve F itting
Exponential curve fitting
براي درونيابي دادها به صورت اكسپونانسيلي از همان
تابع polyfitاستفاده ميشود با اين تفاوت كه دراينجا به
جاي ماتريس y = 10 ، yآن وارد ميشود.
)f ( x
لگاريتم
فرض كني د ك ه مقادي ر تاب ع yقرار( x ) = logق fتابعي
) yاس ت طب (
لگاريتمي به شكل
درونيابي شود.آنگاه في ت كردن بر: روي ماتريس logy
در نتيج ه اگ ر عم ل ميتوان نوشت
صورت گيرد تابع (f(xبدست مي آيد و ميتوان به كمك
ان تابع yرا هم بدست آورد.
129. Cur ve F itting
Polynomial curve fitting
. ( مي باشدy=exp(a*x^2 + b*x +c اعداد زير مربوط به تابع
.را بدست آوريدa,b,c ضرايب
130. Cur ve F itting
Exponential curve fitting
Plot(data(:,1),data(:,3))
131. Cur ve F itting
Exponential curve fitting
x=0:.1:1;
y=[1 2 4 5 6 7 9 13 14 15 18];
p=polyfit(x,log10(y),3);
a=10.^polyval(p,x);
semilogy(x,y,'+r',x,a,'-b','linewidth',3);
132. D ata
D ata
I mpor t
and
E xpor t
I mpor t
and
E xpor t
133. Data Impor t and E xpor t D ata
I mpor t
and
زير فرمت فايل هايي كه matlabميتواند بخواند يا بنويسدE xpor tجدول
را به هراه توابعي كه هر فرمت را پشتيباني ميكنند نشان ميدهد
134. Data Impor t and E xpor t D ata
Import text data file I mpor t
and
E xpor t
ما براي سادگي كار روند مرحله به مرحله )ويزارد( خواندن يك فايل
متني كه حاوي داده هاي دستگاه DSCاست را بررسي ميكنيم.
135. Data Impor t and E xpor t D ata
Import text data file I mpor t
and
E xpor t
136. Data Impor t and E xpor t D ata
Import text data file I mpor t
and
E xpor t
137. Data Impor t and E xpor t D ata
Import text data file I mpor t
and
E xpor t
138. Data Impor t and E xpor t D ata
Import text data file I mpor t
and
E xpor t
پس از طي مراحل ويزارد داده هاي انتخاب شده
از فايل مورد نظر درون فضاي كاري نرم افزار
توليد شده و قابل دسترسي خواهند بود.
•روال گام به گام ذكر شده براي كليه فرمت هايي
كه matlabاز آن ها پشتيباني ميكند قابل انجام
است.
139. Data Impor t and E xpor t D ata
Export matlab file I mpor t
and
E xpor t
MATLABقادر است تا نتايج فعاليت هاي خود را به صورت هاي
مختلف ذخيره سازي نمايد كه اين كار را به كمك توابع خاصي كه
براي هر نوع فرمت خاص تعيين شده اند انجام ميدهد.
از جملنه مهمترين عمليات exportدر ، matlabذخير ه
سازي به طر يق ايجاد فا يل مت ني، ذخيره سازي ت صوير با
پس وند هاي مختل ف، ذخيره س ازي داده ه ا ب ه صورت
فاي ل نرم افزار ، excelذخيره س ازي تص اوير متحرك با
پسوند . aviو ... ميباشد.
140. Data Impor t and E xpor t D ata
Export matlab file I mpor t
and
E xpor t
MATLABقادر است كه اطلعات موجود در فضاي كاري خود را
به صورت فايلي با پسوند مخصوص به خود ذخيره كند) . ( matتا
بتوان در آينده از آن ها استفاده نمود.
براي ذخيره كردن اطلعات ب ه شك ل “م ت فاي ل” از تابع save
استفاده ميشود.
)'2save ('path', 'var1', 'var
در عبارت بال اولي ن آرگومان )(pathمس ير مورد نظر براي ذخيره
كردن را تعيين كرده و آرگومان هاي ديگر متغير هايي كه نياز است تا
نگهداري شوند را تعيين مي كنند.
141. Data Impor t and E xpor t D ata
Export matlab file I mpor t
and
E xpor t
در اگر تابع saveبه شكل مقابل به كار رود، كليه
)'save ('path متغير هاي موجود در فضاي كاري، در مسير مورد
نظر نوشته ميشوند.
در حالتي كه تابع saveبدون ارگومان ورودي به
save كار رود كلي ه متغي ر هاي موجود در مسير جاري
) matlabمسير پيش فرض( نوشته ميشوند.
143. Cur ve F itting
Import matlab file
ل متني با نام dsc.txtرا از روي desctopبه محيط matlabوارد كرده
نحني dh/dtبر حسب زمان را رسم نماييد.
144. Data Impor t and E xpor t D ata
import matlab file I mpor t
and
E xpor t
در اگر تابع loadبه شكل مقابل به كار رود، كليه
)'A=load ('path
متغي ر هاي موجود در فاي ل pathبا پسوند mat
داخل متغير ساختاري Aميشود.
در حالتي كه تابع loadبه شكل مقابل به كار رود،
Load path
كليه متغير هاي موجود در مسير pathبه همان
صورت وارد محيط كاري ميشوند.
145. Data Impor t and E xpor t D ata
import file I mpor t
and
E xpor t
A=load (‘filename‘,’format’)
Read data from text file;
fid=textread(‘d:Mohsennecessary informations.txt','%s')
'sutaspire@googlegroups.com'
'--------------------------------'
'ETS'
'ID:3516769'
'user:moosavinezhad'
'pass:Smoosavi2919'
147. پنجره هاي كنترلي
Inputdlg
answer = inputdlg(prompt)
a=inputdlg('Please input your name')
a=
'Mohsen'
>> whos a
Name Size Bytes Class
a 1x1 72 cell array
Grand total is 7 elements using 72 bytes
148. پنجره هاي كنترلي
Inputdlg
answer = inputdlg(prompt,dlg_title,num_lines,defAns)
>> answer = inputdlg('Please input your function',…
'Input Box',2,{'exp(x)'})
answer =
'exp(x)'
>> func=char(answer);
>> whos answer func
Name Size Bytes Class
answer 1x1 72 cell array
func 1x6 12 char array
Grand total is 13 elements using 84 bytes
158. Symbolic math
Introduction
رياص يات س مبليك بخش ي از matlabاس ت ك ه در آ ن ب ه محاس بات ب ه صورت
سمبوليك وب ه كم ك نماده ا ص ورت م ي گيرد. جعب ه ابزار رياضيات سمبليك
مكمل بخش محاسبات عددي matlabمحسوب ميشود.
159. Symbolic math
Introduction
جعبه ابزار رياصيات سمبليك نوع جديدي از داده ها به نام اشيا سمبليك را تعريف
مي كند . يك شيي سمبوليك يك داده محسوب ميشود كه يك رشته را به عنوان
يك نماد در خود ذخيره ميكند. اين جعبه ابزار به كمك اشيا سمبليك متغيرها،
عبارات و ماتريس هاي سمبليك را نمايش ميدهد.
چگونه ميتوان يك متغير سمبليك تعريف كرد؟
به كمك توابع sym , symsميتوان متغيرهاي سمبليك تعريف نمود.
160. Symbolic math
Introduction
يك رشته را به عنوان ورودي دريافت كرده و يك خروجيsym تابع
syms از نوع سمبليك به ما ميدهد. براي سادگي ميتوان از عبارت
a=sym('alpha') . استفاده نمودsym به جاي
a =alpha
b=a^2
a = sqrt(sym(2^2));
b=
b=2;
alpha^2 whos a b
Name Size Bytes Class
a 1x1 126 sym object
b 1x1 8 double array
Grand total is 2 elements using 126 bytes
161. Symbolic math
Introduction
subs تابع
اين امكان را به ما ميدهد تا در يك عبارت به جاي مقدار سمبليك يكsubs تابع
.عدد را جايگزين كنيم
syms x y
z=y*sin(x); syms a b
z1=subs(z,x,pi/2) f=subs(cos(a)+sin(b),{a,b},{sym('alpha'),pi})
z1= f=
y cos(alpha)
164. Symbolic math
x=1:10;
syms x y
y=10:10:100;
z=atan(x*y) - exp(y);
z=subs(z,{x,y},
f=subs(z,{x,y},{1,2})
{1:10,10:10:100});
f=
X1=1:10;
-6.2819
Y1=10:10:100;
Plot3(x1,y1,z)
165. Symbolic Math
Symbolic Math functions Calculus
The Symbolic Math Toolbox provides functions to do the basic
operations of calculus. The following sections describe
these functions
Differentiation
Limits
Integration
Symbolic Summation
Taylor Series
Jacobian
166. Symbolic Math
Symbolic Math functions Calculu
s
Differentiation
Examples
Assume
syms x t
Then
diff(sin(x^2))
returns
2*cos(x^2)*x
and
diff(t^6,6)
returns
720
167. Symbolic Math
Symbolic Math functions Calculu
s
limit Examples
Assume
syms x a t h;
Then
limit(sin(x)/x) => 1
limit(1/x,x,0,'right') => inf
limit(1/x,x,0,'left') => -inf
limit((sin(x+h)-sin(x))/h,h,0) => cos(x)
v = [(1 + a/x)^x, exp(-x)];
limit(v,x,inf,'left') => [exp(a), 0]
168. Symbolic Math
Symbolic Math functions Calculu
s
integration
Examples
int(-2*x/(1+x^2)^2) returns
1/(1+x^2)
int(x/(1+z^2),z) returns
x*atan(z)
int(x*log(1+x),0,1) returns
1/4
int(2*x, sin(t), 1) returns
1-sin(t)^2
int([exp(t),exp(alpha*t)]) returns
[exp(t), 1/alpha*exp(alpha*t)]
169. Symbolic Math
Symbolic Math functions Simplifications
Substitution
s
f = x^3-6*x^2+11*x-6
g = (x-1)*(x-2)*(x-3)
h = -6+(11+(-6+x)*x)*x
pretty(f), pretty(g), pretty(h)
x3 - 6 x2 + 11 x - 6
(x - 1) (x - 2) (x - 3)
-6 + (11 + (-6 + x) x) x
170. Symbolic Math
Symbolic Math functions Simplifications
Substitution
s
collect
Collect coefficients
R = collect(S,v)
For each polynomial in the array S of
polynomials, collect(S) collects terms
containing the variable v (or x, if v is
not specified). The result is an array
containing the collected polynomials.
171. Symbolic Math
Symbolic Math functions Simplifications
Substitution
s
factor
Factorization
factor(X)
factor can take a positive integer, an
array of symbolic expressions, or an
array of symbolic integers as an
argument. If N is a positive integer,
factor(N) returns the prime
factorization of N
173. Symbolic Math
Symbolic Math functions Simplifications
Substitution
s
simplify
Symbolic simplification
R = simplify(S)
simplify(S) simplifies each element of
the symbolic matrix S using Maple
simplification rules
176. Symbolic Math
Symbolic Math functions Solution of
Equations
dsolve
Symbolic solution of ordinary differential equations
r = dsolve('eq1,eq2,...', 'cond1,cond2,...', 'v')
Description
symbolically solves the ordinary differential equation(s) specified
by eq1, eq2,... using v as the independent variable and the boundary
and/or initial condition(s) specified by cond1,cond2,....
177. Symbolic Math
Symbolic Math functions Solution of
Equations
Examples
dsolve('Df = f + sin(t)') returns
-1/2*cos(t)-1/2*sin(t)+exp(t)*C1
y = dsolve('(Dy)^2 + y^2 = 1','y(0) = 0') returns
y =
sin(t)
-sin(t)
178. Symbolic Math
Symbolic Math functions Solution of
Equations
solve
Symbolic solution of algebraic equations
g = solve(eq)
g = solve(eq,var)
g = solve(eq1,eq2,...,eqn)
g = solve(eq1,eq2,...,eqn,var1,var2,...,varn
179. Symbolic Math
Symbolic Math functions Solution of
Equations
Examples
solve('a*x^2 + b*x + c') returns
[ 1/2/a*(-b+(b^2-4*a*c)^(1/2)),
1/2/a*(-b-(b^2-4*a*c)^(1/2))]
solve('a*x^2 + b*x + c','b') returns
-(a*x^2+c)/x
S = solve('x + y = 1','x - 11*y = 5') returns a structure S with
S.y = -1/3, S.x = 4/3
180. Symbolic Math
Symbolic Math functions Solution of
Equations
solve
Symbolic solution of algebraic equations
g = solve(eq)
g = solve(eq,var)
g = solve(eq1,eq2,...,eqn)
g = solve(eq1,eq2,...,eqn,var1,var2,...,varn)