رفتن به مطلب

ارسال های توصیه شده

شما در گذشته، با نحوه‌ی ساختن ماتریس‌ها آشنا شدید، اینجا، کمی بیشتر روی این موضوع کار می‌کنیم و باز تاکید دارم که حتمن، سعی کنید برین و یه کتاب خوب درباره ماتریسها پیدا کنید، و خوداموزی کنید

متلب بر پایه و اساس ماتریس‌ها بناگذاری شده

 

چند ماتریس می‌سازیم


a=[2 3; 3 4];
x=[5 6];
a=[a,x]
برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

استفاده از :

 

یکی از عملگرهای قدرتمند در کنترل ماتریس‌هاست


a=[1 2 3;4 5 6;7 8 9];
a(2:3,1:2)
a(3,:) % means all elements in third row
a(1:2,2:3)=ones(2)

b=a(:)


پ.ن: نمی‌دونم چطور توضیح بدم اینا رو، خوب وقتی اینا رو توی برنامه وارد کنید، نتیجه رو میبیند دیگه، نیازی به وارد کردن نتایج در اینجا نیست

 

نکته: ادامه این بحث رو انشالا امشب میام انجام میدم، امروز خیلی خستم

  • Like 4
لینک به دیدگاه

Repmat

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

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


a=[1 2 3];
برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

با سعی و تکرار بیشتر، و تغییر دادن آمار و ارقام، قادر خواهید بود ماتریس‌ها رو به شیوه دلخواه تغییر بدین و همینطور شیوه صحیح از این دستور رو نیز یاد بگیرید

 

Deleting rows and columns

در مثال‌های زیر، شما یاد خواهید گرفت که چطور یک بخش از ماتریس حذف کنید، لطفن قبل از استفاده از دستورات داده شده، یک ماتریس مناسب تهیه کنید

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

 

دستور بالا، دومین ستون رو به کلی پاک خواهد کرد. به یاد داشته باشید که شما نمی‌تونید پارامتر رو به تنهایی ( مانند مثال زیر ) پاک کنید در حالی که سایر پارامتر‌ها وجود دارند، اما این امکان رو دارین که یک پارامتر رو جایگذرین کنید

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

به مثال زیر دقت کنید

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

متوجه موضوع شدید؟ چه اتفاقی افتاد!

ابتدا ستون‌ها حذف شدن و یک ماتریس سطری رو پیش رو دارید، سپس پارامتر‌های 2، 4 و ششم حذف شدن

 

 

Elementary matrices

با استفاده از دستور زیر، شما قادر خواهید بود که گروهی از ماتریس‌های ساده رو ببینید ( دستورات استفاده از اونها رو )

 

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

 

برای مثال، دستورات zeros ، ones و rand ماتریس‌های صفر، 1 و رندوم رو خواهند ساخت، که شما با وارد کردن n در جلوی انها ( درون پرانتز ) قادر خواهید بود یک ماتریس n*n تهیه کنید یا همینطور n*m، بدین صورت

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

مثال زیر رو وارد کنید

 

[left][right][font=&quot]Eye(3)[/font][/right]


[/left]


Matlab has a number of other function which generated special matrices, such as gallery, hadamard, hankel, hilb, toeplitz, vander, etc. see help elmat.

 

 

 

پ.ن:بدلیل اهمیت موضوع این بخش، و همینطور اینکه آموزش بخش مقدماتی مطلب، تقریبن 75 درصد راه رو پیموده، این بخش رو به آهستگی پیش می‌ریم و امیدواریم کسانی که این آموزش رو می‌بینند بخوبی ازش بهره ببرند تا در آینده نزدیک، پس از اتمام شدن این مجموعه، به سراغ کتاب دیگری برویم

 

با تشکر

 

( از اینکه کمی بی‌نظم شده شرمند، توی world نوشته بودم، اینجا وارد کردم، دیگه به این شیوه نمایش می‌ده )

  • Like 4
لینک به دیدگاه

matrices and for

 


a=[1 2 3;4 5 6;7 8 9];
if v=a
disp(v')
end
برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

خودم در این باره زیاد نمی‌دونم و تا الان برام کاربردی نداشته

 

عملیات ضرب ماتریس

 

دو ماتریس A و B‌ داریم، و C=AB


A=[1 2; 3 4];
B=[5 6; 7 8];
برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

و نکته قابل توجه اینجاس که مقدار A*B‌ با مقدار B*A برابر نیست، حتمن امتحان کنید

 

و حال برای مقدار توانی، A*A برابر با A^2 میشه، و آیا این دو با هم برابر هستند ؟ A.^2 چی ؟

حتمن موارد بالا رو در برنامه مورد اجرا قرار بدهید تا درک صحیحی از موضوعات پیش اومده داشته باشید

 

در زیر، یک سری از دستور‌های ماتریسی رو مشاهده می‌کنید

 

attachment.php?attachmentid=832&stc=1&d=1276454324

  • Like 2
لینک به دیدگاه

String

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

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

متوجه شدین ؟ بایستی جمله مورد نظر رو بین ' قرار بدین

 

Input string

 

برای وارد کردن رشته‌ها از طریق دستور input، کافیست به صورت زیر عمل کنید ( مثال زیر )

 

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

Other String Function

 

attachment.php?attachmentid=845&stc=1&d=1276712889

 

Eval & Feval

 


>> help [color=DarkOrchid]eval[/color]
EVAL Execute string with MATLAB expression.
EVAL(s), where s is a string, causes MATLAB to execute
the string as an expression or statement.

[X,Y,Z,...] = EVAL(s) returns output arguments from the
expression in string s.

The input strings to EVAL are often created by
concatenating substrings and variables inside square
brackets. For example:

Generate a sequence of matrices named M1 through M12:

for n = 1:12
eval(['M' num2str(n) ' = magic(n)'])
end

Run a selected M-file script.

D = {'odedemo'; 'sunspots'; 'fitdemo'};
n = input('Select a demo number: ');
eval(D{n})
برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

پ.ن: این دو متن آخر رو خودم به خوبی نمی‌دونم، و چند بار، از دوستانم شنیدم که مورد نیازشون شده ...

به همین دلیل، متن help خود برنامه رو اینجا گذاشتم

با تشکر ....

 

این فصل هم تموم شد، و بزودی متلب مقدماتی رو به پایان می‌رسونیم، و این مطالبی که گفته شده، اگر دوستان سعی کنن در کنار درساشون، از این دستورات استفاده کنن و به تمرین بپردازن، بخوبی می‌تونن این مهم رو یاد بگیرن و مطمئن باشین در کلاس‌ها نیز که ثبت نام کنین، چیزی فراتر از این بهتون نمی‌گن، با این تفاوت که اونجا مجبور به حضور در کلاس و همینطور انجام تکالیف هستین

string.JPG

  • Like 2
لینک به دیدگاه

اینم یه کتاب آموزش برای مطلب:

 

A Guide to Matlab

For Beginners and Experienced Users

0521803802.jpg

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

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

  • Like 3
لینک به دیدگاه

سلام دوستان

خوبین ؟

می‌دونم یه تاخیر خیلی طولانی پیش اومده، و این به دلیل امتحاناتم هستش که تا جمعه ادامه داره

بخش زیادی نمونده که اینجا بخوام بگم، چون مقدماتی هستش

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

 

با آرزوی موفقیت :wubpink:

  • Like 2
لینک به دیدگاه

گراف دو بعدی

این گراف به وسیله دستور plot رسم شده که به صورت‌های زیر قابل نمایش هستش، بعد از وارد کردن چند مثال، در مورد هر یک توضیحی خواهیم داد


[color=Blue]1.[/color] >> plot (y)
[color=Blue]2.[/color] >> plot (rand (1,20))
[color=Blue]3.[/color] >> plot (x,y)
[color=Blue]4.[/color] >> plot ( [0 4] , [1 3] )
[color=Blue]5.[/color] >> ezplot (' tan (x) ' )
برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

  1. نوشتن یک text در گراف رسم شده، پس از بکار بردن دستور مورد نظر، برنامه منتظر می‌مونه که شما به وسیله موس، جای متن مورد نظر رو انتخاب کرده و سپس با کلیک، متن دلخواه در اون مکان قرار خواهد گرفت. با استفاده از tools --> edit plot قادر خواهید بود که جای متن مورد نظر رو عوض کرده و تغییراتی رو در اون بخش ایجاد کنید ( دقت کنید که آدرس داده شده در پنجره گراف هستش نه در پنجره متلب )
  2. گذاشتن / حذف شطرنجی کردن صفحه در یک گراف.
  3. تا الان ازش استفاده نکردم، نمی‌دونم چی به چیه ! :دی
  4. قرار دادن یک عنوان برای یک گراف
  5. برچسب زدن به قسمت عمودی نمودار
  6. برچسب زدن به قسمت افقی نمودار

 

multiple plots on the same axes

حداقل سه روش برای انجام دادن این مهم وجود داره

 

  1. استفاده از دستور hold و تا زمانی که این دستور وجود داره، تمامی دستورات داده شده جهت رسم، در یک نمودار قرار خواهند گرفت. برای استفاده از این دستور و روشن شدنش، کافیه که hold‌ رو بزنید و سپس enter‌ کنید. اگه اینکار رو دوباره انجام دهید، این دستور غیر فعال می‌شه
  2. استفاده از دستور plot همراه با متغیرهای زیاد. به شیوه‌ی زیر
    برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.


  3. و روش سوم استفاده از
    برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

    زمانی که x و y هر دو ماتریس هستند یا جایی که یکی از آنها ماتریس و دیگری بردار

line styles, markers and colors


>> plot ( x, y, '--' )
>> plot (x, y, 'o' )
>> plot (x, sin (x), x, cos (x), 'om -- ' )
برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

می‌تونید از inf- یا inf+ نیز استفاده کنید در محدوده‌ی بالا و اگه دوست دارین به حالت اتوماتیک قبل برگردین، از دستور axis auto استفاده کنید

در محدوده گراف با استفاده از بخش tools می‌تونید تغییرات دلخواه رو وارد کنید. گاهی دیده می‌شه که نمودار رسم شده در محدوده دید شما نیست، به بخش تنظیمات رفته و تنظیم رو صورت دستی تغییر بدین.

 

multiple plots in a figure: subplot

 

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

بدین معنی که پنجره مورد نظر، دارای m*n نمودار، و p نیز محل قرار گرفتن هر نمدار می‌باشد

در مثال زیر، از یک مثال گراف‌های سه بعدی استفاده شده که بعدن در مورد اونها توضیح خواهیم داد، شما اینجا تنها کاربرد subplot‌ رو مشاهده کنید و نکته‌ها رو ببینید

 


[x, y] = meshgrid ( -3:0.3:3 );
z= x .* exp (-x.^2 - y.^2 );
subplot (2,2,1)
mesh(z), tittle ('subplot (2,2,1)')
subplot (2,2,2)
mesh(z)
view(-37.5,70),tittle('subplot(2,2,2)')
subplot (2,2,3)
mesh(z)
view(-37.5,70),tittle('subplot(2,2,3)')
subplot (2,2,4)
mesh(z)
view(-37.5,70),tittle('subplot(2,2,4)')
برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

figure, clf and cla

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

زمانی که h‌ یک عدد صحیح باشد، یک پنجره گراف جدید ساخته، یا پنجره گرافی رو که وجود داره، به h‌ تغییر داده.

clf پنجره گراف مورد مشاهده رو پاک می‌کنه ( گرافی که در حال اجراست ). همینطور تمامی مشخصات و برچسب‌ها رو

cla تمامی برچسب‌ها و پلاتها رو پاک می‌کنه

 

  • Like 2
لینک به دیدگاه

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

  • Like 1
لینک به دیدگاه
سلام میشه یه نفر ماتریس 3*3و3*5 رو واسه من حساب کنه .5 نمره داره کمکم کنید

 

يعني چي؟:ws28: ماتريس رو هم مگه حساب مي كنن؟

  • Like 1
لینک به دیدگاه
يعني چي؟:ws28: ماتريس رو هم مگه حساب مي كنن؟

 

خب عوض کمک کردنته:banel_smiley_4:

حتما دترمینانشو میخواد یا چیزی تو این مایه ها

:icon_gol:

  • Like 1
لینک به دیدگاه
خب عوض کمک کردنته:banel_smiley_4:

حتما دترمینانشو میخواد یا چیزی تو این مایه ها

:icon_gol:

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

مستطیلی نه..

به هر حال من هم موافقم..

اصلا جای خنده نداره...

یعنی که چه!!!!

اگه بیشتر توضیح بده که خیلی بهتر میشه

لینک به دیدگاه

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

لینک به دیدگاه

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

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

بعدم فهمیدم اصلا منظور استاد چیز دیگه بوده دوستم بد متوجه شده

  • Like 1
لینک به دیدگاه
×
×
  • اضافه کردن...