seminar matlab

Post on 08-Jan-2017

228 Views

Category:

Education

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

structureبه نام خدا

استاد مربوطه: دکتر محمود محمودیوحیدی 1

فهرستمقدمه نمونه

روش هاStructureتوابع مختلف در

2

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

برای حل این مشکل دو راه برای حل این مشکل دو راه ::وجود داردوجود دارد

((CellCell))استفاده از سلول ها استفاده از سلول ها - - 11

((StructureStructure))استفاده از ساختار ها استفاده از ساختار ها - - 22

3

مقدمه

4

StructureStructure آرایه ایست که می تواند مقادیری از انواعمختلفی داده مانند عدد، کاراکتر، رشته و ... را در خود

ذخیره کند.

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

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

هستند و ...

برای مثال میخواهیم اطالعات درسی چند دانشجو شامل نام ونمره چند درس و رتبه آنها را که به صورت نمودار درختی

روبرو است در یک ساختار ذخیره کنیم:

5

نمونه

6

دو روش وجود دارد Structureبرای تعریف

-دینامیک یا 1پویا

struct-استفاده از تابع 2

-دینامیک یا پویا1در روش اول ابتدا نام ساختار را نوشته و سپس یک

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

ساخته و نام Studentsبرای مثال ساختاری با نام دانشجوی اول را در آن ذخیره میکنیم:

حال نمره ی درس ترمودینامیک را بدین صورت :ذخیره میکنیم

7

:و به همین ترتیب مقادیر بعدی

برای بقیه دانشجویان نیز به همین ترتیب:

8

برای دسترسی به یک خانه مورد نظر مانند روش قبل فشار دهید Enterآدرس آن را نوشته و کلید

برای مثال میخواهیم نمره کارگاه نرم افزار حسین حسینی را مشاهده کنیم:

9

struct-استفاده از تابع 2

فرم تعریف این تابع به این شکل :است

f = struct )‘field1’ , value1 , ‘field2’ , value2 , . . . )

را به یک ساختار تبدیل میکند که دارای Fاین دستور است و مقادیر آنها … و field2 و field1شاخه های

و... استvalue2 و value1به ترتیب برابر

10

structبرای نوشتن اطالعات درسی دانشجویان با تابع را تعریف کرده و سه دانشجو را در آن studentsابتدا

قرار می دهیم:

11

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

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

:می نویسیم

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

حال دانشجوی دوم:

12

نمره حرارت دانشجوی دوم خود شامل میان ترم و :پایان ترم است

دانشجوی سوم:

13

توابعی در Structure :

1 -isstruct: این تابع چک میکند که آیا ورودی ، یکstructure است

یا خیر. در صورت مثبت بودن عدد یک و در غیر این صورت

صفر را برمیگرداند.

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

کند14

2 – getfield : مقدار یک فیلد از یکstructure را بر می :گرداند

getfield ) structure , ‘field’ )

15

3 – rmfield یک فیلد را حذف : ( ’rmfield ) structure , ‘fieldمی کند:

4 – setfield یک فیلد به ساختار اضافه کرده و مقدار: v را :در آن قرار میدهدsetfield ) structure, ‘field’, v)

با دستورات روبرو نمره جرم را حذف کرده 3 دانشجوی

:و مقدار جدیدی به آن می دهیم

16

5 – fieldnames نام فیلدهای یک: structure را برمیگرداند:

Names = fieldnames ) structure )

17

6 – orderfields فیلدها را بر اساس حروف الفبا ::مرتب می کند

Snew = orderfields ) structure )

وجود دارد که به orderfieldsنوع دیگری از تابع ( Snew = orderfields ) structure1 , structure2فرم زیر است:

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

دو تابع باید یکی باشند

18

7– deal :مقادیر سمت راست را در سمت چپ قرار می دهد:

[a b c d = ]deal )x1 , x2 , x3 , x4)

19

ساختار و فیلد نیز قرار داد:dealمی توان در تابع

20

Thank You for listening!

21

top related