<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>بایگانی‌های ترفند متلب - ايران متلب</title>
	<atom:link href="https://matlab1.ir/tag/%d8%aa%d8%b1%d9%81%d9%86%d8%af-%d9%85%d8%aa%d9%84%d8%a8/feed/" rel="self" type="application/rss+xml" />
	<link>https://matlab1.ir/tag/ترفند-متلب/</link>
	<description>مرجع فیلم های آموزشی فارسی دانشگاهی و مهندسی</description>
	<lastBuildDate>Wed, 22 May 2024 14:35:54 +0000</lastBuildDate>
	<language>fa-IR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://matlab1.ir/wp-content/uploads/2017/08/ref_a2-150x150.png</url>
	<title>بایگانی‌های ترفند متلب - ايران متلب</title>
	<link>https://matlab1.ir/tag/ترفند-متلب/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>برازش منحنی مبتنی بر داده در متلب</title>
		<link>https://matlab1.ir/%d8%a8%d8%b1%d8%a7%d8%b2%d8%b4-%d9%85%d9%86%d8%ad%d9%86%db%8c-%d9%85%d8%a8%d8%aa%d9%86%db%8c-%d8%a8%d8%b1-%d8%af%d8%a7%d8%af%d9%87-%d8%af%d8%b1-%d9%85%d8%aa%d9%84%d8%a8/</link>
					<comments>https://matlab1.ir/%d8%a8%d8%b1%d8%a7%d8%b2%d8%b4-%d9%85%d9%86%d8%ad%d9%86%db%8c-%d9%85%d8%a8%d8%aa%d9%86%db%8c-%d8%a8%d8%b1-%d8%af%d8%a7%d8%af%d9%87-%d8%af%d8%b1-%d9%85%d8%aa%d9%84%d8%a8/#comments</comments>
		
		<dc:creator><![CDATA[ایران متلب]]></dc:creator>
		<pubDate>Thu, 31 Jul 2014 10:23:31 +0000</pubDate>
				<category><![CDATA[آموزش]]></category>
		<category><![CDATA[آموزش متلب]]></category>
		<category><![CDATA[Curve Fitting]]></category>
		<category><![CDATA[Curve Fitting Toolbox]]></category>
		<category><![CDATA[برازش منحنی]]></category>
		<category><![CDATA[ترفند]]></category>
		<category><![CDATA[ترفند متلب]]></category>
		<category><![CDATA[ترفندهای متلب]]></category>
		<category><![CDATA[جعبه ابزار برازش منحنی]]></category>
		<category><![CDATA[رگرسیون غیر خطی]]></category>
		<category><![CDATA[روش های عدد]]></category>
		<category><![CDATA[محاسبات عددی]]></category>
		<category><![CDATA[مدل سازی]]></category>
		<guid isPermaLink="false">http://am19.siteground.biz/~matlab18/matlab1.ir/?p=773</guid>

					<description><![CDATA[<p>یکی از سئوالاتی که غالبا در میان ایمیلهای ارسالی می بینم ، و در کلاس های آموزشی نیز به کرات مطرح می شوند، چگونگی برازش منحنی در متلب بر اساس داده است. فرض کنید: شما یک دیتا ست دارید که متشکل از دو متغیر است، که آن ها را در این پست با نام X [&#8230;]</p>
<p>نوشته <a href="https://matlab1.ir/%d8%a8%d8%b1%d8%a7%d8%b2%d8%b4-%d9%85%d9%86%d8%ad%d9%86%db%8c-%d9%85%d8%a8%d8%aa%d9%86%db%8c-%d8%a8%d8%b1-%d8%af%d8%a7%d8%af%d9%87-%d8%af%d8%b1-%d9%85%d8%aa%d9%84%d8%a8/">برازش منحنی مبتنی بر داده در متلب</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></description>
										<content:encoded><![CDATA[<p><a href="http://iran-matlab.ir/?product=%D9%81%DB%8C%D9%84%D9%85-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D9%81%D8%A7%D8%B1%D8%B3%DB%8C-%D8%AC%D8%B9%D8%A8%D9%87-%D8%A7%D8%A8%D8%B2%D8%A7%D8%B1-%D8%A8%D8%B1%D8%A7%D8%B2%D8%B4-%D9%85%D9%86%D8%AD%D9%86" target="_blank" rel="noopener noreferrer"><img fetchpriority="high" decoding="async" class="aligncenter size-full wp-image-5831" src="https://matlab1.ir/wp-content/uploads/2017/06/curve-fitting-MATLAB-training-video.png" alt="" width="400" height="400" srcset="https://matlab1.ir/wp-content/uploads/2017/06/curve-fitting-MATLAB-training-video.png 400w, https://matlab1.ir/wp-content/uploads/2017/06/curve-fitting-MATLAB-training-video-150x150.png 150w, https://matlab1.ir/wp-content/uploads/2017/06/curve-fitting-MATLAB-training-video-300x300.png 300w" sizes="(max-width: 400px) 100vw, 400px" /></a></p>
<p style="color: #666666;">یکی از سئوالاتی که غالبا در میان ایمیلهای ارسالی می بینم ، و در کلاس های آموزشی نیز به کرات مطرح می شوند، چگونگی برازش منحنی در متلب بر اساس داده است. فرض کنید:</p>
<ul style="color: #666666;">
<li style="font-weight: inherit; font-style: inherit;">شما یک دیتا ست دارید که متشکل از دو متغیر است، که آن ها را در این پست با نام X و Y نشان خواهیم داد؛</li>
<li style="font-weight: inherit; font-style: inherit;">شما نیازمند مدلی (تابعی) هستید که ارتباط میان این دو متغیر را به صورت ریاضی توصیف نماید؛</li>
<li style="font-weight: inherit; font-style: inherit;">و هیچ دانش اولیه ای در مورد چگونگی معادلات ریاضی توصیف کننده این ارتباط ندارید و فقط می بایست با استفاده از داده ای که در دست دارید، این مسأله را حل نمایید.</li>
</ul>
<p style="color: #666666;"><span style="font-style: inherit; color: #719430;">سئوال اصلی:</span> چگونه می توان بهترین منحنی توصیف کننده ارتباط X و Y را به دست آورد؟</p>
<p style="color: #666666;">برای حل این مسأله روش های مختلفی عددی ارائه شده اند که می توان از روش های کلاسیک مبتنی بر چند جمله ای (مثلا <span style="font-style: inherit;">روش لاگرانژ</span>)، سیستم های فازی و شبکه های عصبی مصنوعی نام برد. در این پست، که از سلسله ترفندهای متلب در ایران متلب است، قصد داریم برخی از امکانات جعبه ابزار (تولباکس) برازش منحنی یا Curve Fitting Toolbox را برای حل مسأله برازش منحنی مبتنی بر داده به کار بگیریم. با ما در ادامه مطلب همراه باشید.</p>
<p>یکی از سئوالاتی که غالبا در میان ایمیلهای ارسالی می بینم، و در کلاس های آموزشی نیز به کرات مطرح می شوند، چگونگی برازش منحنی در متلب بر اساس داده است. فرض کنید:</p>
<ul>
<li style="font-weight: inherit; font-style: inherit;">شما یک دیتا ست دارید که متشکل از دو متغیر است، که آن ها را در این پست با نام X و Y نشان خواهیم داد؛</li>
<li style="font-weight: inherit; font-style: inherit;">شما نیازمند مدلی (تابعی) هستید که ارتباط میان این دو متغیر را به صورت ریاضی توصیف نماید؛</li>
<li style="font-weight: inherit; font-style: inherit;">و هیچ دانش اولیه ای در مورد چگونگی معادلات ریاضی توصیف کننده این ارتباط ندارید و فقط می بایست با استفاده از داده ای که در دست دارید، این مسأله را حل نمایید.</li>
</ul>
<p><span style="font-style: inherit; color: #719430;">سئوال اصلی:</span> چگونه می توان بهترین منحنی توصیف کننده ارتباط X و Y را به دست آورد؟</p>
<p>برای حل این مسأله روش های مختلفی عددی ارائه شده اند که می توان از روش های کلاسیک مبتنی بر چند جمله ای (مثلا <span style="font-style: inherit;">روش لاگرانژ</span>)، سیستم های فازی و شبکه های عصبی مصنوعی نام برد. در این پست، که از سلسله ترفندهای متلب در ایران متلب است، قصد داریم برخی از امکانات جعبه ابزار (تولباکس) برازش منحنی یا Curve Fitting Toolbox را برای حل مسأله برازش منحنی مبتنی بر داده به کار بگیریم.</p>
<p><span style="font-weight: inherit; font-style: inherit; color: #993300;"><span style="font-style: inherit; color: #719430;">تولید داده برای انجام برازش منحنی</span></span></p>
<p>هر چند کسی که قصد حل مسأله برازش منحنی را دارد، اصولا بایستی داده های مربوط به مسأله اش را داشته باشد، اما به دلیل این که این پست به منظور استفاده آموزشی نوشته می شود، ترجیح دادم که داده های مورد استفاده را به صورت مصنوعی و توسط خود متلب ایجاد نمایم. قطعا برای کسانی که قصد استفاده از مطالب مندرج در این پست را دارند، انجام مرحله تولید داده الزامی نیست. داده های مورد استفاده در این پست را با استفاده از قطعه کد زیر تولید می کنیم:</p>
<div class="code" dir="ltr" style="color: #666666;"><span style="font-family: 'courier new', courier;">s = RandStream(‘mt19937ar’,&#8217;seed’,1971);</span><br />
<span style="font-family: 'courier new', courier;"> RandStream.setDefaultStream(s);</span></div>
<p dir="ltr" style="font-weight: inherit; font-style: inherit;"><span style="font-family: 'courier new', courier;">X = linspace(1,10,100);</span><br />
<span style="font-family: 'courier new', courier;"> X = X’;</span></p>
<p dir="ltr" style="font-weight: inherit; font-style: inherit;"><span style="font-family: 'courier new', courier;">% Specify the parameters for a second order Fourier series</span></p>
<p dir="ltr" style="font-weight: inherit; font-style: inherit;"><span style="font-family: 'courier new', courier;">w = .6067;</span><br />
<span style="font-family: 'courier new', courier;"> a0 = 1.6345;</span><br />
<span style="font-family: 'courier new', courier;"> a1 = -.6235;</span><br />
<span style="font-family: 'courier new', courier;"> b1 = -1.3501;</span><br />
<span style="font-family: 'courier new', courier;"> a2 = -1.1622;</span><br />
<span style="font-family: 'courier new', courier;"> b2 = -.9443;</span></p>
<p dir="ltr" style="font-weight: inherit; font-style: inherit;"><span style="font-family: 'courier new', courier;">% Fourier2 is the true (unknown) relationship between X and Y</span><br />
<span style="font-family: 'courier new', courier;"> Y = a0 + a1*cos(X*w) + b1*sin(X*w) + a2*cos(2*X*w) + b2*sin(2*X*w);</span></p>
<p dir="ltr" style="font-weight: inherit; font-style: inherit;"><span style="font-family: 'courier new', courier;">% Add in a noise vector</span></p>
<p dir="ltr" style="font-weight: inherit; font-style: inherit;"><span style="font-family: 'courier new', courier;">K = max(Y) – min(Y);</span><br />
<span style="font-family: 'courier new', courier;"> noisy = Y + .2*K*randn(100,1);</span></p>
<p dir="ltr" style="font-weight: inherit; font-style: inherit;"><span style="font-family: 'courier new', courier;">% Generate a scatterplot</span><br />
<span style="font-family: 'courier new', courier;"> scatter(X,noisy,’k&#8217;);</span><br />
<span style="font-family: 'courier new', courier;"> L2 = legend(‘Noisy Data Sample’, 2);</span><br />
<span style="font-family: 'courier new', courier;"> snapnow</span></p>
<p style="color: #666666;">این داده ها در واقع از یک سری فوریه دو جمله ای که با نویز جمع شده است، ایجاد شده اند. نمودار داده های تولید شده به صورتی است که در ادامه مشاهده می کنید:</p>
<p><span style="font-weight: inherit; font-style: inherit; color: #993300;"><span style="font-style: inherit; color: #719430;">رگرسیون غیر خطی</span></span></p>
<p>اگر شما (بر فرض محال) بدانید که داده های فوق از یک قاعده سری فوریه دو جمله ای تبعیت می کنند، با استفاده از رگرسیون غیر خطی می توانید تابعی مانند $$Y=f(X)$$ را بیابید. این کار با استفاده از کد زیر قابل انجام است:</p>
<div class="code" dir="ltr">
<p style="font-weight: inherit; font-style: inherit;"><span style="font-family: 'courier new', courier;">foo = fit(X, noisy, ‘fourier2′)</span></p>
<p style="font-weight: inherit; font-style: inherit;"><span style="font-family: 'courier new', courier;">% Plot the results</span></p>
<p style="font-weight: inherit; font-style: inherit;"><span style="font-family: 'courier new', courier;">hold on</span><br />
<span style="font-family: 'courier new', courier;"> plot(foo)</span><br />
<span style="font-family: 'courier new', courier;"> L3 = legend(‘Noisy Data Sample’,&#8217;Nonlinear Regression’, 2);</span><br />
<span style="font-family: 'courier new', courier;"> hold off</span><br />
<span style="font-family: 'courier new', courier;"> snapnow</span></p>
</div>
<p>نتیجه اجرای این کد، که به صورت متغیر foo است، در ادامه نشان داده شده است. همچنین نموداری که پس از اجرای این قطعه کد نمایش داده می شود، در ادامه آمده است.</p>
<div class="code" dir="ltr"><span style="font-family: 'courier new', courier;">foo =</span><br />
<span style="font-family: 'courier new', courier;"> General model Fourier2:</span><br />
<span style="font-family: 'courier new', courier;"> foo(x) = a0 + a1*cos(x*w) + b1*sin(x*w) +</span><br />
<span style="font-family: 'courier new', courier;"> a2*cos(2*x*w) + b2*sin(2*x*w)</span><br />
<span style="font-family: 'courier new', courier;"> Coefficients (with 95% confidence bounds):</span><br />
<span style="font-family: 'courier new', courier;"> a0 = 1.734 (1.446, 2.021)</span><br />
<span style="font-family: 'courier new', courier;"> a1 = -0.1998 (-1.065, 0.6655)</span><br />
<span style="font-family: 'courier new', courier;"> b1 = -1.413 (-1.68, -1.146)</span><br />
<span style="font-family: 'courier new', courier;"> a2 = -0.7688 (-1.752, 0.2142)</span><br />
<span style="font-family: 'courier new', courier;"> b2 = -1.317 (-1.867, -0.7668)</span><br />
<span style="font-family: 'courier new', courier;"> w = 0.6334 (0.5802, 0.6866)</span></div>
<div class="code" dir="ltr"></div>
<div class="code" dir="ltr"></div>
<div class="code">
<p style="color: #666666;"><span style="font-weight: inherit; font-style: inherit; color: #993300;"><span style="font-style: inherit; color: #719430;">برازش منحنی بدون پارامتر</span></span></p>
<p style="color: #666666;">ظاهرا همه چیز مرتب به نظر می آید. اما در واقع ما تقلب کرده ایم. زیرا در ابتدای همین پست، فرض را بر این گذاشته بودیم که هیچ دانش اولیه ای در خصوص نوع رابطه موجود میان متغیرها نداریم. اما در کدی که در بند پیش نوشته شد، فرض کردیم که رابطه ریاضی موجود میان متغیرها، به صورت یک سری فوریه قابل توصیف است. در نتیجه، اعدادی هم که برای ضرایب به دست آمدند، نزدیک به اعدادی هستند که ما در مرحله تولید داده ها استفاده کرده بودیم.</p>
<p style="color: #666666;">در ادامه کدی را ارائه خواهیم کرد که بدون استفاده از هیچ دانش اضافی، و فقط صرفا با تکیه بر داده های اصلی (و البته با کمی فشار آوردن بر CPU کامپیوتر) مسأله برازش منحنی مبتنی بر داده را حل می کند. برای انجام این کار از الگوریتمی به نام LOWESS استفاده خواهیم کرد. دقت این الگوریتم وابسته به پارامتری است که در این الگوریتم به کار برده شده است و به نام پارامتر هموارسازی یا Smoothing شناخته می شود. ما در این بخش ۹۹ مدل LOWESS ایجاد خواهیم کرد که پارامتر هموارسازی آنها از صفر تا یک تغییر می کنند. از میان ۹۹ مدل ایجاد شده، بهترین مدل را انتخاب خواهیم کرد.</p>
<p style="color: #666666;">این روش منجر به ایجاد مشکل Over-fitting خواهد شد. زیرا الگوریتم LOWESS بخش های زاید داده ها (نویزها) را با همان دقتی تخمین خواهد زد که بخش اصلی داده ها را تخمین زده است. برای پیشگیری از پدیده Over-fitting از تکنیکی به نام اعتبار سنجی متقابل یا Cross Validation استفاده خواهیم کرد. در این روش داده های تولید شده به دو گروه تقسیم می شوند: (الف) داده های آموزش یا Train Data و (ب) داده های آزمایش یا Test Data.</p>
<p style="color: #666666;">الگوریتم LOWESS از داده های آموزش برای ایجاد مدل استفاده خواهد کرد، اما دقت مدل ارائه شده، با توجه به داده های آزمایش (تست) تعیین خواهند شد. معیار مورد استفاده برای ارزیابی مدل نیز، مجموع مربعات خطا در نظر گرفته شده است.</p>
<p style="color: #666666;">کدی که این عملیات را انجام می دهد در ادامه آمده است:</p>
<div class="code" dir="ltr" style="color: #666666;"><span style="font-family: 'courier new', courier; color: #000000;">num = 99;</span><br />
<span style="font-family: 'courier new', courier; color: #000000;"> spans = linspace(.01,.99,num);</span><br />
<span style="font-family: 'courier new', courier; color: #000000;"> sse = zeros(size(spans));</span><br />
<span style="font-family: 'courier new', courier; color: #000000;"> cp = cvpartition(100,’k&#8217;,10);</span></div>
<p dir="ltr" style="font-weight: inherit; font-style: inherit;"><span style="font-family: 'courier new', courier; color: #000000;">for j=1:length(spans),</span><br />
<span style="font-family: 'courier new', courier; color: #000000;"> f = @(train,test) norm(test(:,2) – mylowess(train,test(:,1),spans(j)))^2;</span><br />
<span style="font-family: 'courier new', courier; color: #000000;"> sse(j) = sum(crossval(f,[X,noisy],’partition’,cp));</span><br />
<span style="font-family: 'courier new', courier; color: #000000;"> end</span></p>
<p dir="ltr"><span style="font-family: 'courier new', courier; color: #000000;">[minsse,minj] = min(sse);</span><br />
<span style="font-family: 'courier new', courier; color: #000000;"> span = spans(minj);</span></p>
</div>
<p style="color: #666666;">در کد فوق از تابعی به نام mylowess استفاده شده است که می بایست در فایلی به نام mylowess.m ذخیره شود. محتویات این فایل در ادامه آمده است:</p>
<div class="code" dir="ltr" style="color: #666666;"><span style="font-family: 'courier new', courier; color: #000000;">function ys=mylowess(xy,xs,span)</span><br />
<span style="font-family: 'courier new', courier; color: #000000;"> %MYLOWESS Lowess smoothing, preserving x values</span><br />
<span style="font-family: 'courier new', courier; color: #000000;"> % YS=MYLOWESS(XY,XS) returns the smoothed version of the x/y data in the</span><br />
<span style="font-family: 'courier new', courier; color: #000000;"> % two-column matrix XY, but evaluates the smooth at XS and returns the</span><br />
<span style="font-family: 'courier new', courier; color: #000000;"> % smoothed values in YS. Any values outside the range of XY are taken to</span><br />
<span style="font-family: 'courier new', courier; color: #000000;"> % be equal to the closest values.</span></div>
<p dir="ltr" style="font-weight: inherit; font-style: inherit;"><span style="font-family: 'courier new', courier; color: #000000;">if nargin&lt;3 || isempty(span)</span><br />
<span style="font-family: 'courier new', courier; color: #000000;"> span = .3;</span><br />
<span style="font-family: 'courier new', courier; color: #000000;"> end</span></p>
<p dir="ltr" style="font-weight: inherit; font-style: inherit;"><span style="font-family: 'courier new', courier; color: #000000;">% Sort and get smoothed version of xy data</span><br />
<span style="font-family: 'courier new', courier; color: #000000;"> xy = sortrows(xy);</span><br />
<span style="font-family: 'courier new', courier; color: #000000;"> x1 = xy(:,1);</span><br />
<span style="font-family: 'courier new', courier; color: #000000;"> y1 = xy(:,2);</span><br />
<span style="font-family: 'courier new', courier; color: #000000;"> ys1 = smooth(x1,y1,span,’loess’);</span></p>
<p dir="ltr" style="font-weight: inherit; font-style: inherit;"><span style="font-family: 'courier new', courier; color: #000000;">% Remove repeats so we can interpolate</span><br />
<span style="font-family: 'courier new', courier; color: #000000;"> t = diff(x1)==0;</span><br />
<span style="font-family: 'courier new', courier; color: #000000;"> x1(t)=[]; ys1(t) = [];</span></p>
<p dir="ltr" style="font-weight: inherit; font-style: inherit;"><span style="font-family: 'courier new', courier; color: #000000;">% Interpolate to evaluate this at the xs values</span><br />
<span style="font-family: 'courier new', courier; color: #000000;"> ys = interp1(x1,ys1,xs,’linear’,NaN);</span></p>
<p dir="ltr" style="font-weight: inherit; font-style: inherit;"><span style="font-family: 'courier new', courier; color: #000000;">% Some of the original points may have x values outside the range of the</span><br />
<span style="font-family: 'courier new', courier; color: #000000;"> % resampled data. Those are now NaN because we could not interpolate them.</span><br />
<span style="font-family: 'courier new', courier; color: #000000;"> % Replace NaN by the closest smoothed value. This amounts to extending the</span><br />
<span style="font-family: 'courier new', courier; color: #000000;"> % smooth curve using a horizontal line.</span><br />
<span style="font-family: 'courier new', courier; color: #000000;"> if any(isnan(ys))</span><br />
<span style="font-family: 'courier new', courier; color: #000000;"> ys(xsx1(end)) = ys1(end);</span><br />
<span style="font-family: 'courier new', courier; color: #000000;"> end</span></p>
<p style="color: #666666;"><span style="font-style: inherit; color: #719430;"><span style="font-weight: inherit; font-style: inherit; color: #993300;">مقایسه نتایج به دست آمده</span><br />
</span></p>
<p style="color: #666666;">در ادامه نمودار مربوط به</p>
<ul style="color: #666666;">
<li style="font-weight: inherit; font-style: inherit;">داده های اصلی (که از معادله سری فئریه دو جمله ای تبعیت می کنند)،</li>
<li style="font-weight: inherit; font-style: inherit;">نمونه های نویزی،</li>
<li style="font-weight: inherit; font-style: inherit;">مدل رگرسیون غیر خطی (به دست آمده از تابع fit)،</li>
<li style="font-weight: inherit; font-style: inherit;">و مدل به دست آمده از طریق الگوریتم LOWESS</li>
</ul>
<p style="color: #666666;">را در کنار یکدیگیر و به منظور مقایسه ترسیم می کنیم. کدی که این کار را برای ما انجام می دهد، در ادامه آمده است.</p>
<div class="code" dir="ltr" style="color: #666666;"><span style="font-family: 'courier new', courier; color: #000000;">plot(X,Y, ‘k’);</span><br />
<span style="font-family: 'courier new', courier; color: #000000;"> hold on</span><br />
<span style="font-family: 'courier new', courier; color: #000000;"> scatter(X,noisy, ‘k’);</span><br />
<span style="font-family: 'courier new', courier; color: #000000;"> plot(foo, ‘r’)</span></div>
<p dir="ltr" style="font-weight: inherit; font-style: inherit;"><span style="font-family: 'courier new', courier; color: #000000;">x = linspace(min(X),max(X));</span><br />
<span style="font-family: 'courier new', courier; color: #000000;"> line(x,mylowess([X,noisy],x,span),’color’,&#8217;b’,&#8217;linestyle’,&#8217;-’, ‘linewidth’,2)</span><br />
<span style="font-family: 'courier new', courier; color: #000000;"> legend(‘Clean Data’, ‘Noisy Sample’, ‘Nonlinear Regression’, ‘LOWESS’, 2)</span><br />
<span style="font-family: 'courier new', courier; color: #000000;"> hold off</span><br />
<span style="font-family: 'courier new', courier; color: #000000;"> snapnow</span></p>
<p style="color: #666666;">نمودار به دست آمده پس از اجرای این کد در ادامه نمایش داده شده است:</p>
<p>مشاهده می شود که نمودار مربوط به الگوریتم LOWESS بسیار نزدیک به نمودار اصلی است و توانسته است که به خوبی رفتار داده ها را مدل سازی نماید.</p>
<p><span style="font-weight: inherit; font-style: inherit; color: #993300;"><span style="font-style: inherit; color: #719430;">ترسیم بازه های اطمینان</span></span></p>
<p>با استفاده از قطعه کد زیر می توان بازه اطمینان مربوط به مدل LOWESS به دست آمده را نمایش داد:</p>
<p>&nbsp;</p>
<div class="code" dir="ltr"><span style="font-family: 'courier new', courier;">scatter(X, noisy)</span></div>
<p dir="ltr" style="font-weight: inherit; font-style: inherit;"><span style="font-family: 'courier new', courier;">f = @(xy) mylowess(xy,X,span);</span><br />
<span style="font-family: 'courier new', courier;"> yboot2 = bootstrp(1000,f,[X,noisy])’;</span><br />
<span style="font-family: 'courier new', courier;"> meanloess = mean(yboot2,2);</span><br />
<span style="font-family: 'courier new', courier;"> h1 = line(X, meanloess,’color’,&#8217;k’,&#8217;linestyle’,&#8217;-’,&#8217;linewidth’,2);</span></p>
<p dir="ltr" style="font-weight: inherit; font-style: inherit;"><span style="font-family: 'courier new', courier;">stdloess = std(yboot2,0,2);</span><br />
<span style="font-family: 'courier new', courier;"> h2 = line(X, meanloess+2*stdloess,’color’,&#8217;r’,&#8217;linestyle’,&#8217;–’,&#8217;linewidth’,2);</span><br />
<span style="font-family: 'courier new', courier;"> h3 = line(X, meanloess-2*stdloess,’color’,&#8217;r’,&#8217;linestyle’,&#8217;–’,&#8217;linewidth’,2);</span></p>
<p dir="ltr" style="font-weight: inherit; font-style: inherit;"><span style="font-family: 'courier new', courier;">L5 = legend(‘Localized Regression’,&#8217;Confidence Intervals’,2);</span><br />
<span style="font-family: 'courier new', courier;"> snapnow</span></p>
<p>نموداری که پس از اجرای این کد به دست می آید در ادامه نمایش داده شده است:</p>
<p>&nbsp;</p>
<p><span style="color: #666666;">امیدوارم که این مطلب بتواند پاسخگوی نیاز شما و سئوالاتی که در زمینه برازش منحنی داشته اید باشد. لطفا نظرات، سئوالات و پیشنهادهای خود را در بخش نظرات مربوط به همین پست وارد نمایید. منتظر پست های بعدی در زمینه ترفندهای متلب باشید.</span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>نوشته <a href="https://matlab1.ir/%d8%a8%d8%b1%d8%a7%d8%b2%d8%b4-%d9%85%d9%86%d8%ad%d9%86%db%8c-%d9%85%d8%a8%d8%aa%d9%86%db%8c-%d8%a8%d8%b1-%d8%af%d8%a7%d8%af%d9%87-%d8%af%d8%b1-%d9%85%d8%aa%d9%84%d8%a8/">برازش منحنی مبتنی بر داده در متلب</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://matlab1.ir/%d8%a8%d8%b1%d8%a7%d8%b2%d8%b4-%d9%85%d9%86%d8%ad%d9%86%db%8c-%d9%85%d8%a8%d8%aa%d9%86%db%8c-%d8%a8%d8%b1-%d8%af%d8%a7%d8%af%d9%87-%d8%af%d8%b1-%d9%85%d8%aa%d9%84%d8%a8/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>چگونگی حل معادلات دیفرانسیل معمولی در متلب</title>
		<link>https://matlab1.ir/%da%86%da%af%d9%88%d9%86%da%af%db%8c-%d8%ad%d9%84-%d9%85%d8%b9%d8%a7%d8%af%d9%84%d8%a7%d8%aa-%d8%af%db%8c%d9%81%d8%b1%d8%a7%d9%86%d8%b3%db%8c%d9%84-%d9%85%d8%b9%d9%85%d9%88%d9%84%db%8c-%d8%af%d8%b1/</link>
					<comments>https://matlab1.ir/%da%86%da%af%d9%88%d9%86%da%af%db%8c-%d8%ad%d9%84-%d9%85%d8%b9%d8%a7%d8%af%d9%84%d8%a7%d8%aa-%d8%af%db%8c%d9%81%d8%b1%d8%a7%d9%86%d8%b3%db%8c%d9%84-%d9%85%d8%b9%d9%85%d9%88%d9%84%db%8c-%d8%af%d8%b1/#comments</comments>
		
		<dc:creator><![CDATA[ایران متلب]]></dc:creator>
		<pubDate>Thu, 31 Jul 2014 10:06:37 +0000</pubDate>
				<category><![CDATA[آموزش]]></category>
		<category><![CDATA[آموزش متلب]]></category>
		<category><![CDATA[ODE]]></category>
		<category><![CDATA[Ordinary Differential Equation]]></category>
		<category><![CDATA[ترفند]]></category>
		<category><![CDATA[ترفند متلب]]></category>
		<category><![CDATA[ترفندهای متلب]]></category>
		<category><![CDATA[چگونگی حل معادلات دیفرانسیل معمولی در متلب]]></category>
		<category><![CDATA[چند جمله ای ها و حل دستگاه معادلات در متلب]]></category>
		<category><![CDATA[حل عددی معادلات دیفرانسیل]]></category>
		<category><![CDATA[حل معادله ديفرانسيل در متلب]]></category>
		<category><![CDATA[روش های عددی]]></category>
		<category><![CDATA[شبیه سازی]]></category>
		<category><![CDATA[شبیه سازی سیستم های دینامیکی]]></category>
		<category><![CDATA[محاسبات عددی]]></category>
		<category><![CDATA[محاسبات عددی در متلب]]></category>
		<category><![CDATA[معادلات دیفرانسیل]]></category>
		<category><![CDATA[معادلات دیفرانسیل معمولی]]></category>
		<guid isPermaLink="false">http://am19.siteground.biz/~matlab18/matlab1.ir/?p=768</guid>

					<description><![CDATA[<p>&#160; یکی از مهم ترین مسائلی که احتمالا شما در ریاضیات کاربردی و علوم مهندسی با آن مواجه شوید، نیاز به حل معادلات دیفرانسیل به صورت عددی است. این کار برای شبیه سازی و تحلیل سیستم های دینامیکی بسیار حیاتی است. بارها از طریق ایمیل ها با نظراتی که به متلب سایت ارسال شده است، [&#8230;]</p>
<p>نوشته <a href="https://matlab1.ir/%da%86%da%af%d9%88%d9%86%da%af%db%8c-%d8%ad%d9%84-%d9%85%d8%b9%d8%a7%d8%af%d9%84%d8%a7%d8%aa-%d8%af%db%8c%d9%81%d8%b1%d8%a7%d9%86%d8%b3%db%8c%d9%84-%d9%85%d8%b9%d9%85%d9%88%d9%84%db%8c-%d8%af%d8%b1/">چگونگی حل معادلات دیفرانسیل معمولی در متلب</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></description>
										<content:encoded><![CDATA[<p>&nbsp;</p>
<p>یکی از مهم ترین مسائلی که احتمالا شما در ریاضیات کاربردی و علوم مهندسی با آن مواجه شوید، نیاز به حل معادلات دیفرانسیل به صورت عددی است. این کار برای شبیه سازی و تحلیل سیستم های دینامیکی بسیار حیاتی است. بارها از طریق ایمیل ها با نظراتی که به متلب سایت ارسال شده است، در خصوص حل معادلات دیفرانسیل با مرتبه بیشتر از یک سئوالاتی توسط مراجعین محترم مطرح شده است. در این پست قصد داریم تا مطالبی در خصوص چگونگی حل معادلات دیفرانسیل با مرتبه بیش از یک توسط نرم افزار متلب ، ارائه نماییم. در ادامه مطلب با ما همراه باشید.</p>
<p>&nbsp;</p>
<p style="color: #666666;">یکی از مهم ترین مسائلی که احتمالا شما در ریاضیات کاربردی و علوم مهندسی با آن مواجه شوید، نیاز به حل معادلات دیفرانسیل به صورت عددی است. این کار برای شبیه سازی و تحلیل سیستم های دینامیکی بسیار حیاتی است. بارها از طریق ایمیل ها با نظراتی که به متلب سایت ارسال شده است، در خصوص حل معادلات دیفرانسیل با مرتبه بیشتر از یک سئوالاتی توسط مراجعین محترم مطرح شده است. در این پست قصد داریم تا مطالبی در خصوص چگونگی حل معادلات دیفرانسیل با مرتبه بیش از یک توسط نرم افزار متلب، ارائه نماییم. در ادامه مطلب با ما همراه باشید.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p style="color: #666666;"><strong><span style="font-style: inherit;"><span style="font-style: inherit;">یک معادله ساده</span></span></strong></p>
<p style="color: #666666;">سیستمی که در این مقاله قصد حل معادله دیفرانسیلی مربوط به آن را داریم، سیستم جرم و فنر خطی است که یک سیستم درجه دو خطی و تغییر ناپذیر با زمان است. فرض بر این است که محور حرکت سیستم مورد بررسی افقی است و از این رو نیروی گرانش تاثیری بر روی عملکرد سیستم ندارد. اگر $$m$$ جرم و $$k$$ نشان دهنده ضریب سختی فنر باشد، معادله حرکت سیستم با توجه به قوانین فیزیکی نیوتون و خواص ذاتی جرم و فنر، به صور زیر خواهد بود:</p>
<p dir="ltr">$$ m \frac{d^2}{dt^2} x(t) + k x(t) = F $$</p>
<p>که در آن $$F$$ نشان دهنده نیروی خارجی وارد شونده به سیستم جرم و فنر است.</p>
<p>ما برای حل این معادله دیفرانسیل بایستی مقادیر عددی پارامترهای $$m$$ و $$k$$ و همچنین تابع نیروی خارجی $$F(t)$$ را داشته باشیم. همچنین باید مکان اولیه و سرعت اولیه نیز بایستی معلوم و معین باشند. فرض می کنیم که مقدار نیروی خارجی وارد شده بر سیتسم در تمام زمان ها برابر با صفر باشد؛ یعنی $$F = 0$$. همچنین فرض می کنیم که مکان اولیه برابر با صفر و سرعت اولیه برابر با یک باشد. به عبارت دیگر سیستم مورد بررسی به صورت زیر توصیف می شود:</p>
<p dir="ltr">$$ m \frac{d^2}{dt^2} x(t) + k x(t) = 0 $$</p>
<p dir="ltr">$$ x(0)=0 $$</p>
<p dir="ltr">$$ \frac{d}{dt} x(0) = 1 $$</p>
<p dir="ltr">
<p dir="ltr">
<p><strong><span style="font-style: inherit;"><span style="font-style: inherit;">کاهش درجه معادله دیفرانسیل</span></span></strong></p>
<p>برای حل معادله دیفرانسیل درجه دو می بایست ابتدا آن را به دستگاهی از دو معاله درجه یک تبدیل کنیم. در حالت کلی برای حل معادله دیفرانسل درجه $$n$$ می بایست آن را به صورت دستگاهی از معادلات درجه یک با $$n$$ معادله تبدیل نمود.</p>
<p>فرض کنیم که متغیر جدیدی به صورت زیر تعریف شده باشد:</p>
<p dir="ltr">$$ y = \frac{d}{dt} x $$</p>
<p>به عبارت دیگر $$y$$ نشان دهنده سرعت حرکت جرم است. می توان به راحتی نشان داد که:</p>
<p dir="ltr">$$ \frac{d}{dt} y = \frac{d^2}{dt^2} x $$</p>
<p>حال معادله دیفرانسیل مورد بررسی را با استفاده از متغیرهای جدید بازنویسی می کنیم. نتیجه بازنویسی در ادامه آمده است:</p>
<p dir="ltr">$$ \frac{d}{dt} x = y $$</p>
<p dir="ltr">$$ \frac{d}{dt} y = -\frac{k}{m} x $$</p>
<p>که همان فرم فضای حالت سیستم جرم فنر ساده است. شرایط اولیه این سیتم نیز عبارتند از: $$x(0)=0$$ و $$y(0)=1$$.</p>
<p>برای راحتی کار و همچنین ملموس تر کردن معادلات به دست آمده، متغیر برداری جدیدی را به صورت زیر تعریف می کنیم.</p>
<p dir="ltr">$$ z = [z_1, z_2]^T = [x, y]^T $$</p>
<p>در این حال معادلات فضای حال به صورت زیر قابل بازنویسی هستند:</p>
<p dir="ltr">$$ \frac{d}{dt} z = [z_2, -\frac{k}{m} z_1]^T $$</p>
<p dir="ltr">
<p><strong><span style="font-style: inherit;"><span style="font-style: inherit;">پیاده سازی با استفاده از متلب</span></span></strong></p>
<p>مقادیر جرم و ضریب فنری را وارد می کنیم:</p>
<p class="code" dir="ltr">m = 1;<br />
k = 10;</p>
<p>تابع مربوط به معادله دیفرانسیل سیستم دینامیکی را تعریف می کنیم:</p>
<p class="code" dir="ltr" style="text-align: left;">springmass = @(t,z) [z(2); -k/m*z(1)];</p>
<p>و شرایط اولیه را تعریف می کنیم:</p>
<p class="code" dir="ltr" style="text-align: left;">z0 = [0; 1];</p>
<p>بازه زمانی شبیه سازی را بین ۰ تا ۱۰ ثانیه در نظر می گیریم و بازه زمانی را به صورت زیر تعریف می کنیم:</p>
<p class="code" dir="ltr" style="text-align: left;">tspan = [0 10];</p>
<p>با استفاده از یکی از حل کننده های یا Solver های متلب معادله دیفرانسلی را حل می کنیم. شما می توانید از توابع مختلفی نظیر <span style="font-weight: inherit; font-style: inherit;">ode45</span> و <span style="font-weight: inherit; font-style: inherit;">ode23</span> استفاده نمایید. ما در اینجا از <span style="font-weight: inherit; font-style: inherit;">ode23</span> استفاده کرده ایم.</p>
<p class="code" dir="ltr" style="text-align: left;">[t, z] = ode23(springmass,tspan,z0);</p>
<p>پس از حل معادله دیفرانسیل، نتایج به دست آمده را نمایش می دهیم. ابتدا موقعیت متحرک را ترسیم می کنیم.</p>
<p class="code" dir="ltr" style="text-align: left;">plot(t,z(:,1));<br />
title(‘Position vs. Time’);</p>
<p style="color: #666666;"><span style="color: #000000;">و در ادامه سرعت متحرک را ترسیم می نماییم.</span></p>
<p class="code" dir="ltr" style="color: #666666;"><span style="color: #000000;">plot(t,z(:,2));</span><br />
<span style="color: #000000;">title(‘Velocity vs. Time’);</span></p>
<p>مشاهده می شود که سیستم از شرایط اولیه داده شده شروع به حرکت کرده است و با یک رفتار نوسانی نا میرا (به دلیل عدم وجود اصطکاک و دمپر) به کار خود ادامه داده است.</p>
<p>نحوه شبیه سازی سیستم های مرتبه بالاتر و همچنین سیستم های غیر خطی نیز کم و بیش مشابه با کاری است که در مورد سیستم جرم و فنر انجام دادیم. در واقع مطالبی که در این پست به آن ها اشاره نمودیم، یک الگوی کلی برای حل و شبیه سازی معادلات دیفرانسلی معمولی یا Ordinary Differential Equations و یا به اختصار ODE ها را فراهم می آورند.</p>
<p>امیدواریم این مطلب برای شما مفید باشد و پاسخگوی سئوالات و مشکلات شما در زمینه شبیه سازی سیستم های دینامیکی و حل عددی معادلات دیفرانسیلی باشد.</p>
<hr />
<h1 class="product_title entry-title" style="font-weight: 500; text-align: center;">دریافت کتابچه حل معادلات ديفرانسيل با مشتقات پاره اي با MATLAB</h1>
<p><a href="http://iran-matlab.ir/?product=%DA%A9%D8%AA%D8%A7%D8%A8%DA%86%D9%87-%D8%AD%D9%84-%D9%85%D8%B9%D8%A7%D8%AF%D9%84%D8%A7%D8%AA-%D8%AF%D9%8A%D9%81%D8%B1%D8%A7%D9%86%D8%B3%D9%8A%D9%84-%D8%A8%D8%A7-%D9%85%D8%B4%D8%AA%D9%82%D8%A7%D8%AA" target="_blank" rel="noopener noreferrer"><img decoding="async" class="aligncenter" src="https://matlab1.ir/wp-content/uploads/2015/06/differential_equations_download_free_ebook_iran_matlab.jpg" alt="" width="401" height="401" /></a></p>
<p>نوشته <a href="https://matlab1.ir/%da%86%da%af%d9%88%d9%86%da%af%db%8c-%d8%ad%d9%84-%d9%85%d8%b9%d8%a7%d8%af%d9%84%d8%a7%d8%aa-%d8%af%db%8c%d9%81%d8%b1%d8%a7%d9%86%d8%b3%db%8c%d9%84-%d9%85%d8%b9%d9%85%d9%88%d9%84%db%8c-%d8%af%d8%b1/">چگونگی حل معادلات دیفرانسیل معمولی در متلب</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://matlab1.ir/%da%86%da%af%d9%88%d9%86%da%af%db%8c-%d8%ad%d9%84-%d9%85%d8%b9%d8%a7%d8%af%d9%84%d8%a7%d8%aa-%d8%af%db%8c%d9%81%d8%b1%d8%a7%d9%86%d8%b3%db%8c%d9%84-%d9%85%d8%b9%d9%85%d9%88%d9%84%db%8c-%d8%af%d8%b1/feed/</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
			</item>
		<item>
		<title>آشنايي با ماتريسها</title>
		<link>https://matlab1.ir/%d8%a2%d8%b4%d9%86%d8%a7%d9%8a%d9%8a-%d8%a8%d8%a7-%d9%85%d8%a7%d8%aa%d8%b1%d9%8a%d8%b3%d9%87%d8%a7/</link>
					<comments>https://matlab1.ir/%d8%a2%d8%b4%d9%86%d8%a7%d9%8a%d9%8a-%d8%a8%d8%a7-%d9%85%d8%a7%d8%aa%d8%b1%d9%8a%d8%b3%d9%87%d8%a7/#comments</comments>
		
		<dc:creator><![CDATA[ایران متلب]]></dc:creator>
		<pubDate>Fri, 11 Jul 2014 20:48:30 +0000</pubDate>
				<category><![CDATA[آموزش]]></category>
		<category><![CDATA[دانلود]]></category>
		<category><![CDATA[آموزش MATLAB]]></category>
		<category><![CDATA[آموزش برنامه نویسی در متلب]]></category>
		<category><![CDATA[آموزش قدم به قدم نرم افزار متلب]]></category>
		<category><![CDATA[آموزش متلب]]></category>
		<category><![CDATA[آموزش نرم افزار MATLAB]]></category>
		<category><![CDATA[آموزش نرم افزار متلب]]></category>
		<category><![CDATA[انتشار کد متلب]]></category>
		<category><![CDATA[MATLAB]]></category>
		<category><![CDATA[برنامه ساده متلب]]></category>
		<category><![CDATA[ترفند matlab]]></category>
		<category><![CDATA[ترفند متلب]]></category>
		<category><![CDATA[ترفندهای متلب]]></category>
		<category><![CDATA[دانلود آموزش Matlab]]></category>
		<category><![CDATA[دانلود آموزش فارسي Matlab]]></category>
		<category><![CDATA[دانلود آموزش فارسي متلب]]></category>
		<category><![CDATA[دانلود آموزش فارسي مطلب]]></category>
		<category><![CDATA[دانلود آموزش متلب]]></category>
		<category><![CDATA[دانلود MATLAB]]></category>
		<category><![CDATA[دانلود متلب]]></category>
		<category><![CDATA[نرم‌افزار متلب]]></category>
		<guid isPermaLink="false">http://am19.siteground.biz/~matlab18/matlab1.ir/?p=466</guid>

					<description><![CDATA[<p>آشنايي با ماتريسها مقدمه: در تاريع آمده است كه اولين بار يك رياضيدان انگليسي تبار به نام كيلي ماتريس را در رياضيات وارد كرد. با توجه به آنكه در آن زمان رياضيدانان اغلب به دنبال مسائل كاربردي بودند، كسي توجهي به آن نكرد. اما بعدها رياضيدانان دنباله ي كار را گرفتند تا به امروز رسيد [&#8230;]</p>
<p>نوشته <a href="https://matlab1.ir/%d8%a2%d8%b4%d9%86%d8%a7%d9%8a%d9%8a-%d8%a8%d8%a7-%d9%85%d8%a7%d8%aa%d8%b1%d9%8a%d8%b3%d9%87%d8%a7/">آشنايي با ماتريسها</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></description>
										<content:encoded><![CDATA[<h1>آشنايي با ماتريسها</h1>
<p>مقدمه: در تاريع آمده است كه اولين بار يك رياضيدان انگليسي تبار به نام كيلي ماتريس را در رياضيات وارد كرد. با توجه به آنكه در آن زمان رياضيدانان اغلب به دنبال مسائل كاربردي بودند، كسي توجهي به آن نكرد. اما بعدها رياضيدانان دنباله ي كار را گرفتند تا به امروز رسيد كه بدون اغراق مي توان گفت در هر علمي به گونه اي با ماتريس ها سروكار دارند. يكي از نقش هاي اصلي ماتريس ها آن است كه آنها ابزار اساسي محاسبات عملي رياضيات امروز هستند، درست همان نقشي كه سابقاً اعداد بر عهده داشتند. از اين نظر مي توان گفت نقش امروز ماتريس ها همانند نقش ديروز اعداد است. البته، ماتريس ها به معنايي اعداد و بردارها را در بر دارند، بنابراين مي توان آنها را تعميمي از اعداد و بردارها در نظر گرفت. در رياضيات كاربردي ماتريس ها از ابزار روز مره هستند، زيرا ماتريس ها با حل دستگاه معادلات خطي ارتباط تنگاتنگي دارند و براي حل رياضي مسائل عملي، مناسبترين تكنيك، فرمول بندي مسئله و يا تقريب زدن جوابهاي مسئله با دستگاه معادلات خطي است كه در نتيجه ماتريس ها وارد كار مي شوند. اما، مشكلي اصلي در رياضيات كابردي اين است كه ماتريس هاي ايجاد شده، بسيار بزرگ هستند و مسئله اصلي در آنجا كار كردن با ماتريس هاي بزرگ است. از جنبه نظري، فيزيك امروزي كه فيزيك كوانتوم است، بدون ماتريس ها نمي توانست به وجود آيد. هايزنبرگ – اولين كسي كه در فيزيك مفاهيم ماتريس ها را به كار برد- اعلام كرد «تنها ابزار رياضي كه من در مكانيك كوانتوم به آن احتياج دارم ماتريس است.» بسياري از جبرها مانند جبر اعداد مختلط و جبر بردارها را با ماتريس ها بسيار ساده مي توان بيان كرد. بنابراين با مطالعه ماتريسها، در واقع يكي از مفيدترين و در عين حال جالبترين مباحث رياضي مورد بررسي قرار مي گيرد.</p>
<p>تعريف ماتريس: اگر بخواهيم مانند كيلي، ماتريس را تعريف كنيم، بايد گفت هر جدول مستطيلي كه داراي تعداد سطر و ستون است و در هر خانه آن يك عدد وجود دارد يك ماتريس است. به عبارت ديگر هر آرايشي از اعداد مانند مثالهاي زير را ماتريس مي گويند.</p>
<p>اگر ماتـريس      را A بناميـم، در اين صورت ماتـريس ] 15و10 و 1-[ را سطـر اول و ] 19و7 و5[ را سطر دوم و ،     ، را به ترتيب ستون اول، ستون دوم، ستون سوم A گويند. ماتريس A را كه داراي دو سطر و ستون است يك ماتريس دو در سه (2و3) مي گويند. اصطلاحاً مي گوييم A از مرتبه 2 در 3 است. (نوشته مي شود 3×2). بنابراين ماتريس ] 7و5 و12[B= يك ماتريس 4×1 و ماتريس C يك ماتريس 3×3 است.</p>
<p>به اعداد يا اشياء واقع در جدول ماتريس درايه هاي آن ماتريس مي گويند. درايه هاي هر ماتريس در جا ومكان مشخصي قرار دارند. مثلاً در ماتريس         درايه 3 در سطر اول و ستون اول است. همچنين درايه سطر دوم، ستون سوم عدد 6 است. به طور كلي اگر درايه هاي سطر I ام ستون jام را با a<sub>ij</sub> نشان دهيم؛ داريم</p>
<p>… و 5=<sub>12</sub>a   2=<sub>22</sub>a           3=<sub>11</sub>a</p>
<p>به طور كلي يك ماتريس دلخواه 3×2 را بصورت زير نمايش مي دهيم:</p>
<p>اغلب براي سهولت، به جاي نمايش ماتريس به صورت فوق، آن را با نماد 3*2[a<sub>ij</sub>]نشان مي دهند كه در آن a<sub>ij</sub> را درايه يا عنصر عمومي ماتريس 3*2[a<sub>ij</sub>] گويند. به طور كلي براي ساختن انواعي از ماتريس هاي ديگر مي توانيم به جاي آن كه درايه هاي ماتريس را از اعداد حقيقي انتخاب كنيم، درايه ها را از اعداد مختلط عناصر يك ميدان، توابع و ياحتي ماتريس ها انتخاب كنيم.</p>
<p>در حالت كلي يك ماتريس m*n بصورت A=[a<sub>ij</sub>]<sub>m*n</sub> عبارت است از:</p>
<p>&nbsp;</p>
<p>ماتريس هاي مربع: اگر در يك ماتريس تعداد سطرها و ستون ها مساوي باشد، آن را ماتريس مربع گويند. در اين حالت اگر يك ماتريس مانند A داراي مرتبه ي n*n باشد، گوييم A يك ماتريس مربع مرتبه n است. مجموعه ماتريس هاي مربع مرتبه ي n را با       يا نشان مي دهند.</p>
<p>درايه هاي <sub>11</sub>a و <sub>22</sub>a و… و a<sub>nx</sub> يك ماتريس مربع مرتبه n باشد، مجموع درايه هاي قطر اصلي A را اثر ماتريس A مي نامند و با نماد tr(A) نشان مي دهند. بنابراين:</p>
<p>در واقع اثر ماتريس، تابعي از مجموعه ماتريسهاي مربع در مجموعه اعداد حقيقي است، يعني</p>
<p>مثال: اگر                درايه هاي قطر اصلي A عبارتند از 4- و 6- بنابراين</p>
<p>2=6+4-tr(A)</p>
<p>ماتريس سطري: ماتريس هايي را كه فقط يك سطر دارند ماتريس سطري يا بردار سطري مي نامند. مثلاً ماتريس ي ماتريس سطري *n1 است.</p>
<p>ماتريس ستوني: ماتريسي است كه فقط داراي يك ستون باشد. هر ماتريس ستوني را بردار ستوني نيز مي گويند. مثلاً ماتريس زير يك ماتريس ستوني 1×m است.</p>
<p>ماتريس صفر: ماتريسي است كه همه درايه هايش صفر باشد. بنابراين ماتريس   ماتريس صفر است. هرگاه:</p>
<p>ماتريس صفر از مرتبه m*n را با نماد Q<sub>m*n</sub> نشان مي دهند.</p>
<p>&nbsp;</p>
<p>مثال:</p>
<p>اگر مرتبه ماتريس صفر، داده شده باشد و يا از طريق متن، مرتبه آن معلوم باشد، در اينصورت براي سهولت ماتريس صفر را با و يا حتي با O نشان مي دهند.</p>
<p>تساوي ماتريس ها: هرگاه در رياضيات اشيا جديدي معرفي شوند، بايد مشخص شوند كه چه وقت دوتاي آنها با هم مساويند. مثلاً در مجموعه اعداد گويا دو عدد دو سوم و چهار ششم را، عليرغم اينكه يك شكل نيستند، مساوي مي نامند. در مورد اعدادگ ويا، دو عدد                 را مساوي مي گويند. هر گاه ad=bc تساوي ماتريسها نيز به صورت زير تعريف مي شود.</p>
<p>تعريف: دو ماتريس و        مساويند هرگاه هم مرتبه باشند و درايه هاي نظير در دو ماتريس (يعني درايه هاي هم موضع) مساوي باشند. به عبارت ديگر، دو ماتريس    و        مساويند هر گاه داشته باشيم:</p>
<p>&nbsp;</p>
<p>مثال:            و        تساوي A و B به اين معناست كه</p>
<p>جمع ماتريس ها: مجموع دو ماتريس      و        ماتريسي است كه با نماد A+B نشان مي دهيم و به صورت زير تعريفق مي شود.</p>
<p>توجه كنيد كه براي جمع دو ماتريس مي بايست دو ماتريس هم مرتبه باشند. بنا به تعريف اگر A+B+C=[C<sub>ij</sub>] در اينصورت</p>
<p>براي اين كه تعريف فوق روشن تر شود، شكل گسترده آن را در حالت ماتريس هاي 2×2 در زير مي آوريم</p>
<p>تذكر: با توجه به تعريف، جمع دو ماتريس A+B وقتي تعريف شده كه A و B هم مرتبه باشند. در اين صورت A و B را ماتريس هاي قابل جمع مي گويند.</p>
<p>تعبير عمل جمع دو ماتريس به مثابه يك ماشين: عمل جمع را مي توان به منزله ماشيني تصور كرد كه داراي دو ورودي و يك خروجي است (مطابق شكل)، به طوري كه اگر دوماتريس مثلا2×2 به آن بدهيم از خروجي آن يك ماتريس 2×2 بيرون مي ايد.</p>
<p>قرينه يك ماتريس: اگر A يك ماتريس m*n باشد، قرينه A ماتريسي است از همان مرتبه كه با نماد –A نشان مي دهند و اگر   در اين صورت بنا به تعريف</p>
<p>&nbsp;</p>
<p>مثال: قرينه ماتريس عبارت است از        و ملاحظه مي شود كه</p>
<p>خواص جمع ماتريس ها</p>
<p>الف) جمع ماتريسها خاصيت شركت پذيري دراد</p>
<p>اثبات: فرض كنيد     و        و        سه ماتريس هم مرتبه دلخواه باشند، نشان مي دهيم</p>
<p>(A+B)+C=A+(B+C)</p>
<p>قبل از اثبات لازم است معني عبارات (A+B)+C و A+(B+C) را بدانيم. در اين مورد از تعبير عمل جمع به مثابه عمل يك ماشين كمك مي گيريم. از آنجا كه ماشين جمع دو ورودي دارد نمي توان يكباره سه ماتريس را با هم جمع كرد، از اين رو براي جمع سه   ماتريس A و B و C مي توان ابتدا A و B را به ماشين داده و A+B را به دست آورد. سپس A+B و C را به ماشين مي دهيم تا (A+B)+Cبه دست آيد.</p>
<p>عبارت A+(B+C) به اين معناست كه نخست B و C را وارد ماشين كرده ايم و B+C را به دست آورده ايم و سپس (B+C)+A را بيرون مي دهد.</p>
<p>حال مي خواهيم نشان دهيم كه در هر صورت ماتريس هاي بدست آمده مساويند براي اين كار قرار مي دهيم</p>
<p>درايه سطر I ام ماتريس =D+C درايه سطر I ام ستون j ام ماتريس (A+B)+C</p>
<p>ب) ماتريس صفر عضو بي اثر مجموعه ماتريس ها نسبت به عمل جمع است.</p>
<p>اثبات: فرض كنيد     يك ماتريس دلخواه باشد، نشان مي دهيم.</p>
<p>كه در آن ماتريس صفر هم مرتبه با A است.</p>
<p>اثبات مشابه اثبات فوق است.</p>
<p>ج) هر ماتريس نسبت به عمل جمع داراي متقابل است.</p>
<p>ديديم كه قريبنه هر ماتريس A=[a<sub>ij</sub>]، ماتريسي هم مرتبه با آن به صورت –A[-a<sub>ij</sub>] است. در واقع –A متقابل A نسبت به عمل جمع است، زيرا قبلاً نشان داديم</p>
<p>كه در آن ماتريس صفر هم مرتبه با A است.</p>
<p>د) جمع ماتريس ها داراي خاصيت جابه جايي است.</p>
<p>يعني اگر A و B دو ماتريس دلخواه هم مرتبه باشند، داريم    A+B=B+A</p>
<p>&nbsp;</p>
<p>اثبات:</p>
<p>تعريف ماتريس ها: فرض كنيد A و B دو ماتريس هم مرتبه باشند، A-B به صورت زير تعريف مي شود</p>
<p>A-B=A+(-B)</p>
<p>از تعريف فوق نتيجه مي گيريم براي اينكه با ماشين جمع، A-B را به دست آوريم، نخست ماشيني با يك ورودي و يك خروجي مي سازيم تا هر ماتريسي به آن دهيم آن ماتريس را قرينه كند. حال با دادن ماتريس B به اين ماشين، -B از آن خارج مي شود.</p>
<p>سپس، A و –B را به ماشين جمع مي دهيم تا A+(-B) يعني A-B را بيرون دهد.</p>
<p>مقايسه خواص جمع ماتريس ها با خواص جمع اعداد حقيقي:</p>
<p>اگر به خواص ماتريس ها توجه كنيم ملاحظه مي كنيم كه اين خواص همانند خواص جمع اعداد حقيقي است، حال مي خواهيم ببينيم كداميكي از خواص ديگر مجموعه اعداد حقيقي با عمل جمع در مجموعة ماتريس ها با عمل جمع برقرار است. مي دانيم براي حل معادله a+x=b در مجموعه اعداد حقيقي بايد به طريقي a را از طرف اول معادله حذف كرد. بنابراين، طرفين معادله را با –a جمع مي كنيم، در اينصورت:</p>
<p>(-a)+ (a+x)=-a+b</p>
<p>با استفاده از خاصيت جابجايي و شركت پذيري جمع داريم:</p>
<p>(-a+a) +x=b-a)</p>
<p>در نتيجه +x=b-a0 يعني x=b-a0 اين شيوه را مي توان براي حل معادله A+X=B در مجموعه ي ماتريس ها نيز به كار برد و گزاره زير را به دست آورد.</p>
<p>گزاره: اگر A و B دو ماتريس هم مرتبه باشند، در اين صورت معادله A+X=B داراي جواب منحصر به فرد X=A-B است.</p>
<p>يكي ديگر از خواص مجموعه اعداد حقيق با عمل جمع، قانون حذف است. يعني اگر a+x=a+y در اين صورت مي توان نتيجه گرفت x=y اين خاصيت نيز در مورد ماتريس ها با عمل جمع وجود دارد.</p>
<p>قانون حذف در جمع ماتريس ها برقرار است</p>
<p>اثبات: روش اول، فرض كنيد A و B و C سه ماتريس هم مرتبه باشند، نشان مي دهيم</p>
<p>A+B=A+Cà B=C</p>
<p>طرفين تساوي A+B=A+C را با –A جمع مي كنيم با توجه با خاصيت شركت پذيري و خاصيت ماتريس صفر نتيجه مي شود B=C</p>
<p>روش دوم: چون A+B=A+C پس</p>
<p>درايه iام ستون jام =A+C درايه سطر iام ستون jام A+B</p>
<p>تذكر: براي اثبات قانون حرف دو روش مختلف ارائه داديم. در روش اول، از خواص جمع ماتريسها يعني شركت پذيري، عضو بي اثر و… استفاده كرديم، يعني همان روشي كه براي اعداد حقيقي مي توان به كار برد. اما در روش دوم ويژگي هاي ماتريس نقش اصلي را ايفا مي كند. در واقع در مورد روش اول براي ما مهم نيست A و B و C ماتريس هستند يا عدد حقيقي و يا هر چيز ديگر، در مورد هر دسته اي از اشيا كه داراي خواص جمع ماتريس ها باشند، مي توانيم اين شيوه را به كار ببريم و اين همان رسالت جبر مدرن است كه با اصل موضوعي كردن، قضاياي مشابه را به يكباره ثابت مي كند. زيرا شيوه و روش اثبات قضيه در هر جايي كه اين اصول صدق مي كنند، معتبر است.</p>
<p>ضرب يك عدد (اسكالر) در ماتريس</p>
<p>تعريف: فرض كنيد   ماتريسي از مرتبه m*n و r يك عدد حقيقي باشد. از ضرب عدد حقيقي r در A ماتريسي به دست مي آيد كه آن را به صورت rA نمايش مي دهيم و به صورت زير تعريف مي شود.</p>
<p>بنابراين (درايه سطر iام ستون jام ماتريس =r.(A درايه سطر iام ستون j ام ماتريس (rA)</p>
<p>مثال: اگر      در اين صورت</p>
<p>خواص ضرب عدد در ماتريس:</p>
<p>1)فرض كنيد r و s دو عدد حقيقي و A يك ماتريس m*n باشد در اين صورت داريم</p>
<p>r(sA)=(rs)A</p>
<p>2)اگر r و s دو عدد حقيقي و A يك ماتريس m*n باشد در اين صورت داريم</p>
<p>(r+s)A=rA+sA</p>
<p>3)اگر r يك عدد حقيقي و A و B دو ماتريس m*nباشند در اين صورت</p>
<p>r(A+B)=rA+rB</p>
<p>4)اگر r يك عدد حقيقي ناصفر و A وB دو ماتريس دلخواه m*n باشند در اين صورت</p>
<p>rA=rBà A=B</p>
<p>ضرب ماتريس ها و خواص آن</p>
<p>ضرب ماتريس سطري در ماتريس ستوني</p>
<p>تعريف: ماتريس سطري              و ماتريس ستوني</p>
<p>را در نظر مي گيريم حاصل ضرب A در B به صورت زير تعريف مي شود.</p>
<p>با توجه به تعريف فوق حاصل ضرب يك ماتريس سطري در ماتريس ستوني يك عدد حقيقي است كه براي به دست آوردن آن به صورت زير عمل مي كنيم.</p>
<p>مثال:</p>
<p>ضرب ماتريس ها در حالت كلي:</p>
<p>تعريف: اگر             و        دو ماتريس مخصوص باشند در اين صورت حاصل ضرب AB ماتريسي است m*p كه اگر آن را با C نشان دهيم داريم</p>
<p>ملاحظاتي در مورد ضرب دو ماتريس</p>
<p>1-ضرب ماتريسي AB در صورتي تعريف شده است كه تعداد ستون هاي ماتريس اولي، يعني A با تعداد سطرهاي ماتريس دومي، يعني B، برابر باشد. در اين صورت گويند ماتريس A در ماتريس B قابل ضرب است.</p>
<p>2-اگر AB=C براي به دست آوردن هر يك از درايه هاي ماتريس C به نمحلي كه درايه واقع است توجه مي كنيم. مثلاً براي بدست آوردن <sub>12</sub>C سطر اول A را در ستون دوم B، طبق ضرب يك ماتريس سطري در ماتريس ستوني ضرب مي كنيم، و به همين ترتيب</p>
<p>ستون پنجم ماتريس B× سطر سوم ماتريس A = <sub>35</sub>C</p>
<p>اگر <sub>1</sub>R و <sub>2</sub>R و <sub>3</sub>R به ترتيب نمايشگر سطر اول و سطر دوم و سوم ماتريس <sub>2×3</sub>A و <sub>1</sub>C و <sub>2</sub>C و <sub>3</sub>C نمايشگر ستون اول ، دوم و سوم ماتريس <sub>3×2</sub>B باشند. در اين صورت AB ماتريسي 2×2 به صورت زير است.</p>
<p>كه در آن، براي مثال، <sub>2</sub>C<sub>1</sub>R حاصل ضرب سطر اول A در ستون دوم B را نشان مي دهد.</p>
<p>ماتريس واحد (هماني)</p>
<p>ماتريس واحد، ماتريس مربعي است كه تمام درايه هاي قطر اصلي آن 1 و ساير درايه هاي صفر است.براي مثال ماتريس واحد 2×2 كه با نماد <sub>2</sub>I نمايش مي دهيم به عبارت است از</p>
<p>به همين ترتيب ماتريس واحد 3×3 عبارت است از</p>
<p>تذكر: ماتريس I را از اينرو، واحد گويند كه رفتاري شبيه عدد 1 در ضرب اعداد دارد و چون روي هر ماتريسي (قابل ضرب با آن) اثر كند همان ماتريس را مي دهد بنابراين آن را ماتريس هماني نيز مي گويند.</p>
<p>گزاره: اگر در ماتريس A سطر دوم صفر باشد و B ماتريسي باشد كه AB تعريف شده باشد، در اين صورت سطر دوم AB نيز صفر است.</p>
<p>اثبات: قرار مي دهيم AB=C درايه هاي سطر دوم AB از ضرب سطر دوم A در ستون هاي B به دست مي آيد. فرض كنيد C<sub>ij</sub>درايه دلخواهي از سطر دوم AB باشد، بنابراين</p>
<p>به طور كلي، اگر در ماتريس A سطر iام صفر باشد در اين صورت سطر I ام ماتريس AB صفر است. به طريق مشابه مي توان ثابت كرد.</p>
<p>گزاره: اگر در ماتريس B ستون jام صفر باشد و A ماتريسي باشد كه AB تعريف شده باشد، در اين صورت ستون jام ماتريس AB صفر است.</p>
<p>بررسي خاصيت جابه جايي در ضرب ماتريسها:</p>
<p>دو ماتريس A و B مفروضند. AB وقتي تعريف شده است كه تعداد ستونهاي A با تعداد سطرهاي B مساوي باشد. مثلاً داشته باشيم   و        اگر m و p مساوي نباشد، BA تعريف نشده است. براي اينكه BA تعريف شده باشد لازم است كه p=m، يعني B ماتريس n*m باشد. در اينصورت AB از مرتبه m*m و BA ماتريسي است از مرتبه n*m. حال اگر بخواهيم AB و BA هر دو موجود و هم مرتبه باشند مي بايست A و B هر دو ماتريس هاي مربع و هم مرتبه باشند. اما در اين حالت نيز ممكن است BA و AB مساوي نباشد. به مثال زير توجه كنيد.</p>
<p>مثال: اگر                          در اينصورت</p>
<p>ملاحظه مي شود كه AB و BA مساوي نيستند. مثال فوق بيانگر آن است كه ضرب ماتريس ها داراي خاصيت جابه جايي نيست. حال به مثال زير توجه كنيد.</p>
<p>مثال: اگر                در اين صورت</p>
<p>يعني AB=BA</p>
<p>ماتريس هاي تعويض پذير:</p>
<p>تعريف: اگر A و B دو ماتريس مربع باشند به طوري كه AB=BA در اين صورت A و B را تعويض پذير گوييم و يا گوييم A و B با يكديگر جابجا مي شوند.</p>
<p>مثال: دو ماتريس     و        تعويض پذيرند. زيرا</p>
<p>يك خاصيت غير منتظره در ماتريسها:</p>
<p>مي دانيم كه مجموعه اعداد حقيقي داراي اين خاصيت است كه : «حاصلضرب دو عدد حقيقي ناصفر، عددي حقيقي ناصفر است.»</p>
<p>اما در مورد ماتريسها چنين نيست. به مثال زير توجه كنيد. دو ماتريس غير صفر را در نظر بگيريد. داريم:</p>
<p>ملاحظه مي شود كه ماتريس هايي مانند A و B وجود دارند به طوري كه    و        ولي اين نوع ماتريس ها را مقسوم عليه صفر مي گويند.</p>
<p>تعريف: فرض كنيد A يك ماتريس مربع باشد. اگر ماتريس ناصفري مانند B بتوان يافت به طوري           يا در اين صورت A را مقسوم عليه صفر گويند.</p>
<p>مثال: ماتريس         مقسوم عليه صفر است زيرا</p>
<p>توانهاي طبيعي يك ماتريس مربع:</p>
<p>فرض كنيد A يك ماتريس m*n باشد. براي آنكه AA وجود داشته باشد مي بايست m=n ، يعني در صورتي AA تعريف شده است كه A ماتريسي مربع باشد. در اين صورت AA را با <sup>2</sup>A نمايش مي دهند.</p>
<p>تعريف: اگر A يك ماتريس مربع باشد، در اين صورت توان هاي طبيعي A به صورت زير تعريف مي شوند</p>
<p>=A<sup>1</sup>A و =AA<sup>2</sup>A و <sup>2</sup>=AA<sup>3</sup>A وبا استقرا</p>
<p>A<sup>n+1</sup> = AA<sup>n</sup></p>
<p>در صورتي كه A يك ماتريس مربع مرتبه n باشد توان صفر A نيز به صورت زير تعريف مي وشد.</p>
<p>كه در آن I<sub>n</sub> ماتريس واحد مرتبه n است.</p>
<p>ماتريس هاي بالا مثلثي</p>
<p>ماتريس مربعي       را بال مثلثي مي نامند هرگاه</p>
<p>A<sub>ij</sub>     I&gt;j     à a<sub>ij</sub>=0</p>
<p>يعني، در يك ماتريس بالا مثلثي كليه درايه هاي واقع در پايين قطر اصلي صفرند. براي مثال يك ماتريس بالا مثلثي 3×3 در حالت كلي به صورت زير است</p>
<p>اين ماتريس ها را به صورت زير نشان مي دهند</p>
<p>همانطور كه از نامگذاري اين نوع ماتريس ها معلوم است، در هر ماتريس بالا مثلثي، درايه هاي واقع بر قطر اصلي و بالاي قطر اولي مشخص كننده ماتريس هستند. زيرا تمام درايه هاي پايين قطر اصلي صفرند.</p>
<p>مثال: ماتريس مربع و صفر ماتريس واحد، بالا مثلث اند.</p>
<p>ماتريس هاي پايين مثلثي</p>
<p>ماتريس مربع A=[a<sub>ij</sub>] را پايين مثلثي نامند هرگاه</p>
<p>يعني،  در يك ماتريس پايين مثلثي، همه درايه هاي واقع در بالاي قطر اصلي، صفرند.</p>
<p>مثال: ماتريس روبه رو يك ماتريس</p>
<p>پايين مثلثي 3×3 است. گاهي براي سهولت اين ماتريس را به صورت زير هم نشان مي دهند.</p>
<p>نماد O در بالاي قطر اصلي به معناي آن است كه تمام درايه هاي بالاي قطر اصلي صفرند. نامگذاري اين نوع ماتريس ها همانند قبل، بر اين اساس استوار است كه در ماتريس هاي پايين مثلثي درايه هاي واقع بر قطر اصلي ، مشخص كننده ماتريس هتسند.</p>
<p>مثال: ماتريس مربع صفر و ماتريس واحد پايين مثلثي نيز هستند.</p>
<p>ماتريس هاي قطري:</p>
<p>ماتريع مربع D=[d<sub>ij</sub>] را قطري مي نامند، هر گاه هم بالا مثلثي و هم پايين مثلثي باشد، يعني در يك ماتريس قطري، درايه هاي پايين و بالاي قطر اصلي همگي صفرند، به عبارت ديگر، D قري است هرگاه</p>
<p>بنابراين، ماتريس قطري D به صورت زير نوشته مي شود.</p>
<p>براي سهولت اين ماتريس را به صورت زير هم نشان مي دهند.</p>
<p>همانطور كه از نام اين نوع ماتريس ها بر مي آيد، در يك ماتريس قطري فقط درايه هاي واقع بر قطر اصلي مشخص كننده ماتريس اند، براي همين ماتريس قطري را به صورت</p>
<p>d<sub>iaj</sub>(d<sub>11</sub> , d<sub>12</sub> , d<sub>nn</sub>)</p>
<p>نيز نشان مي دهند.</p>
<p>مثال: ماتريس         قطري است كه به صورت(2- و 3 و2) D=diag  نيز مي توانيم آن را بنويسيم.</p>
<p>ماتريس واحد (هماني)</p>
<p>ماتريس واحد، ماتريس اسكالري (آن دسته از ماتريس هاي قطري را كه همه درايه هاي واقع بر قطر اصلي آنها مساويند، ماتريس اسكالر نامند) است كه درايه هاي واقع بر قطر اصلي آن همگي مساوي 1 است. ماتريس واحد مرتبه n را با I<sub>n</sub> نشان مي دهند.</p>
<p>مثال: ماتريس واحد 3×3 عبارت است از</p>
<p>وقتي مرتبه ماتريس واحد معلوم باشد و يا اهميت نداشته باشد، ماتريس واحد را با I نشان مي دهند و براي هر ماتريس مرتبه n مانند A داريم                 I<sub>n</sub>A=AI<sub>n</sub>=A</p>
<p>يعني، ماتريس واحد، عضو بي اثر مجموعه ماتريس هاي مربع نسبت به عمل ضرب است. براي همينن ماتريس واحد رفتاري شبيه عدد يك در ضرب اعداد دارد.</p>
<p>و به سادگي ديده مي شود كه براي هر عدد طبيعي K داريم:            I<sup>K</sup>=I</p>
<p>مثال: هر ماتريس اسكالر مضربي از ماتريس واحد است. يعني؛</p>
<p>ماتريس هاي خود توان</p>
<p>ماتريس مربع A را خودتوان مي نامند هرگاه =A<sup>2</sup>A</p>
<p>مثال: ماتريس        خودتوان است زيرا؛</p>
<p>گزاره: اگر A خودتوان باشد، در اين صورت براي هر عدد طبيعي n، داريم:</p>
<p>A<sup>n</sup>=A</p>
<p>ماتريس هاي پوچ توان:</p>
<p>ماتريس مربع A را پوچ توان نامند هرگاه به ازاي يك عدد طبيعي، مانند n، داشته باشيم</p>
<p>بديهي است كه اگر   به ازاي هر عدد طبيعي بزرگتر از n مانند m داريم</p>
<p>كوچكترين اين n ها را انديس پوچ تواني A گويند.</p>
<p>زيرماتريس ها وافراز كردن</p>
<p>يك زير ماتريس يك ماتريس مفروض A ماتريسي است كه از حذف تعدادي از سطرها يا ستون هاي ماتريس A بدست آمده باشد، براي مثال اگر</p>
<p>در اين صورت هر يك از ماتريسهاي زير يك زير ماتريس A مي باشند.</p>
<p>زير ماتريس           از حذف سطرهاي اول و دوم و ستونهاي اول و سوم، و زير ماتريس ]4   3  2 [ از حذف سطرهاي دوم و سوم و چهارم و ستون اول به دست مي آيند.</p>
<p>هرگاه با ترسيم خطوط افقي و عمودي بين سطرها و ستونهاي يك ماتريس آن را تقسيم بندي كنيم، گوييم ماتريس را افراز كرده ايم. با تغيير اين خطوط افرازهاي متفاوتي از يك ماتريس ساخته مي شود. مثلاً</p>
<p>دو افراز مختلف از ماتريس A مي باشند.</p>
<p>وقتي ماتريس ها از ظرفيت حافظه كامپيوتر بزرگترند، از ماتريس هاي افراز شده استفاده فراوان مي كنند. مثلاً در ضرب دو ماتريس افراز شده، مي توان ماتريس ها را روي ديسك نگه داشت. و فقط زير ماتريس هايي را كه در تشكيل حاصل ضربهاي زير ماتريسي لازمند در حافظه آورد. معلوم است كه افراز بايد به قسمي صورت گيرد كه حاصل ضرب ماتريسهاي نظير قابل تعريف باشد.</p>
<p>فرض كنيد A و B ماتريسيهايي باشند كه AB تعريف شده باشد حال اگر A و B را به صورت</p>
<p>افزار كرده باشيم در اين صورت به آساني ثابت مي شودكه براي محاسبه ماتريس AB مي توان C و D و… را شبيه درايه ها تصور كرد و عمل ضرب را انجام داد، بنابراين</p>
<p>البته، اين مشروط به آن است كه افراز به گونه اي باشد كه حاصل ضرب هاي فوق تعريف شده باشد.</p>
<p>ترانهاده يك ماتريس</p>
<p>تعريف: فرض كنيد A يك ماتريس m*n باشد، ترانهاده A، ماتريسي است n*m كه سطر اول آن ماتريس A سطر دوم آن ستون دوم A و… به طور كلي، سطر iام ترانهاده A ستون iام ماتريس A مي باشد. ترانهاده A را با نمادها َA و A<sup>t</sup> يا <sup>t</sup>A نمايش مي دهند.</p>
<p>مثال: فرض كنيد</p>
<p>در اين صورت ترانهاده A، يعني َA عبارت است از</p>
<p>ملاحظه مي شود كه درايه سطر اول ستون دوم ماتريس A مساوي 5 است، يعني 5=<sub>12</sub>a از طرف ديگر اگر درايه هاي َA را با <sub>ij</sub><sub>َ</sub>a نشان دهيم درايه سطر دوم ستون اول َA نيز مساوي 5 است.</p>
<p>يعني5=<sub>12</sub>a بنابراين           <sub>12</sub>a= <sub>21</sub>َa</p>
<p>به طريق مشابه                 <sub>13</sub>a= <sub>31</sub>َa                 <sub>32</sub>a= <sub>23</sub>َa</p>
<p>در واقع اگر   در اين صورت ترانهاده A عبارت است از         كه در آن</p>
<p>a<sub>ij</sub>=a<sub>ij</sub></p>
<p>بنابراين درايه سطر jام ستون iتك A= درايه سطر iام ستون jام َA</p>
<p>مثال: ترانهاده يك ماتريس بالا مثلثي ، يك ماتريس پايين مثلثي است و بر عكس.</p>
<p>مثال: ترانهاده ماتريس واحد مرتبه n خود ماتريس واحد مرتبه n است، يعني I=َI</p>
<p>ويژگي هاي ترانهاده</p>
<p>قضيه: اگر A يك ماتريس m*n باشد در اين صورت A=َ(َ(A</p>
<p>قضيه: اگر A و B دو ماتريس m*n باشند، در اين صورت َB +َA = َ((A+B</p>
<p>قضيه: اگر A يك ماتريس m*n و يك عدد حقيقي باشد، در اين صورت</p>
<p>ماتريس متقارن</p>
<p>تعريف: ماتريس مربع A را متقارن مي نامند، هرگاه A=َA</p>
<p>مثال: ماتريس         متقارن است</p>
<p>زيرا</p>
<p>از تساوي A=َA نتجيه مي شود             a<sub>ij</sub>=<sub>ij</sub>َa</p>
<p>و در نتيجه              a<sub>ij</sub>=a<sub>ji</sub></p>
<p><sub> </sub>بنابراين در ماتريس هاي متقارن درايه هايي كه موضع آنها نسبت به قطر اصلي قرينه اند با هم مساويند.</p>
<p>مثال: هر ماتريس قطري متقارن استن در نتيجه ماتريسهاي اسكالر و ماتريس واحد و ماتريس صفر متقارن هستند.</p>
<p>قضيه: اگر A و B دو ماتريس متقارن هم مرتبه باشند، در اين صورت A+B نيز متقارن است.</p>
<p>اثبات: چون A و B متقارن است پس A=َA  و B=َB بنابراين</p>
<p>َB+َA = َ((A+B</p>
<p>قضيه: اگر A متقارن و يك عدد حقيقي باشد، در اين صورت نيز متقارن است</p>
<p>اثبات:</p>
<p>قضيه: اگر A و B  دو ماتريس متقارن و تعويض پذير باشند، در اين صورت AB نيز متقارن است.</p>
<p>اثبات:</p>
<p>دتريمنال يك ماتريس:</p>
<p>به هر ماتريس مربع، عددي نسبت داده مي شود كه دترمينال آن ماتريس ناميده مي شود. دترمينان يك ماتريس مانند مشتق يك تابع، اطلاعاتي در مورد آن ماتريس در اختيار مي گذارد. براي مثال با استفاده از دترمينان مي توان دريافت كه يك ماتريس وارون دارد يا خير؟ و اينكه در حل دستگاههاي n  معادله n مجهولي مي توان از دترمينان استفاده كرد.</p>
<p>دترمينان ماتريس هاي 1&#215;1</p>
<p>فرض كنيد    يك ماتريس  باشد، دترمينان اين ماتريس كه با نماد det[a] نشان داده مي شود عبارت است از                  det[a]=a</p>
<p>دترمينان ماتريسهاي 2×2</p>
<p>ماتريس        را در نظر مي گيريم دترمينان A كه با هر يك از نمادهاي نشان مي دهند، به صورت زير تعريف مي شود.</p>
<p>مثال:</p>
<p>براي تعريف دترمينان يك ماتريس n*n لازم است قبل از آن مفاهيم كهاد و همسازه را بدانيم.</p>
<p>كهاد (مينور)</p>
<p>تعريف: فرض كنيد A=[a<sub>ij</sub>] ماتريسي n*n باشد. ماتريسي را كه از حذف سطر iام ستون jام ماتريس A بدست مي آيد با M<sub>ij</sub> نشان مي دهيم. دترمينان M<sub>ij</sub> يعني را كهاد يا مينور a<sub>ij</sub> مي نامند.</p>
<p>تعريف: فرض كنيد A=[a<sub>ij</sub>] ماتريسي n*n باشد، همسازه      از زاويه a<sub>ij</sub> به صورت زير تعريف مي شود.</p>
<p>تذكر: <sup>i+j</sup>(1-) در هر حالت مقادير 1 يا 1- را مي گيرد، در واقع</p>
<p>مثال: فرض كنيد</p>
<p>در اين صورت ماتريس حاصل از حذف سطر اول ستون دوم =A <sub>12</sub>M</p>
<p>تعريف دتريمنان ماتريس هاي n*n</p>
<p>تعريف: فرض كنيد A[a<sub>ij</sub>] ماتريسي n*n باشد (n&gt;2) در اين صورت دترمينان A به صورت زير تعريف مي شود.</p>
<p>با كمي دقت در فرمول بالا مشاهده مي شودكه در محاسبه دترمينان A فقط از درايه هاي سطر اول و كهاد آنها استفاده شده است. اين فرمول را در مورد هر سطر دلخواه ديگر هم مي توانيم بنويسيم. مثلاً فرمول بالا براي سطر iام به شكل زير است</p>
<p>ثابت مي شود كه مقدار بالا بستگي به iندارد و همان مقدار به دست مي آيد. فرمول بالا را بسط دترمينان نسبت به سطر iام مي نامند  و در محاسبه دترمينان نسبت به هر سطري كه بسط داده شود، حاصل همواره يكي است.</p>
<p>همچنين در فرمول بسط دترمينان به جاي استفاده از سطرهاي ماتريس مي توانيم از ستون هاي ماتريس استفاده كنيم و به فرمول زير كه بسط دترمينان نسبت به ستون jام نام دارد، برسيم.</p>
<p>در اين مورد نيز ثابت مي شودكه مقدار بالا بستگي به j ندارد و همان است.</p>
<p>مثال: مطلوب است محاسبه دترمينان A كه A به صورت زير است.</p>
<p>حل: دترمينان را نسبت به سطر اول بسط مي دهيم.</p>
<p>وارون يك ماتريس</p>
<p>براي حل معادلات به صورت ax=b در مجموعه اعداد حقيقي، بايد كاري كرد كه ضريب x برابر 1 شود. براي اين كار بايد طرفين را در وارون a يعني     ضرب كرد در نتيجه</p>
<p>البته، روشن است كه اين معادله را وقتي مي توان به اين صورت حل كرد كه نظير اين معادلات در ماتريس ها نيز مطرح است، يعني معادلات به صورت AX=C</p>
<p>كه در آن A و C ماتريسهاي مربع هستند، همانند اعداد راحت ترين كار براي حل اين نوع معادلات از ميان برداشتن A است، بعبارت ديگر طرفين معادله را مي بايست از سمت چپ در ماتريسي ضرب كنيم كه A را خنثي كند. منظور از خنثي كردن A آن است كه ماتريسي مانند B بدست آوريم به طوري كه BA=I در اين صورت B را وارون A و يا به عبارت دقيقتر وارون چپ A گويند.</p>
<p>تعريف: فرض كنيد A ماتريس n*n باشد. اگر ماتريسي مانند B وجود داشته باشد، به طوري كه در آن I ماتريس واحد مرتبه n است، ماتريس B را يك وارون A گويند. در اين صورت مي گويند A وارون پذير يا غير منفرد (ناتكين) است</p>
<p>مثال: نشان دهيد ماتريس وارون پذير است.</p>
<p>حل: با توجه به تعريف بايد ماتريسي 2×2 مانند B ارائه دهيم به طوري كه</p>
<p>AB=BA=I</p>
<p>براي اين كار فرض كنيد</p>
<p>بنابراين</p>
<p>از حل دستگاه فوق نتيجه مي شود كه</p>
<p>بنابراين</p>
<p>به سادگي مي توان ديد كه</p>
<p>بنابراين ماتريس     وارون است در نتيجه A وارون پذير است.</p>
<p>قضيه: وارون يك ماتريس در صورت وجود منحصر به فرد است.</p>
<p>اثبات: فرض كنيد A داراي دو وارون َA و ًA باشد، نشان مي دهيمَA = ًA</p>
<p>I ماتريس واحد است                   َIA=ًA</p>
<p>ًAA)َ=(A</p>
<p>(ً(AAَA=</p>
<p>IَA=</p>
<p>َA</p>
<p>قرارداد: اگر A يك ماتريس مربع وارون پذير باشد، در اين صورت وارون A را با <sup>1-</sup> A نشان مي دهند. بنابراين</p>
<p>A=I<sup>1-</sup>A= <sup>1-</sup>AA</p>
<p>قضيه: فرض كنيد</p>
<p>و در اين صورت A وارون پذير است و</p>
<p>اثبات: در معادله صدق مي كند</p>
<p>يعني</p>
<p>پس A وارون پذير است، و همچنين</p>
<p><sub> </sub></p>
<p class="Titr" style="text-align: center;"><span style="font-size: 12pt;"><a href="https://s3.afranet.net/matlab1ir/file1/file140%5Bmatlab1.ir%5D.rar" target="_blank" rel="noopener noreferrer">لینک دانلود اصل فایل</a></span></p>
<p><a href="http://iran-matlab.ir/?product=%D8%B3%DB%8C%D8%B1-%D8%AA%D8%A7-%D9%BE%DB%8C%D8%A7%D8%B2-%D9%85%D8%AA%D9%84%D8%A8-matlab" target="_blank" rel="noopener noreferrer"><img decoding="async" class="aligncenter" src="http://iran-matlab.ir/wp-content/uploads/2016/02/logo_film.png" alt="" width="631" height="440" /></a></p>
<p>نوشته <a href="https://matlab1.ir/%d8%a2%d8%b4%d9%86%d8%a7%d9%8a%d9%8a-%d8%a8%d8%a7-%d9%85%d8%a7%d8%aa%d8%b1%d9%8a%d8%b3%d9%87%d8%a7/">آشنايي با ماتريسها</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://matlab1.ir/%d8%a2%d8%b4%d9%86%d8%a7%d9%8a%d9%8a-%d8%a8%d8%a7-%d9%85%d8%a7%d8%aa%d8%b1%d9%8a%d8%b3%d9%87%d8%a7/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
	</channel>
</rss>
