<?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/category/%d8%a2%d9%85%d9%88%d8%b2%d8%b4/feed/" rel="self" type="application/rss+xml" />
	<link>https://matlab1.ir/category/آموزش/</link>
	<description>مرجع فیلم های آموزشی فارسی دانشگاهی و مهندسی</description>
	<lastBuildDate>Mon, 24 Aug 2026 18:02:33 +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/category/آموزش/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>اجرای قدم‌به‌قدم مدل Simulink برای پیدا کردن خطا</title>
		<link>https://matlab1.ir/%d8%a7%d8%ac%d8%b1%d8%a7%db%8c-%d9%82%d8%af%d9%85%d8%a8%d9%87%d9%82%d8%af%d9%85-%d9%85%d8%af%d9%84-simulink-%d8%a8%d8%b1%d8%a7%db%8c-%d9%be%db%8c%d8%af%d8%a7-%da%a9%d8%b1%d8%af%d9%86/</link>
					<comments>https://matlab1.ir/%d8%a7%d8%ac%d8%b1%d8%a7%db%8c-%d9%82%d8%af%d9%85%d8%a8%d9%87%d9%82%d8%af%d9%85-%d9%85%d8%af%d9%84-simulink-%d8%a8%d8%b1%d8%a7%db%8c-%d9%be%db%8c%d8%af%d8%a7-%da%a9%d8%b1%d8%af%d9%86/#respond</comments>
		
		<dc:creator><![CDATA[ایران متلب]]></dc:creator>
		<pubDate>Wed, 30 Sep 2026 18:01:42 +0000</pubDate>
				<category><![CDATA[آموزش]]></category>
		<guid isPermaLink="false">https://matlab1.ir/?p=14861</guid>

					<description><![CDATA[<p>گاهی یک مدل Simulink اجرا می‌شود، اما نمی‌دانیم دقیقاً در کدام مرحله مقدار یک سیگنال اشتباه می‌شود. در این شرایط اجرای معمولی مدل با دکمه Run همیشه کمک زیادی نمی‌کند. یکی از [&#8230;]</p>
<p>نوشته <a href="https://matlab1.ir/%d8%a7%d8%ac%d8%b1%d8%a7%db%8c-%d9%82%d8%af%d9%85%d8%a8%d9%87%d9%82%d8%af%d9%85-%d9%85%d8%af%d9%84-simulink-%d8%a8%d8%b1%d8%a7%db%8c-%d9%be%db%8c%d8%af%d8%a7-%da%a9%d8%b1%d8%af%d9%86/">اجرای قدم‌به‌قدم مدل Simulink برای پیدا کردن خطا</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></description>
										<content:encoded><![CDATA[<p>گاهی یک مدل Simulink اجرا می‌شود، اما نمی‌دانیم دقیقاً در کدام مرحله مقدار یک سیگنال اشتباه می‌شود. در این شرایط اجرای معمولی مدل با دکمه Run همیشه کمک زیادی نمی‌کند.</p>
<p>یکی از روش‌های مفید، اجرای <strong>قدم‌به‌قدم شبیه‌سازی</strong> با ابزار <strong>Simulation Stepper</strong> است.</p>
<p>با این ابزار می‌توانید شبیه‌سازی را مرحله‌به‌مرحله جلو ببرید و بعد از هر Step، وضعیت مدل و مقدار سیگنال‌ها را بررسی کنید.</p>
<p>&nbsp;</p>
<h3>چگونه از Simulation Stepper استفاده کنیم؟</h3>
<p>مدل Simulink را باز کنید و از بخش مربوط به Debugging یا Simulation، گزینه <strong>Simulation Stepper</strong> را فعال کنید.</p>
<p>سپس می‌توانید شبیه‌سازی را به‌جای اجرای کامل، یک مرحله جلو ببرید.</p>
<p>این کار مخصوصاً زمانی مفید است که بخواهید بفهمید:</p>
<ul>
<li>در چه لحظه‌ای مقدار یک سیگنال غیرعادی می‌شود؛</li>
<li>خروجی کدام بلوک باعث ایجاد خطا شده است؛</li>
<li>یک شرط یا State دقیقاً چه زمانی تغییر می‌کند؛</li>
<li>مشکل از کدام قسمت مدل شروع می‌شود.</li>
</ul>
<p>&nbsp;</p>
<h3>یک مثال ساده</h3>
<p>فرض کنید خروجی مدل بعد از چند ثانیه ناگهان مقدار بسیار بزرگی می‌گیرد.</p>
<p>به‌جای اجرای چندباره کل مدل، می‌توانید با Simulation Stepper شبیه‌سازی را مرحله‌به‌مرحله جلو ببرید و مقدار سیگنال‌های مهم را در هر مرحله بررسی کنید.</p>
<p>به این ترتیب راحت‌تر می‌توانید لحظه‌ای را پیدا کنید که رفتار مدل از حالت عادی خارج می‌شود.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h3>نکته</h3>
<p>Simulation Stepper بیشتر برای <strong>Debug کردن رفتار زمانی مدل</strong> کاربرد دارد. اگر فقط می‌خواهید شکل یک سیگنال را در طول زمان ببینید، ابزارهایی مانند Scope یا Simulink Data Inspector مناسب‌تر هستند.</p>
<p>اما وقتی سؤال شما این است که:</p>
<p><strong>«دقیقاً در کدام مرحله مدل خراب می‌شود؟»</strong></p>
<p>اجرای قدم‌به‌قدم Simulink می‌تواند یکی از مفیدترین ابزارهای عیب‌یابی باشد.</p>
<p>نوشته <a href="https://matlab1.ir/%d8%a7%d8%ac%d8%b1%d8%a7%db%8c-%d9%82%d8%af%d9%85%d8%a8%d9%87%d9%82%d8%af%d9%85-%d9%85%d8%af%d9%84-simulink-%d8%a8%d8%b1%d8%a7%db%8c-%d9%be%db%8c%d8%af%d8%a7-%da%a9%d8%b1%d8%af%d9%86/">اجرای قدم‌به‌قدم مدل Simulink برای پیدا کردن خطا</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://matlab1.ir/%d8%a7%d8%ac%d8%b1%d8%a7%db%8c-%d9%82%d8%af%d9%85%d8%a8%d9%87%d9%82%d8%af%d9%85-%d9%85%d8%af%d9%84-simulink-%d8%a8%d8%b1%d8%a7%db%8c-%d9%be%db%8c%d8%af%d8%a7-%da%a9%d8%b1%d8%af%d9%86/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>بدون Scope مقدار سیگنال‌های Simulink را ببینید</title>
		<link>https://matlab1.ir/%d8%a8%d8%af%d9%88%d9%86-scope-%d9%85%d9%82%d8%af%d8%a7%d8%b1-%d8%b3%db%8c%da%af%d9%86%d8%a7%d9%84%d9%87%d8%a7%db%8c-simulink-%d8%b1%d8%a7-%d8%a8%d8%a8%db%8c%d9%86%db%8c%d8%af/</link>
					<comments>https://matlab1.ir/%d8%a8%d8%af%d9%88%d9%86-scope-%d9%85%d9%82%d8%af%d8%a7%d8%b1-%d8%b3%db%8c%da%af%d9%86%d8%a7%d9%84%d9%87%d8%a7%db%8c-simulink-%d8%b1%d8%a7-%d8%a8%d8%a8%db%8c%d9%86%db%8c%d8%af/#respond</comments>
		
		<dc:creator><![CDATA[ایران متلب]]></dc:creator>
		<pubDate>Thu, 24 Sep 2026 17:59:49 +0000</pubDate>
				<category><![CDATA[آموزش]]></category>
		<guid isPermaLink="false">https://matlab1.ir/?p=14859</guid>

					<description><![CDATA[<p>برای مشاهده مقدار یک سیگنال در Simulink معمولاً از بلوک Scope استفاده می‌کنیم، اما همیشه لازم نیست برای هر سیگنال یک Scope به مدل اضافه کنید. Simulink می‌تواند مقدار برخی سیگنال‌ها را [&#8230;]</p>
<p>نوشته <a href="https://matlab1.ir/%d8%a8%d8%af%d9%88%d9%86-scope-%d9%85%d9%82%d8%af%d8%a7%d8%b1-%d8%b3%db%8c%da%af%d9%86%d8%a7%d9%84%d9%87%d8%a7%db%8c-simulink-%d8%b1%d8%a7-%d8%a8%d8%a8%db%8c%d9%86%db%8c%d8%af/">بدون Scope مقدار سیگنال‌های Simulink را ببینید</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></description>
										<content:encoded><![CDATA[<p>برای مشاهده مقدار یک سیگنال در Simulink معمولاً از بلوک <code>Scope</code> استفاده می‌کنیم، اما همیشه لازم نیست برای هر سیگنال یک Scope به مدل اضافه کنید.</p>
<p>Simulink می‌تواند مقدار برخی سیگنال‌ها را مستقیماً روی مدل نمایش دهد.</p>
<p>یکی از روش‌ها این است که هنگام اجرای شبیه‌سازی، نمایش <strong>Port Values</strong> یا مقادیر پورت‌ها را فعال کنید. در این حالت مقدار سیگنال نزدیک بلوک یا پورت مربوطه نمایش داده می‌شود و می‌توانید بدون باز کردن Scope مقدار لحظه‌ای سیگنال را ببینید.</p>
<p>این قابلیت مخصوصاً هنگام Debug کردن مدل بسیار مفید است.</p>
<p>مثلاً اگر مدل ساده‌ای شامل یک ورودی، بلوک Gain و چند عمل ریاضی داشته باشید، به‌جای اضافه کردن چند Scope می‌توانید مقادیر سیگنال‌های میانی را مستقیماً روی دیاگرام بررسی کنید.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h3>چه زمانی این روش مفید است؟</h3>
<p>این قابلیت برای موارد زیر بسیار مناسب است:</p>
<ul>
<li>بررسی سریع مقدار سیگنال‌های میانی</li>
<li>پیدا کردن محل ایجاد مقدار اشتباه</li>
<li>Debug کردن یک مدل بزرگ</li>
<li>جلوگیری از اضافه شدن تعداد زیادی Scope به مدل</li>
</ul>
<p>البته برای بررسی تغییرات یک سیگنال در طول زمان، رسم نمودار یا مقایسه چند سیگنال، همچنان ابزارهایی مانند <code>Scope</code> یا Simulink Data Inspector مناسب‌تر هستند.</p>
<p>اما اگر فقط می‌خواهید بدانید <strong>در همین لحظه مقدار یک سیگنال چقدر است</strong>، نمایش مستقیم مقدار سیگنال روی مدل می‌تواند بسیار سریع‌تر و مرتب‌تر باشد.</p>
<p>نوشته <a href="https://matlab1.ir/%d8%a8%d8%af%d9%88%d9%86-scope-%d9%85%d9%82%d8%af%d8%a7%d8%b1-%d8%b3%db%8c%da%af%d9%86%d8%a7%d9%84%d9%87%d8%a7%db%8c-simulink-%d8%b1%d8%a7-%d8%a8%d8%a8%db%8c%d9%86%db%8c%d8%af/">بدون Scope مقدار سیگنال‌های Simulink را ببینید</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://matlab1.ir/%d8%a8%d8%af%d9%88%d9%86-scope-%d9%85%d9%82%d8%af%d8%a7%d8%b1-%d8%b3%db%8c%da%af%d9%86%d8%a7%d9%84%d9%87%d8%a7%db%8c-simulink-%d8%b1%d8%a7-%d8%a8%d8%a8%db%8c%d9%86%db%8c%d8%af/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>چگونه بدون باز کردن فایل MAT بفهمیم داخل آن چه متغیرهایی وجود دارد؟</title>
		<link>https://matlab1.ir/%da%86%da%af%d9%88%d9%86%d9%87-%d8%a8%d8%af%d9%88%d9%86-%d8%a8%d8%a7%d8%b2-%da%a9%d8%b1%d8%af%d9%86-%d9%81%d8%a7%db%8c%d9%84-mat-%d8%a8%d9%81%d9%87%d9%85%db%8c%d9%85-%d8%af%d8%a7%d8%ae%d9%84-%d8%a2/</link>
					<comments>https://matlab1.ir/%da%86%da%af%d9%88%d9%86%d9%87-%d8%a8%d8%af%d9%88%d9%86-%d8%a8%d8%a7%d8%b2-%da%a9%d8%b1%d8%af%d9%86-%d9%81%d8%a7%db%8c%d9%84-mat-%d8%a8%d9%81%d9%87%d9%85%db%8c%d9%85-%d8%af%d8%a7%d8%ae%d9%84-%d8%a2/#respond</comments>
		
		<dc:creator><![CDATA[ایران متلب]]></dc:creator>
		<pubDate>Thu, 24 Sep 2026 17:31:36 +0000</pubDate>
				<category><![CDATA[آموزش]]></category>
		<guid isPermaLink="false">https://matlab1.ir/?p=14837</guid>

					<description><![CDATA[<p>گاهی یک فایل MAT در اختیار داریم، اما نمی‌دانیم داخل آن چه متغیرهایی ذخیره شده‌اند. لازم نیست فایل را با دستور load وارد Workspace کنید؛ MATLAB می‌تواند محتویات فایل را بدون بارگذاری [&#8230;]</p>
<p>نوشته <a href="https://matlab1.ir/%da%86%da%af%d9%88%d9%86%d9%87-%d8%a8%d8%af%d9%88%d9%86-%d8%a8%d8%a7%d8%b2-%da%a9%d8%b1%d8%af%d9%86-%d9%81%d8%a7%db%8c%d9%84-mat-%d8%a8%d9%81%d9%87%d9%85%db%8c%d9%85-%d8%af%d8%a7%d8%ae%d9%84-%d8%a2/">چگونه بدون باز کردن فایل MAT بفهمیم داخل آن چه متغیرهایی وجود دارد؟</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></description>
										<content:encoded><![CDATA[<p>گاهی یک فایل MAT در اختیار داریم، اما نمی‌دانیم داخل آن چه متغیرهایی ذخیره شده‌اند. لازم نیست فایل را با دستور <code>load</code> وارد Workspace کنید؛ MATLAB می‌تواند محتویات فایل را بدون بارگذاری کامل آن نمایش دهد.</p>
<p>برای این کار از دستور زیر استفاده کنید:</p>
<pre><code class="language-matlab">whos -file data.mat
</code></pre>
<p>اگر فایل <code>data.mat</code> شامل چند متغیر باشد، MATLAB اطلاعاتی شبیه این نمایش می‌دهد:</p>
<pre><code class="language-text">  Name          Size               Bytes  Class

  A          1000x1000           8000000  double
  time          1x5000             40000  double
  image      1080x1920x3         6220800  uint8
</code></pre>
<p>به این ترتیب می‌توانید قبل از باز کردن فایل، نام متغیرها، اندازه آن‌ها، نوع داده و مقدار حافظه مورد نیازشان را ببینید.</p>
<p>این روش مخصوصاً زمانی مفید است که فایل MAT بزرگ باشد و نخواهید همه اطلاعات آن را بی‌دلیل وارد حافظه RAM کنید.</p>
<p>اگر فقط می‌خواهید اطلاعات یک متغیر خاص را بررسی کنید، می‌توانید نام آن را هم مشخص کنید:</p>
<pre><code class="language-matlab">whos -file data.mat image
</code></pre>
<p>در این حالت MATLAB فقط اطلاعات متغیر <code>image</code> را نمایش می‌دهد.</p>
<h3>نکته</h3>
<p>دستور زیر:</p>
<pre><code class="language-matlab">load data.mat
</code></pre>
<p>متغیرهای فایل را وارد Workspace می‌کند، اما:</p>
<pre><code class="language-matlab">whos -file data.mat
</code></pre>
<p>فقط محتویات فایل را بررسی می‌کند و چیزی را وارد Workspace نمی‌کند.</p>
<p>بنابراین قبل از باز کردن فایل‌های MAT ناشناس یا حجیم، استفاده از <code>whos -file</code> می‌تواند یک روش سریع و کاربردی برای فهمیدن محتویات آن‌ها باشد.</p>
<p>نوشته <a href="https://matlab1.ir/%da%86%da%af%d9%88%d9%86%d9%87-%d8%a8%d8%af%d9%88%d9%86-%d8%a8%d8%a7%d8%b2-%da%a9%d8%b1%d8%af%d9%86-%d9%81%d8%a7%db%8c%d9%84-mat-%d8%a8%d9%81%d9%87%d9%85%db%8c%d9%85-%d8%af%d8%a7%d8%ae%d9%84-%d8%a2/">چگونه بدون باز کردن فایل MAT بفهمیم داخل آن چه متغیرهایی وجود دارد؟</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://matlab1.ir/%da%86%da%af%d9%88%d9%86%d9%87-%d8%a8%d8%af%d9%88%d9%86-%d8%a8%d8%a7%d8%b2-%da%a9%d8%b1%d8%af%d9%86-%d9%81%d8%a7%db%8c%d9%84-mat-%d8%a8%d9%81%d9%87%d9%85%db%8c%d9%85-%d8%af%d8%a7%d8%ae%d9%84-%d8%a2/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>چگونه چند نمودار را بدون subplot در یک پنجره مرتب کنیم؟</title>
		<link>https://matlab1.ir/%da%86%da%af%d9%88%d9%86%d9%87-%da%86%d9%86%d8%af-%d9%86%d9%85%d9%88%d8%af%d8%a7%d8%b1-%d8%b1%d8%a7-%d8%a8%d8%af%d9%88%d9%86-subplot-%d8%af%d8%b1-%db%8c%da%a9-%d9%be%d9%86%d8%ac%d8%b1%d9%87-%d9%85/</link>
					<comments>https://matlab1.ir/%da%86%da%af%d9%88%d9%86%d9%87-%da%86%d9%86%d8%af-%d9%86%d9%85%d9%88%d8%af%d8%a7%d8%b1-%d8%b1%d8%a7-%d8%a8%d8%af%d9%88%d9%86-subplot-%d8%af%d8%b1-%db%8c%da%a9-%d9%be%d9%86%d8%ac%d8%b1%d9%87-%d9%85/#respond</comments>
		
		<dc:creator><![CDATA[ایران متلب]]></dc:creator>
		<pubDate>Sun, 20 Sep 2026 17:57:58 +0000</pubDate>
				<category><![CDATA[آموزش]]></category>
		<guid isPermaLink="false">https://matlab1.ir/?p=14857</guid>

					<description><![CDATA[<p>برای نمایش چند نمودار در یک پنجره MATLAB، بسیاری از کاربران از دستور subplot استفاده می‌کنند. اما در نسخه‌های جدید MATLAB روش بهتر و انعطاف‌پذیرتری به نام tiledlayout وجود دارد. مثلاً برای [&#8230;]</p>
<p>نوشته <a href="https://matlab1.ir/%da%86%da%af%d9%88%d9%86%d9%87-%da%86%d9%86%d8%af-%d9%86%d9%85%d9%88%d8%af%d8%a7%d8%b1-%d8%b1%d8%a7-%d8%a8%d8%af%d9%88%d9%86-subplot-%d8%af%d8%b1-%db%8c%da%a9-%d9%be%d9%86%d8%ac%d8%b1%d9%87-%d9%85/">چگونه چند نمودار را بدون subplot در یک پنجره مرتب کنیم؟</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></description>
										<content:encoded><![CDATA[<p>برای نمایش چند نمودار در یک پنجره MATLAB، بسیاری از کاربران از دستور <code>subplot</code> استفاده می‌کنند. اما در نسخه‌های جدید MATLAB روش بهتر و انعطاف‌پذیرتری به نام <code>tiledlayout</code> وجود دارد.</p>
<p>مثلاً برای ساخت چهار نمودار در قالب 2×2 ابتدا بنویسید:</p>
<pre><code class="language-matlab">tiledlayout(2,2)
</code></pre>
<p>سپس قبل از رسم هر نمودار از <code>nexttile</code> استفاده کنید:</p>
<pre><code class="language-matlab">x = 0:0.1:10;

tiledlayout(2,2)

nexttile
plot(x,sin(x))

nexttile
plot(x,cos(x))

nexttile
plot(x,sin(2*x))

nexttile
plot(x,cos(2*x))
</code></pre>
<p>MATLAB به‌صورت خودکار هر نمودار را در قسمت بعدی پنجره قرار می‌دهد.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h3>چرا tiledlayout بهتر از subplot است؟</h3>
<p>یکی از مزیت‌های <code>tiledlayout</code> کنترل بهتر فاصله بین نمودارها و حاشیه‌های شکل است.</p>
<p>برای مثال:</p>
<pre><code class="language-matlab">tiledlayout(2,2,'TileSpacing','compact')
</code></pre>
<p>باعث می‌شود فاصله بین نمودارها کمتر شود.</p>
<p>همچنین می‌توانید حاشیه‌های اطراف مجموعه نمودارها را کاهش دهید:</p>
<pre><code class="language-matlab">tiledlayout(2,2,...
    'TileSpacing','compact',...
    'Padding','compact')
</code></pre>
<p>این حالت مخصوصاً برای آماده کردن شکل‌های مقاله، گزارش یا پایان‌نامه بسیار کاربردی است.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h3>عنوان مشترک برای همه نمودارها</h3>
<p>یکی دیگر از قابلیت‌های جالب <code>tiledlayout</code> امکان تعریف عنوان مشترک است:</p>
<pre><code class="language-matlab">t = tiledlayout(2,2);

nexttile
plot(x,sin(x))

nexttile
plot(x,cos(x))

title(t,'نتایج شبیه‌سازی')
</code></pre>
<p>بنابراین اگر هنوز برای مرتب کردن چند نمودار از <code>subplot</code> استفاده می‌کنید، بهتر است <code>tiledlayout</code> و <code>nexttile</code> را نیز امتحان کنید. این روش معمولاً کنترل بیشتر و خروجی مرتب‌تری در اختیار شما قرار می‌دهد.</p>
<p>نوشته <a href="https://matlab1.ir/%da%86%da%af%d9%88%d9%86%d9%87-%da%86%d9%86%d8%af-%d9%86%d9%85%d9%88%d8%af%d8%a7%d8%b1-%d8%b1%d8%a7-%d8%a8%d8%af%d9%88%d9%86-subplot-%d8%af%d8%b1-%db%8c%da%a9-%d9%be%d9%86%d8%ac%d8%b1%d9%87-%d9%85/">چگونه چند نمودار را بدون subplot در یک پنجره مرتب کنیم؟</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://matlab1.ir/%da%86%da%af%d9%88%d9%86%d9%87-%da%86%d9%86%d8%af-%d9%86%d9%85%d9%88%d8%af%d8%a7%d8%b1-%d8%b1%d8%a7-%d8%a8%d8%af%d9%88%d9%86-subplot-%d8%af%d8%b1-%db%8c%da%a9-%d9%be%d9%86%d8%ac%d8%b1%d9%87-%d9%85/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>MATLAB می‌تواند خودش بهترین محل Legend را انتخاب کند</title>
		<link>https://matlab1.ir/matlab-%d9%85%db%8c%d8%aa%d9%88%d8%a7%d9%86%d8%af-%d8%ae%d9%88%d8%af%d8%b4-%d8%a8%d9%87%d8%aa%d8%b1%db%8c%d9%86-%d9%85%d8%ad%d9%84-legend-%d8%b1%d8%a7-%d8%a7%d9%86%d8%aa%d8%ae%d8%a7%d8%a8/</link>
					<comments>https://matlab1.ir/matlab-%d9%85%db%8c%d8%aa%d9%88%d8%a7%d9%86%d8%af-%d8%ae%d9%88%d8%af%d8%b4-%d8%a8%d9%87%d8%aa%d8%b1%db%8c%d9%86-%d9%85%d8%ad%d9%84-legend-%d8%b1%d8%a7-%d8%a7%d9%86%d8%aa%d8%ae%d8%a7%d8%a8/#respond</comments>
		
		<dc:creator><![CDATA[ایران متلب]]></dc:creator>
		<pubDate>Tue, 15 Sep 2026 17:56:08 +0000</pubDate>
				<category><![CDATA[آموزش]]></category>
		<guid isPermaLink="false">https://matlab1.ir/?p=14855</guid>

					<description><![CDATA[<p>اگر روی یک نمودار چند منحنی رسم کرده باشید، معمولاً از legend برای مشخص کردن هر منحنی استفاده می‌کنید. اما گاهی Legend روی بخشی از نمودار قرار می‌گیرد و اطلاعات مهم را [&#8230;]</p>
<p>نوشته <a href="https://matlab1.ir/matlab-%d9%85%db%8c%d8%aa%d9%88%d8%a7%d9%86%d8%af-%d8%ae%d9%88%d8%af%d8%b4-%d8%a8%d9%87%d8%aa%d8%b1%db%8c%d9%86-%d9%85%d8%ad%d9%84-legend-%d8%b1%d8%a7-%d8%a7%d9%86%d8%aa%d8%ae%d8%a7%d8%a8/">MATLAB می‌تواند خودش بهترین محل Legend را انتخاب کند</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></description>
										<content:encoded><![CDATA[<p>اگر روی یک نمودار چند منحنی رسم کرده باشید، معمولاً از <code>legend</code> برای مشخص کردن هر منحنی استفاده می‌کنید. اما گاهی Legend روی بخشی از نمودار قرار می‌گیرد و اطلاعات مهم را می‌پوشاند.</p>
<p>لازم نیست محل Legend را همیشه دستی انتخاب کنید. MATLAB می‌تواند خودش مناسب‌ترین محل را پیدا کند.</p>
<p>کافی است از گزینه <code>best</code> استفاده کنید:</p>
<pre><code class="language-matlab">x = 0:0.1:10;

plot(x,sin(x))
hold on
plot(x,cos(x))

legend('sin(x)','cos(x)','Location','best')
</code></pre>
<p>در این حالت MATLAB محل‌های مختلف را بررسی می‌کند و Legend را در جایی قرار می‌دهد که تا حد امکان مزاحمت کمتری برای داده‌های نمودار ایجاد کند.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h3>تفاوت با حالت معمول</h3>
<p>اگر فقط بنویسید:</p>
<pre><code class="language-matlab">legend('sin(x)','cos(x)')
</code></pre>
<p>Legend در محل پیش‌فرض قرار می‌گیرد.</p>
<p>اما با:</p>
<pre><code class="language-matlab">legend('sin(x)','cos(x)','Location','best')
</code></pre>
<p>MATLAB تلاش می‌کند محل مناسب‌تری را انتخاب کند.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h3>اگر بخواهیم محل را خودمان مشخص کنیم</h3>
<p>می‌توانید از گزینه‌هایی مانند این‌ها استفاده کنید:</p>
<pre><code class="language-matlab">legend('Location','northwest')
legend('Location','northeast')
legend('Location','southwest')
legend('Location','southeast')
</code></pre>
<p>اما اگر محل خاصی مدنظر ندارید، معمولاً گزینه زیر انتخاب ساده و مناسبی است:</p>
<pre><code class="language-matlab">legend('Location','best')
</code></pre>
<p>این ترفند کوچک مخصوصاً در نمودارهایی که چند منحنی دارند می‌تواند باعث شود بدون جابه‌جایی دستی Legend، شکل مرتب‌تر و خواناتری داشته باشید.</p>
<p>نوشته <a href="https://matlab1.ir/matlab-%d9%85%db%8c%d8%aa%d9%88%d8%a7%d9%86%d8%af-%d8%ae%d9%88%d8%af%d8%b4-%d8%a8%d9%87%d8%aa%d8%b1%db%8c%d9%86-%d9%85%d8%ad%d9%84-legend-%d8%b1%d8%a7-%d8%a7%d9%86%d8%aa%d8%ae%d8%a7%d8%a8/">MATLAB می‌تواند خودش بهترین محل Legend را انتخاب کند</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://matlab1.ir/matlab-%d9%85%db%8c%d8%aa%d9%88%d8%a7%d9%86%d8%af-%d8%ae%d9%88%d8%af%d8%b4-%d8%a8%d9%87%d8%aa%d8%b1%db%8c%d9%86-%d9%85%d8%ad%d9%84-legend-%d8%b1%d8%a7-%d8%a7%d9%86%d8%aa%d8%ae%d8%a7%d8%a8/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>چگونه بفهمیم یک متغیر MATLAB عدد است، متن است یا ماتریس؟</title>
		<link>https://matlab1.ir/%da%86%da%af%d9%88%d9%86%d9%87-%d8%a8%d9%81%d9%87%d9%85%db%8c%d9%85-%db%8c%da%a9-%d9%85%d8%aa%d8%ba%db%8c%d8%b1-matlab-%d8%b9%d8%af%d8%af-%d8%a7%d8%b3%d8%aa%d8%8c-%d9%85%d8%aa%d9%86-%d8%a7%d8%b3%d8%aa/</link>
					<comments>https://matlab1.ir/%da%86%da%af%d9%88%d9%86%d9%87-%d8%a8%d9%81%d9%87%d9%85%db%8c%d9%85-%db%8c%da%a9-%d9%85%d8%aa%d8%ba%db%8c%d8%b1-matlab-%d8%b9%d8%af%d8%af-%d8%a7%d8%b3%d8%aa%d8%8c-%d9%85%d8%aa%d9%86-%d8%a7%d8%b3%d8%aa/#respond</comments>
		
		<dc:creator><![CDATA[ایران متلب]]></dc:creator>
		<pubDate>Sat, 12 Sep 2026 17:51:01 +0000</pubDate>
				<category><![CDATA[آموزش]]></category>
		<guid isPermaLink="false">https://matlab1.ir/?p=14853</guid>

					<description><![CDATA[<p>گاهی در یک برنامه MATLAB نمی‌دانیم یک متغیر دقیقاً چه نوع داده‌ای دارد؛ مثلاً عدد است، متن است، سلول است یا نوع دیگری دارد. ساده‌ترین راه استفاده از دستور class است: class(A) [&#8230;]</p>
<p>نوشته <a href="https://matlab1.ir/%da%86%da%af%d9%88%d9%86%d9%87-%d8%a8%d9%81%d9%87%d9%85%db%8c%d9%85-%db%8c%da%a9-%d9%85%d8%aa%d8%ba%db%8c%d8%b1-matlab-%d8%b9%d8%af%d8%af-%d8%a7%d8%b3%d8%aa%d8%8c-%d9%85%d8%aa%d9%86-%d8%a7%d8%b3%d8%aa/">چگونه بفهمیم یک متغیر MATLAB عدد است، متن است یا ماتریس؟</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></description>
										<content:encoded><![CDATA[<p>گاهی در یک برنامه MATLAB نمی‌دانیم یک متغیر دقیقاً چه نوع داده‌ای دارد؛ مثلاً عدد است، متن است، سلول است یا نوع دیگری دارد.</p>
<p>ساده‌ترین راه استفاده از دستور <code>class</code> است:</p>
<pre><code class="language-matlab">class(A)
</code></pre>
<p>برای مثال:</p>
<pre><code class="language-matlab">A = 10;
class(A)
</code></pre>
<p>خروجی:</p>
<pre><code class="language-text">double
</code></pre>
<p>یعنی متغیر <code>A</code> از نوع عددی <code>double</code> است.</p>
<p>اگر متغیر متنی باشد:</p>
<pre><code class="language-matlab">name = "MATLAB";
class(name)
</code></pre>
<p>خروجی:</p>
<pre><code class="language-text">string
</code></pre>
<p>و اگر از متن قدیمی‌تر با کوتیشن تکی استفاده کنید:</p>
<pre><code class="language-matlab">name = 'MATLAB';
class(name)
</code></pre>
<p>خروجی:</p>
<pre><code class="language-text">char
</code></pre>
<h3></h3>
<h3>چگونه بفهمیم متغیر عددی است؟</h3>
<p>برای بررسی عددی بودن یک متغیر می‌توانید از <code>isnumeric</code> استفاده کنید:</p>
<pre><code class="language-matlab">isnumeric(A)
</code></pre>
<p>اگر متغیر عددی باشد، مقدار <code>1</code> یا <code>true</code> برگردانده می‌شود.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h3>ماتریس چطور؟</h3>
<p>در MATLAB تقریباً هر آرایه عددی، حتی یک عدد تکی، از نظر ساختار یک Array محسوب می‌شود. برای دیدن ابعاد متغیر از <code>size</code> استفاده کنید:</p>
<pre><code class="language-matlab">size(A)
</code></pre>
<p>مثلاً:</p>
<pre><code class="language-matlab">A = rand(3,5);

class(A)
size(A)
</code></pre>
<p>نشان می‌دهد که <code>A</code> یک آرایه عددی از نوع <code>double</code> با ابعاد <code>3×5</code> است.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h3>چند دستور مفید دیگر</h3>
<p>برای بررسی نوع متغیرها می‌توانید از این دستورات هم استفاده کنید:</p>
<pre><code class="language-matlab">ischar(A)
isstring(A)
iscell(A)
islogical(A)
isstruct(A)
</code></pre>
<p>پس اگر با یک متغیر ناشناخته روبه‌رو شدید، معمولاً اولین دستور مناسب این است:</p>
<pre><code class="language-matlab">class(A)
</code></pre>
<p>و اگر لازم بود، با <code>size</code> و توابعی مثل <code>isnumeric</code> اطلاعات دقیق‌تری درباره آن به دست آورید.</p>
<p>نوشته <a href="https://matlab1.ir/%da%86%da%af%d9%88%d9%86%d9%87-%d8%a8%d9%81%d9%87%d9%85%db%8c%d9%85-%db%8c%da%a9-%d9%85%d8%aa%d8%ba%db%8c%d8%b1-matlab-%d8%b9%d8%af%d8%af-%d8%a7%d8%b3%d8%aa%d8%8c-%d9%85%d8%aa%d9%86-%d8%a7%d8%b3%d8%aa/">چگونه بفهمیم یک متغیر MATLAB عدد است، متن است یا ماتریس؟</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://matlab1.ir/%da%86%da%af%d9%88%d9%86%d9%87-%d8%a8%d9%81%d9%87%d9%85%db%8c%d9%85-%db%8c%da%a9-%d9%85%d8%aa%d8%ba%db%8c%d8%b1-matlab-%d8%b9%d8%af%d8%af-%d8%a7%d8%b3%d8%aa%d8%8c-%d9%85%d8%aa%d9%86-%d8%a7%d8%b3%d8%aa/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>چرا نباید همیشه از clear all استفاده کنیم؟</title>
		<link>https://matlab1.ir/%da%86%d8%b1%d8%a7-%d9%86%d8%a8%d8%a7%db%8c%d8%af-%d9%87%d9%85%db%8c%d8%b4%d9%87-%d8%a7%d8%b2-clear-all-%d8%a7%d8%b3%d8%aa%d9%81%d8%a7%d8%af%d9%87-%da%a9%d9%86%db%8c%d9%85%d8%9f/</link>
					<comments>https://matlab1.ir/%da%86%d8%b1%d8%a7-%d9%86%d8%a8%d8%a7%db%8c%d8%af-%d9%87%d9%85%db%8c%d8%b4%d9%87-%d8%a7%d8%b2-clear-all-%d8%a7%d8%b3%d8%aa%d9%81%d8%a7%d8%af%d9%87-%da%a9%d9%86%db%8c%d9%85%d8%9f/#respond</comments>
		
		<dc:creator><![CDATA[ایران متلب]]></dc:creator>
		<pubDate>Wed, 09 Sep 2026 17:48:08 +0000</pubDate>
				<category><![CDATA[آموزش]]></category>
		<guid isPermaLink="false">https://matlab1.ir/?p=14851</guid>

					<description><![CDATA[<p>خیلی از کاربران MATLAB عادت دارند ابتدای هر برنامه این سه دستور را بنویسند: clc clear all close all اما استفاده همیشگی از clear all معمولاً ضروری نیست و حتی می‌تواند اجرای [&#8230;]</p>
<p>نوشته <a href="https://matlab1.ir/%da%86%d8%b1%d8%a7-%d9%86%d8%a8%d8%a7%db%8c%d8%af-%d9%87%d9%85%db%8c%d8%b4%d9%87-%d8%a7%d8%b2-clear-all-%d8%a7%d8%b3%d8%aa%d9%81%d8%a7%d8%af%d9%87-%da%a9%d9%86%db%8c%d9%85%d8%9f/">چرا نباید همیشه از clear all استفاده کنیم؟</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></description>
										<content:encoded><![CDATA[<p>خیلی از کاربران MATLAB عادت دارند ابتدای هر برنامه این سه دستور را بنویسند:</p>
<pre><code class="language-matlab">clc
clear all
close all
</code></pre>
<p>اما استفاده همیشگی از <code>clear all</code> معمولاً ضروری نیست و حتی می‌تواند اجرای برنامه را کندتر کند.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h3>clear all چه کاری انجام می‌دهد؟</h3>
<p>دستور:</p>
<pre><code class="language-matlab">clear all
</code></pre>
<p>فقط متغیرهای Workspace را پاک نمی‌کند؛ بلکه اطلاعات بیشتری از حافظه MATLAB، از جمله توابع بارگذاری‌شده را نیز پاک می‌کند.</p>
<p>به همین دلیل MATLAB ممکن است در اجرای بعدی بعضی توابع مجبور شود آن‌ها را دوباره بارگذاری کند.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h3>معمولاً clear کافی است</h3>
<p>اگر فقط می‌خواهید متغیرهای Workspace پاک شوند، اغلب همین دستور کافی است:</p>
<pre><code class="language-matlab">clear
</code></pre>
<p>حتی بهتر است اگر فقط چند متغیر خاص مزاحم هستند، همان‌ها را پاک کنید:</p>
<pre><code class="language-matlab">clear x y result
</code></pre>
<p>به این ترتیب سایر داده‌های موجود در Workspace بدون دلیل حذف نمی‌شوند.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h3>یک نکته مهم</h3>
<p>در بسیاری از برنامه‌ها حتی استفاده از <code>clear</code> در ابتدای Script هم ضروری نیست. اگر کد شما درست نوشته شده باشد، بهتر است به متغیرهای قدیمی Workspace وابسته نباشد.</p>
<p>برای پروژه‌های بزرگ‌تر نیز استفاده از <strong>Function</strong> به جای Script کمک می‌کند هر تابع Workspace مخصوص خودش را داشته باشد و نیاز به پاک کردن دائمی متغیرها کمتر شود.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h3>پس چه زمانی clear all استفاده کنیم؟</h3>
<p><code>clear all</code> بیشتر زمانی مفید است که واقعاً بخواهید تقریباً تمام وضعیت بارگذاری‌شده MATLAB را پاک کنید، مثلاً هنگام Debug کردن یک مشکل خاص.</p>
<p>اما برای استفاده روزمره معمولاً:</p>
<pre><code class="language-matlab">clear
</code></pre>
<p>یا حتی:</p>
<pre><code class="language-matlab">clear variableName
</code></pre>
<p>انتخاب مناسب‌تری است.</p>
<p>پس لازم نیست ابتدای هر فایل MATLAB به‌صورت عادت از <code>clear all</code> استفاده کنید؛ در بیشتر مواقع پاک کردن همان متغیرهایی که واقعاً به آن‌ها نیاز ندارید کافی است.</p>
<p>نوشته <a href="https://matlab1.ir/%da%86%d8%b1%d8%a7-%d9%86%d8%a8%d8%a7%db%8c%d8%af-%d9%87%d9%85%db%8c%d8%b4%d9%87-%d8%a7%d8%b2-clear-all-%d8%a7%d8%b3%d8%aa%d9%81%d8%a7%d8%af%d9%87-%da%a9%d9%86%db%8c%d9%85%d8%9f/">چرا نباید همیشه از clear all استفاده کنیم؟</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://matlab1.ir/%da%86%d8%b1%d8%a7-%d9%86%d8%a8%d8%a7%db%8c%d8%af-%d9%87%d9%85%db%8c%d8%b4%d9%87-%d8%a7%d8%b2-clear-all-%d8%a7%d8%b3%d8%aa%d9%81%d8%a7%d8%af%d9%87-%da%a9%d9%86%db%8c%d9%85%d8%9f/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>چگونه چند خط کد MATLAB را بدون حذف کردن موقتاً غیرفعال کنیم؟</title>
		<link>https://matlab1.ir/%da%86%da%af%d9%88%d9%86%d9%87-%da%86%d9%86%d8%af-%d8%ae%d8%b7-%da%a9%d8%af-matlab-%d8%b1%d8%a7-%d8%a8%d8%af%d9%88%d9%86-%d8%ad%d8%b0%d9%81-%da%a9%d8%b1%d8%af%d9%86-%d9%85%d9%88%d9%82%d8%aa%d8%a7/</link>
					<comments>https://matlab1.ir/%da%86%da%af%d9%88%d9%86%d9%87-%da%86%d9%86%d8%af-%d8%ae%d8%b7-%da%a9%d8%af-matlab-%d8%b1%d8%a7-%d8%a8%d8%af%d9%88%d9%86-%d8%ad%d8%b0%d9%81-%da%a9%d8%b1%d8%af%d9%86-%d9%85%d9%88%d9%82%d8%aa%d8%a7/#respond</comments>
		
		<dc:creator><![CDATA[ایران متلب]]></dc:creator>
		<pubDate>Sun, 06 Sep 2026 17:46:06 +0000</pubDate>
				<category><![CDATA[آموزش]]></category>
		<guid isPermaLink="false">https://matlab1.ir/?p=14849</guid>

					<description><![CDATA[<p>گاهی می‌خواهیم چند خط از کد MATLAB موقتاً اجرا نشوند، اما نمی‌خواهیم آن‌ها را حذف کنیم. برای غیرفعال کردن چند خط به‌صورت یکجا می‌توانید از Block Comment استفاده کنید: %{ a = [&#8230;]</p>
<p>نوشته <a href="https://matlab1.ir/%da%86%da%af%d9%88%d9%86%d9%87-%da%86%d9%86%d8%af-%d8%ae%d8%b7-%da%a9%d8%af-matlab-%d8%b1%d8%a7-%d8%a8%d8%af%d9%88%d9%86-%d8%ad%d8%b0%d9%81-%da%a9%d8%b1%d8%af%d9%86-%d9%85%d9%88%d9%82%d8%aa%d8%a7/">چگونه چند خط کد MATLAB را بدون حذف کردن موقتاً غیرفعال کنیم؟</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></description>
										<content:encoded><![CDATA[<p>گاهی می‌خواهیم چند خط از کد MATLAB موقتاً اجرا نشوند، اما نمی‌خواهیم آن‌ها را حذف کنیم.</p>
<p>برای غیرفعال کردن چند خط به‌صورت یکجا می‌توانید از <strong>Block Comment</strong> استفاده کنید:</p>
<pre><code class="language-matlab">%{
a = 10;
b = 20;
c = a + b;
disp(c)
%}
</code></pre>
<p>تمام کدهایی که بین <code>%{</code> و <code>%}</code> قرار بگیرند، توسط MATLAB نادیده گرفته می‌شوند و اجرا نخواهند شد.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h3>برای یک خط چه کنیم؟</h3>
<p>برای غیرفعال کردن فقط یک خط، کافی است ابتدای آن علامت <code>%</code> قرار دهید:</p>
<pre><code class="language-matlab">% x = rand(1000);
</code></pre>
<h3></h3>
<h3>یک روش سریع‌تر در Editor</h3>
<p>اگر چند خط را در MATLAB Editor انتخاب کنید، می‌توانید با گزینه <strong>Comment</strong> همه آن‌ها را یکجا Comment کنید.</p>
<p>میانبر رایج آن نیز:</p>
<pre><code class="language-text">Ctrl + R
</code></pre>
<p>و برای خارج کردن خطوط از حالت Comment:</p>
<pre><code class="language-text">Ctrl + T
</code></pre>
<h3></h3>
<h3>Block Comment چه زمانی مفید است؟</h3>
<p>مثلاً هنگام تست برنامه می‌خواهید یک قسمت را موقتاً کنار بگذارید:</p>
<pre><code class="language-matlab">load data.mat

%{
data = filter(b,a,data);
data = normalize(data);
%}

plot(data)
</code></pre>
<p>در این حالت دو خط میانی اجرا نمی‌شوند، اما همچنان داخل فایل باقی می‌مانند.</p>
<p>بنابراین اگر می‌خواهید بخشی از برنامه MATLAB را موقتاً غیرفعال کنید، بدون اینکه آن را حذف کنید، استفاده از <code>%{</code> و <code>%}</code> روش ساده و تمیزی است.</p>
<p>نوشته <a href="https://matlab1.ir/%da%86%da%af%d9%88%d9%86%d9%87-%da%86%d9%86%d8%af-%d8%ae%d8%b7-%da%a9%d8%af-matlab-%d8%b1%d8%a7-%d8%a8%d8%af%d9%88%d9%86-%d8%ad%d8%b0%d9%81-%da%a9%d8%b1%d8%af%d9%86-%d9%85%d9%88%d9%82%d8%aa%d8%a7/">چگونه چند خط کد MATLAB را بدون حذف کردن موقتاً غیرفعال کنیم؟</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://matlab1.ir/%da%86%da%af%d9%88%d9%86%d9%87-%da%86%d9%86%d8%af-%d8%ae%d8%b7-%da%a9%d8%af-matlab-%d8%b1%d8%a7-%d8%a8%d8%af%d9%88%d9%86-%d8%ad%d8%b0%d9%81-%da%a9%d8%b1%d8%af%d9%86-%d9%85%d9%88%d9%82%d8%aa%d8%a7/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>چگونه یک قسمت از کد MATLAB را بدون اجرای کل برنامه اجرا کنیم؟</title>
		<link>https://matlab1.ir/%da%86%da%af%d9%88%d9%86%d9%87-%db%8c%da%a9-%d9%82%d8%b3%d9%85%d8%aa-%d8%a7%d8%b2-%da%a9%d8%af-matlab-%d8%b1%d8%a7-%d8%a8%d8%af%d9%88%d9%86-%d8%a7%d8%ac%d8%b1%d8%a7%db%8c-%da%a9%d9%84-%d8%a8%d8%b1/</link>
					<comments>https://matlab1.ir/%da%86%da%af%d9%88%d9%86%d9%87-%db%8c%da%a9-%d9%82%d8%b3%d9%85%d8%aa-%d8%a7%d8%b2-%da%a9%d8%af-matlab-%d8%b1%d8%a7-%d8%a8%d8%af%d9%88%d9%86-%d8%a7%d8%ac%d8%b1%d8%a7%db%8c-%da%a9%d9%84-%d8%a8%d8%b1/#respond</comments>
		
		<dc:creator><![CDATA[ایران متلب]]></dc:creator>
		<pubDate>Thu, 03 Sep 2026 17:42:40 +0000</pubDate>
				<category><![CDATA[آموزش]]></category>
		<guid isPermaLink="false">https://matlab1.ir/?p=14847</guid>

					<description><![CDATA[<p>اگر برنامه MATLAB شما طولانی است، لازم نیست برای تست یک بخش کوچک، هر بار کل فایل را از ابتدا اجرا کنید. در MATLAB می‌توانید کد را به چند Section تقسیم کنید. [&#8230;]</p>
<p>نوشته <a href="https://matlab1.ir/%da%86%da%af%d9%88%d9%86%d9%87-%db%8c%da%a9-%d9%82%d8%b3%d9%85%d8%aa-%d8%a7%d8%b2-%da%a9%d8%af-matlab-%d8%b1%d8%a7-%d8%a8%d8%af%d9%88%d9%86-%d8%a7%d8%ac%d8%b1%d8%a7%db%8c-%da%a9%d9%84-%d8%a8%d8%b1/">چگونه یک قسمت از کد MATLAB را بدون اجرای کل برنامه اجرا کنیم؟</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></description>
										<content:encoded><![CDATA[<p>اگر برنامه MATLAB شما طولانی است، لازم نیست برای تست یک بخش کوچک، هر بار کل فایل را از ابتدا اجرا کنید.</p>
<p>در MATLAB می‌توانید کد را به چند <strong>Section</strong> تقسیم کنید. برای ساختن یک Section کافی است در ابتدای آن از دو علامت درصد استفاده کنید:</p>
<pre><code class="language-matlab">%% Load Data
A = rand(100);

%% Process Data
B = A.^2;

%% Plot Results
plot(B(:,1))
</code></pre>
<p>هر قسمت که با <code>%%</code> شروع می‌شود یک Section جداگانه محسوب می‌شود.</p>
<h3>اجرای فقط یک Section</h3>
<p>نشانگر موس را داخل Section موردنظر قرار دهید و از گزینه <strong>Run Section</strong> استفاده کنید.</p>
<p>همچنین در بسیاری از نسخه‌های MATLAB می‌توانید از میانبر زیر استفاده کنید:</p>
<pre><code class="language-text">Ctrl + Enter
</code></pre>
<p>در این حالت فقط همان Section اجرا می‌شود و قسمت‌های دیگر برنامه اجرا نخواهند شد.</p>
<h3>چرا Sectionها کاربردی هستند؟</h3>
<p>فرض کنید ابتدای برنامه یک فایل بزرگ را بارگذاری می‌کنید:</p>
<pre><code class="language-matlab">%% Load Data
load bigData.mat
</code></pre>
<p>و در بخش بعدی روی داده‌ها محاسبه انجام می‌دهید:</p>
<pre><code class="language-matlab">%% Analysis
result = mean(data);
</code></pre>
<p>اگر فقط بخواهید بخش تحلیل را تغییر دهید، لازم نیست هر بار فایل بزرگ دوباره Load شود. کافی است Section دوم را اجرا کنید.</p>
<h3>نکته</h3>
<p>Sectionها علاوه بر اجرای جداگانه کد، باعث مرتب‌تر شدن Scriptهای طولانی نیز می‌شوند.</p>
<p>پس اگر برنامه MATLAB شما چند مرحله دارد، آن را با <code>%%</code> به بخش‌های کوچک‌تر تقسیم کنید تا بتوانید هر قسمت را جداگانه اجرا و تست کنید.</p>
<p>نوشته <a href="https://matlab1.ir/%da%86%da%af%d9%88%d9%86%d9%87-%db%8c%da%a9-%d9%82%d8%b3%d9%85%d8%aa-%d8%a7%d8%b2-%da%a9%d8%af-matlab-%d8%b1%d8%a7-%d8%a8%d8%af%d9%88%d9%86-%d8%a7%d8%ac%d8%b1%d8%a7%db%8c-%da%a9%d9%84-%d8%a8%d8%b1/">چگونه یک قسمت از کد MATLAB را بدون اجرای کل برنامه اجرا کنیم؟</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://matlab1.ir/%da%86%da%af%d9%88%d9%86%d9%87-%db%8c%da%a9-%d9%82%d8%b3%d9%85%d8%aa-%d8%a7%d8%b2-%da%a9%d8%af-matlab-%d8%b1%d8%a7-%d8%a8%d8%af%d9%88%d9%86-%d8%a7%d8%ac%d8%b1%d8%a7%db%8c-%da%a9%d9%84-%d8%a8%d8%b1/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>چرا اعداد تصادفی MATLAB هر بار تغییر می‌کنند و چگونه ثابتشان کنیم؟</title>
		<link>https://matlab1.ir/%da%86%d8%b1%d8%a7-%d8%a7%d8%b9%d8%af%d8%a7%d8%af-%d8%aa%d8%b5%d8%a7%d8%af%d9%81%db%8c-matlab-%d9%87%d8%b1-%d8%a8%d8%a7%d8%b1-%d8%aa%d8%ba%db%8c%db%8c%d8%b1-%d9%85%db%8c%da%a9%d9%86%d9%86/</link>
					<comments>https://matlab1.ir/%da%86%d8%b1%d8%a7-%d8%a7%d8%b9%d8%af%d8%a7%d8%af-%d8%aa%d8%b5%d8%a7%d8%af%d9%81%db%8c-matlab-%d9%87%d8%b1-%d8%a8%d8%a7%d8%b1-%d8%aa%d8%ba%db%8c%db%8c%d8%b1-%d9%85%db%8c%da%a9%d9%86%d9%86/#respond</comments>
		
		<dc:creator><![CDATA[ایران متلب]]></dc:creator>
		<pubDate>Tue, 01 Sep 2026 17:41:06 +0000</pubDate>
				<category><![CDATA[آموزش]]></category>
		<guid isPermaLink="false">https://matlab1.ir/?p=14845</guid>

					<description><![CDATA[<p>اگر از توابعی مثل rand یا randn در MATLAB استفاده کنید، معمولاً با هر بار اجرای برنامه اعداد متفاوتی تولید می‌شوند. مثلاً: rand(1,5) اگر این دستور را چند بار اجرا کنید، هر [&#8230;]</p>
<p>نوشته <a href="https://matlab1.ir/%da%86%d8%b1%d8%a7-%d8%a7%d8%b9%d8%af%d8%a7%d8%af-%d8%aa%d8%b5%d8%a7%d8%af%d9%81%db%8c-matlab-%d9%87%d8%b1-%d8%a8%d8%a7%d8%b1-%d8%aa%d8%ba%db%8c%db%8c%d8%b1-%d9%85%db%8c%da%a9%d9%86%d9%86/">چرا اعداد تصادفی MATLAB هر بار تغییر می‌کنند و چگونه ثابتشان کنیم؟</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></description>
										<content:encoded><![CDATA[<p>اگر از توابعی مثل <code>rand</code> یا <code>randn</code> در MATLAB استفاده کنید، معمولاً با هر بار اجرای برنامه اعداد متفاوتی تولید می‌شوند.</p>
<p>مثلاً:</p>
<pre><code class="language-matlab">rand(1,5)
</code></pre>
<p>اگر این دستور را چند بار اجرا کنید، هر بار خروجی جدیدی خواهید دید.</p>
<p>این رفتار طبیعی است، چون MATLAB برای تولید اعداد شبه‌تصادفی از یک وضعیت داخلی یا <strong>Random Number Generator State</strong> استفاده می‌کند که در طول کار تغییر می‌کند.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h3>چگونه اعداد تصادفی را ثابت کنیم؟</h3>
<p>اگر می‌خواهید هر بار اجرای برنامه دقیقاً همان اعداد تولید شوند، قبل از تولید اعداد تصادفی از دستور <code>rng</code> استفاده کنید:</p>
<pre><code class="language-matlab">rng(1)

x = rand(1,5)
</code></pre>
<p>حالا اگر برنامه را دوباره اجرا کنید، همان مقادیر قبلی تولید می‌شوند.</p>
<p>عدد داخل <code>rng</code> را Seed می‌نامند. مثلاً:</p>
<pre><code class="language-matlab">rng(10)
</code></pre>
<p>یک دنباله مشخص تولید می‌کند و:</p>
<pre><code class="language-matlab">rng(100)
</code></pre>
<p>دنباله دیگری می‌سازد.</p>
<p>اما تا زمانی که Seed ثابت باشد، خروجی نیز قابل تکرار خواهد بود.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h3>چه زمانی این کار مفید است؟</h3>
<p>ثابت کردن اعداد تصادفی زمانی بسیار مفید است که بخواهید:</p>
<ul>
<li>یک الگوریتم را چند بار با شرایط کاملاً یکسان آزمایش کنید.</li>
<li>نتایج یک مقاله یا پروژه قابل تکرار باشند.</li>
<li>دو روش مختلف را روی داده‌های تصادفی یکسان مقایسه کنید.</li>
<li>هنگام Debug کردن برنامه، ورودی تصادفی هر بار تغییر نکند.</li>
</ul>
<p>مثلاً:</p>
<pre><code class="language-matlab">rng(5)

A = rand(3,3);
</code></pre>
<p>هر بار که این کد را از ابتدا اجرا کنید، ماتریس <code>A</code> یکسان خواهد بود.</p>
<p>&nbsp;</p>
<h3>بازگشت به حالت تصادفی معمول</h3>
<p>اگر بخواهید MATLAB دوباره بر اساس زمان فعلی Seed متفاوتی انتخاب کند، می‌توانید بنویسید:</p>
<pre><code class="language-matlab">rng('shuffle')
</code></pre>
<p>در این حالت معمولاً با هر اجرای برنامه دنباله متفاوتی از اعداد تصادفی تولید می‌شود.</p>
<p>پس اگر هنگام تست یا مقایسه الگوریتم‌ها به نتایج قابل تکرار نیاز دارید، کافی است در ابتدای برنامه یک Seed مشخص تعیین کنید:</p>
<pre><code class="language-matlab">rng(1)
</code></pre>
<p>نوشته <a href="https://matlab1.ir/%da%86%d8%b1%d8%a7-%d8%a7%d8%b9%d8%af%d8%a7%d8%af-%d8%aa%d8%b5%d8%a7%d8%af%d9%81%db%8c-matlab-%d9%87%d8%b1-%d8%a8%d8%a7%d8%b1-%d8%aa%d8%ba%db%8c%db%8c%d8%b1-%d9%85%db%8c%da%a9%d9%86%d9%86/">چرا اعداد تصادفی MATLAB هر بار تغییر می‌کنند و چگونه ثابتشان کنیم؟</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://matlab1.ir/%da%86%d8%b1%d8%a7-%d8%a7%d8%b9%d8%af%d8%a7%d8%af-%d8%aa%d8%b5%d8%a7%d8%af%d9%81%db%8c-matlab-%d9%87%d8%b1-%d8%a8%d8%a7%d8%b1-%d8%aa%d8%ba%db%8c%db%8c%d8%b1-%d9%85%db%8c%da%a9%d9%86%d9%86/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>چگونه بفهمیم یک دستور MATLAB متعلق به کدام Toolbox است؟</title>
		<link>https://matlab1.ir/%da%86%da%af%d9%88%d9%86%d9%87-%d8%a8%d9%81%d9%87%d9%85%db%8c%d9%85-%db%8c%da%a9-%d8%af%d8%b3%d8%aa%d9%88%d8%b1-matlab-%d9%85%d8%aa%d8%b9%d9%84%d9%82-%d8%a8%d9%87-%da%a9%d8%af%d8%a7%d9%85-toolbox/</link>
					<comments>https://matlab1.ir/%da%86%da%af%d9%88%d9%86%d9%87-%d8%a8%d9%81%d9%87%d9%85%db%8c%d9%85-%db%8c%da%a9-%d8%af%d8%b3%d8%aa%d9%88%d8%b1-matlab-%d9%85%d8%aa%d8%b9%d9%84%d9%82-%d8%a8%d9%87-%da%a9%d8%af%d8%a7%d9%85-toolbox/#respond</comments>
		
		<dc:creator><![CDATA[ایران متلب]]></dc:creator>
		<pubDate>Sun, 30 Aug 2026 17:38:15 +0000</pubDate>
				<category><![CDATA[آموزش]]></category>
		<guid isPermaLink="false">https://matlab1.ir/?p=14843</guid>

					<description><![CDATA[<p>گاهی یک تابع MATLAB را در یک کد می‌بینیم، اما نمی‌دانیم این تابع جزو خود MATLAB است یا به یک Toolbox خاص تعلق دارد. یک روش سریع استفاده از دستور which است. [&#8230;]</p>
<p>نوشته <a href="https://matlab1.ir/%da%86%da%af%d9%88%d9%86%d9%87-%d8%a8%d9%81%d9%87%d9%85%db%8c%d9%85-%db%8c%da%a9-%d8%af%d8%b3%d8%aa%d9%88%d8%b1-matlab-%d9%85%d8%aa%d8%b9%d9%84%d9%82-%d8%a8%d9%87-%da%a9%d8%af%d8%a7%d9%85-toolbox/">چگونه بفهمیم یک دستور MATLAB متعلق به کدام Toolbox است؟</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></description>
										<content:encoded><![CDATA[<p>گاهی یک تابع MATLAB را در یک کد می‌بینیم، اما نمی‌دانیم این تابع جزو خود MATLAB است یا به یک Toolbox خاص تعلق دارد.</p>
<p>یک روش سریع استفاده از دستور <code>which</code> است.</p>
<p>مثلاً برای تابع <code>fft</code> بنویسید:</p>
<pre><code class="language-matlab">which fft
</code></pre>
<p>MATLAB مسیر فایلی را که این تابع از آن اجرا می‌شود نمایش می‌دهد. از روی این مسیر معمولاً می‌توان متوجه شد تابع مربوط به کدام بخش یا Toolbox است. دستور <code>which</code> در واقع محل تابع یا فایل را در MATLAB Path پیدا می‌کند.</p>
<p>برای مثال اگر بخواهید تمام نسخه‌های موجود از یک تابع را ببینید، از <code>-all</code> استفاده کنید:</p>
<pre><code class="language-matlab">which fft -all
</code></pre>
<p>این حالت زمانی مفید است که چند تابع با نام یکسان روی سیستم وجود داشته باشد.</p>
<h3>روش دقیق‌تر برای پیدا کردن Toolbox</h3>
<p>اگر می‌خواهید بدانید یک تابع یا فایل MATLAB به چه محصولات و Toolboxهایی وابسته است، می‌توانید از دستور زیر استفاده کنید:</p>
<pre><code class="language-matlab">[fList,pList] = matlab.codetools.requiredFilesAndProducts('edge.m');
</code></pre>
<p>سپس نام محصولات موردنیاز را نمایش دهید:</p>
<pre><code class="language-matlab">{pList.Name}'
</code></pre>
<p>برای مثال، تابع <code>edge</code> می‌تواند خروجی‌ای شامل موارد زیر داشته باشد:</p>
<pre><code class="language-text">MATLAB
Image Processing Toolbox
</code></pre>
<p>تابع <code>matlab.codetools.requiredFilesAndProducts</code> دقیقاً برای شناسایی فایل‌ها و محصولات MathWorks موردنیاز یک برنامه طراحی شده است.</p>
<h3>نکته</h3>
<p>برای یک بررسی سریع معمولاً همین دستور کافی است:</p>
<pre><code class="language-matlab">which functionName -all
</code></pre>
<p>اما اگر قصد دارید بفهمید <strong>یک برنامه کامل MATLAB به چه Toolboxهایی نیاز دارد</strong>، <code>requiredFilesAndProducts</code> انتخاب مناسب‌تری است.</p>
<p>نوشته <a href="https://matlab1.ir/%da%86%da%af%d9%88%d9%86%d9%87-%d8%a8%d9%81%d9%87%d9%85%db%8c%d9%85-%db%8c%da%a9-%d8%af%d8%b3%d8%aa%d9%88%d8%b1-matlab-%d9%85%d8%aa%d8%b9%d9%84%d9%82-%d8%a8%d9%87-%da%a9%d8%af%d8%a7%d9%85-toolbox/">چگونه بفهمیم یک دستور MATLAB متعلق به کدام Toolbox است؟</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://matlab1.ir/%da%86%da%af%d9%88%d9%86%d9%87-%d8%a8%d9%81%d9%87%d9%85%db%8c%d9%85-%db%8c%da%a9-%d8%af%d8%b3%d8%aa%d9%88%d8%b1-matlab-%d9%85%d8%aa%d8%b9%d9%84%d9%82-%d8%a8%d9%87-%da%a9%d8%af%d8%a7%d9%85-toolbox/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>چگونه MATLAB بعد از پایان محاسبات به ما خبر بدهد؟</title>
		<link>https://matlab1.ir/%da%86%da%af%d9%88%d9%86%d9%87-matlab-%d8%a8%d8%b9%d8%af-%d8%a7%d8%b2-%d9%be%d8%a7%db%8c%d8%a7%d9%86-%d9%85%d8%ad%d8%a7%d8%b3%d8%a8%d8%a7%d8%aa-%d8%a8%d9%87-%d9%85%d8%a7-%d8%ae%d8%a8%d8%b1-%d8%a8/</link>
					<comments>https://matlab1.ir/%da%86%da%af%d9%88%d9%86%d9%87-matlab-%d8%a8%d8%b9%d8%af-%d8%a7%d8%b2-%d9%be%d8%a7%db%8c%d8%a7%d9%86-%d9%85%d8%ad%d8%a7%d8%b3%d8%a8%d8%a7%d8%aa-%d8%a8%d9%87-%d9%85%d8%a7-%d8%ae%d8%a8%d8%b1-%d8%a8/#respond</comments>
		
		<dc:creator><![CDATA[ایران متلب]]></dc:creator>
		<pubDate>Fri, 28 Aug 2026 17:35:22 +0000</pubDate>
				<category><![CDATA[آموزش]]></category>
		<guid isPermaLink="false">https://matlab1.ir/?p=14841</guid>

					<description><![CDATA[<p>گاهی اجرای یک برنامه یا شبیه‌سازی در MATLAB چند دقیقه یا حتی چند ساعت طول می‌کشد. در این شرایط لازم نیست دائم صفحه را بررسی کنید؛ می‌توانید کاری کنید که MATLAB بعد [&#8230;]</p>
<p>نوشته <a href="https://matlab1.ir/%da%86%da%af%d9%88%d9%86%d9%87-matlab-%d8%a8%d8%b9%d8%af-%d8%a7%d8%b2-%d9%be%d8%a7%db%8c%d8%a7%d9%86-%d9%85%d8%ad%d8%a7%d8%b3%d8%a8%d8%a7%d8%aa-%d8%a8%d9%87-%d9%85%d8%a7-%d8%ae%d8%a8%d8%b1-%d8%a8/">چگونه MATLAB بعد از پایان محاسبات به ما خبر بدهد؟</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></description>
										<content:encoded><![CDATA[<p>گاهی اجرای یک برنامه یا شبیه‌سازی در MATLAB چند دقیقه یا حتی چند ساعت طول می‌کشد. در این شرایط لازم نیست دائم صفحه را بررسی کنید؛ می‌توانید کاری کنید که MATLAB بعد از پایان محاسبات با یک صدا به شما خبر بدهد.</p>
<p>ساده‌ترین روش استفاده از دستور <code>beep</code> است:</p>
<pre><code class="language-matlab">beep
</code></pre>
<p>مثلاً اگر یک محاسبه طولانی دارید:</p>
<pre><code class="language-matlab">% محاسبات طولانی
pause(10)

beep
</code></pre>
<p>بعد از پایان اجرای کد، MATLAB یک صدای کوتاه پخش می‌کند.</p>
<p>می‌توانید در کنار آن یک پیام هم نمایش دهید:</p>
<pre><code class="language-matlab">% محاسبات طولانی

disp('محاسبات تمام شد!')
beep
</code></pre>
<p>این روش برای اجرای شبیه‌سازی‌ها، آموزش شبکه‌های عصبی، پردازش داده‌های حجیم یا هر برنامه‌ای که زمان زیادی نیاز دارد بسیار کاربردی است.</p>
<h3>اگر صدای MATLAB غیرفعال باشد</h3>
<p>می‌توانید وضعیت صدای هشدار را با دستور زیر بررسی کنید:</p>
<pre><code class="language-matlab">beep
</code></pre>
<p>و در صورت نیاز آن را فعال کنید:</p>
<pre><code class="language-matlab">beep on
</code></pre>
<p>برای غیرفعال کردن صدای هشدار نیز می‌توانید بنویسید:</p>
<pre><code class="language-matlab">beep off
</code></pre>
<h3>نکته</h3>
<p>بهتر است دستور <code>beep</code> را در آخر برنامه قرار دهید:</p>
<pre><code class="language-matlab">result = myLongCalculation();

beep
disp('Done!')
</code></pre>
<p>به این ترتیب، هر زمان MATLAB کار خود را تمام کرد، بدون اینکه مرتب صفحه را بررسی کنید متوجه خواهید شد.</p>
<p>نوشته <a href="https://matlab1.ir/%da%86%da%af%d9%88%d9%86%d9%87-matlab-%d8%a8%d8%b9%d8%af-%d8%a7%d8%b2-%d9%be%d8%a7%db%8c%d8%a7%d9%86-%d9%85%d8%ad%d8%a7%d8%b3%d8%a8%d8%a7%d8%aa-%d8%a8%d9%87-%d9%85%d8%a7-%d8%ae%d8%a8%d8%b1-%d8%a8/">چگونه MATLAB بعد از پایان محاسبات به ما خبر بدهد؟</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://matlab1.ir/%da%86%da%af%d9%88%d9%86%d9%87-matlab-%d8%a8%d8%b9%d8%af-%d8%a7%d8%b2-%d9%be%d8%a7%db%8c%d8%a7%d9%86-%d9%85%d8%ad%d8%a7%d8%b3%d8%a8%d8%a7%d8%aa-%d8%a8%d9%87-%d9%85%d8%a7-%d8%ae%d8%a8%d8%b1-%d8%a8/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>چگونه خروجی Command Window متلب را داخل یک فایل ذخیره کنیم؟</title>
		<link>https://matlab1.ir/%da%86%da%af%d9%88%d9%86%d9%87-%d8%ae%d8%b1%d9%88%d8%ac%db%8c-command-window-%d9%85%d8%aa%d9%84%d8%a8-%d8%b1%d8%a7-%d8%af%d8%a7%d8%ae%d9%84-%db%8c%da%a9-%d9%81%d8%a7%db%8c%d9%84-%d8%b0%d8%ae%db%8c/</link>
					<comments>https://matlab1.ir/%da%86%da%af%d9%88%d9%86%d9%87-%d8%ae%d8%b1%d9%88%d8%ac%db%8c-command-window-%d9%85%d8%aa%d9%84%d8%a8-%d8%b1%d8%a7-%d8%af%d8%a7%d8%ae%d9%84-%db%8c%da%a9-%d9%81%d8%a7%db%8c%d9%84-%d8%b0%d8%ae%db%8c/#respond</comments>
		
		<dc:creator><![CDATA[ایران متلب]]></dc:creator>
		<pubDate>Wed, 26 Aug 2026 17:33:48 +0000</pubDate>
				<category><![CDATA[آموزش]]></category>
		<guid isPermaLink="false">https://matlab1.ir/?p=14839</guid>

					<description><![CDATA[<p>گاهی لازم است تمام دستورهایی که در Command Window متلب اجرا می‌کنیم، همراه با خروجی آن‌ها داخل یک فایل ذخیره شوند؛ مثلاً برای تهیه گزارش، بررسی خطاها یا نگه داشتن نتایج یک [&#8230;]</p>
<p>نوشته <a href="https://matlab1.ir/%da%86%da%af%d9%88%d9%86%d9%87-%d8%ae%d8%b1%d9%88%d8%ac%db%8c-command-window-%d9%85%d8%aa%d9%84%d8%a8-%d8%b1%d8%a7-%d8%af%d8%a7%d8%ae%d9%84-%db%8c%da%a9-%d9%81%d8%a7%db%8c%d9%84-%d8%b0%d8%ae%db%8c/">چگونه خروجی Command Window متلب را داخل یک فایل ذخیره کنیم؟</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></description>
										<content:encoded><![CDATA[<p>گاهی لازم است تمام دستورهایی که در Command Window متلب اجرا می‌کنیم، همراه با خروجی آن‌ها داخل یک فایل ذخیره شوند؛ مثلاً برای تهیه گزارش، بررسی خطاها یا نگه داشتن نتایج یک محاسبه طولانی.</p>
<p>برای این کار می‌توانید از دستور <code>diary</code> استفاده کنید.</p>
<p>ابتدا بنویسید:</p>
<pre><code class="language-matlab">diary matlab_output.txt
</code></pre>
<p>از این لحظه به بعد، دستورات و خروجی‌هایی که در Command Window نمایش داده می‌شوند داخل فایل <code>matlab_output.txt</code> ذخیره خواهند شد.</p>
<p>مثلاً:</p>
<pre><code class="language-matlab">a = 10;
b = 20;
a + b
</code></pre>
<p>خروجی نمایش‌داده‌شده نیز در فایل ثبت می‌شود.</p>
<p>برای پایان ذخیره‌سازی کافی است بنویسید:</p>
<pre><code class="language-matlab">diary off
</code></pre>
<p>اگر دوباره بخواهید ثبت خروجی را فعال کنید:</p>
<pre><code class="language-matlab">diary on
</code></pre>
<h3>فایل کجا ذخیره می‌شود؟</h3>
<p>اگر فقط نام فایل را وارد کنید، MATLAB آن را در <strong>Current Folder</strong> ذخیره می‌کند.</p>
<p>همچنین می‌توانید مسیر کامل فایل را مشخص کنید:</p>
<pre><code class="language-matlab">diary('C:\Results\matlab_output.txt')
</code></pre>
<h3>نکته</h3>
<p>دستور <code>diary</code> برای ذخیره متن‌های نمایش‌داده‌شده در Command Window مناسب است، اما برای ذخیره خود متغیرها باید از دستورهایی مانند <code>save</code> استفاده کنید.</p>
<p>پس اگر می‌خواهید یک نسخه متنی از فعالیت‌ها و خروجی‌های Command Window داشته باشید، <code>diary</code> یکی از ساده‌ترین روش‌ها در MATLAB است.</p>
<p>نوشته <a href="https://matlab1.ir/%da%86%da%af%d9%88%d9%86%d9%87-%d8%ae%d8%b1%d9%88%d8%ac%db%8c-command-window-%d9%85%d8%aa%d9%84%d8%a8-%d8%b1%d8%a7-%d8%af%d8%a7%d8%ae%d9%84-%db%8c%da%a9-%d9%81%d8%a7%db%8c%d9%84-%d8%b0%d8%ae%db%8c/">چگونه خروجی Command Window متلب را داخل یک فایل ذخیره کنیم؟</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://matlab1.ir/%da%86%da%af%d9%88%d9%86%d9%87-%d8%ae%d8%b1%d9%88%d8%ac%db%8c-command-window-%d9%85%d8%aa%d9%84%d8%a8-%d8%b1%d8%a7-%d8%af%d8%a7%d8%ae%d9%84-%db%8c%da%a9-%d9%81%d8%a7%db%8c%d9%84-%d8%b0%d8%ae%db%8c/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>کدام متغیر MATLAB حافظه شما را پر کرده است؟</title>
		<link>https://matlab1.ir/%da%a9%d8%af%d8%a7%d9%85-%d9%85%d8%aa%d8%ba%db%8c%d8%b1-matlab-%d8%ad%d8%a7%d9%81%d8%b8%d9%87-%d8%b4%d9%85%d8%a7-%d8%b1%d8%a7-%d9%be%d8%b1-%da%a9%d8%b1%d8%af%d9%87-%d8%a7%d8%b3%d8%aa%d8%9f/</link>
					<comments>https://matlab1.ir/%da%a9%d8%af%d8%a7%d9%85-%d9%85%d8%aa%d8%ba%db%8c%d8%b1-matlab-%d8%ad%d8%a7%d9%81%d8%b8%d9%87-%d8%b4%d9%85%d8%a7-%d8%b1%d8%a7-%d9%be%d8%b1-%da%a9%d8%b1%d8%af%d9%87-%d8%a7%d8%b3%d8%aa%d8%9f/#respond</comments>
		
		<dc:creator><![CDATA[ایران متلب]]></dc:creator>
		<pubDate>Mon, 24 Aug 2026 17:29:49 +0000</pubDate>
				<category><![CDATA[آموزش]]></category>
		<guid isPermaLink="false">https://matlab1.ir/?p=14835</guid>

					<description><![CDATA[<p>یکی از مشکلات شایع در برنامه های متلب سنگین خطای حافظه می باشد. چگونه بفهمیم کدام متغیر در MATLAB بیشترین حافظه RAM را مصرف می‌کند؟ whos &#160; گاهی هنگام کار با MATLAB [&#8230;]</p>
<p>نوشته <a href="https://matlab1.ir/%da%a9%d8%af%d8%a7%d9%85-%d9%85%d8%aa%d8%ba%db%8c%d8%b1-matlab-%d8%ad%d8%a7%d9%81%d8%b8%d9%87-%d8%b4%d9%85%d8%a7-%d8%b1%d8%a7-%d9%be%d8%b1-%da%a9%d8%b1%d8%af%d9%87-%d8%a7%d8%b3%d8%aa%d8%9f/">کدام متغیر MATLAB حافظه شما را پر کرده است؟</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></description>
										<content:encoded><![CDATA[<p>یکی از مشکلات شایع در برنامه های متلب سنگین خطای حافظه می باشد.</p>
<p>چگونه بفهمیم کدام متغیر در MATLAB بیشترین حافظه RAM را مصرف می‌کند؟</p>
<p>whos</p>
<p>&nbsp;</p>
<p>گاهی هنگام کار با MATLAB ناگهان با کند شدن سیستم یا پر شدن حافظه RAM مواجه می‌شویم. در چنین شرایطی یکی از اولین کارهایی که می‌توان انجام داد، بررسی حجم متغیرهای موجود در Workspace است.</p>
<p>برای این کار کافی است دستور زیر را در Command Window وارد کنید:</p>
<pre><code class="language-matlab">whos</code></pre>
<p>دستور <code>whos</code> اطلاعاتی مانند نام متغیر، ابعاد، نوع داده و میزان حافظه اشغال‌شده توسط هر متغیر را نمایش می‌دهد.</p>
<p>برای مثال ممکن است خروجی مشابه زیر ببینید:</p>
<pre><code class="language-text">  Name          Size                 Bytes  Class

  A          1000x1000             8000000  double
  B           100x100                80000  double
  image      4000x6000x3          72000000  uint8</code></pre>
<p>ستون مهم برای ما <strong>Bytes</strong> است. هرچه مقدار این ستون بیشتر باشد، آن متغیر فضای بیشتری از حافظه RAM را اشغال کرده است.</p>
<p>در مثال بالا، متغیر <code>image</code> بیشترین حافظه را مصرف می‌کند.</p>
<p>اگر دیگر به یک متغیر بزرگ نیاز ندارید، می‌توانید آن را با دستور زیر از حافظه حذف کنید:</p>
<pre><code class="language-matlab">clear image</code></pre>
<p>همچنین برای مشاهده اطلاعات یک متغیر خاص می‌توانید بنویسید:</p>
<pre><code class="language-matlab">whos image</code></pre>
<h3>نکته</h3>
<p>اگر با ماتریس‌های بزرگ، تصاویر با رزولوشن بالا یا داده‌های حجیم کار می‌کنید، استفاده از <code>whos</code> یکی از سریع‌ترین روش‌ها برای پیدا کردن متغیرهایی است که حافظه زیادی مصرف می‌کنند.</p>
<p>پس هر وقت احساس کردید MATLAB بیش از حد RAM مصرف می‌کند، قبل از هر کار دیگری یک بار این دستور ساده را امتحان کنید:</p>
<pre><code class="language-matlab">whos</code></pre>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>نوشته <a href="https://matlab1.ir/%da%a9%d8%af%d8%a7%d9%85-%d9%85%d8%aa%d8%ba%db%8c%d8%b1-matlab-%d8%ad%d8%a7%d9%81%d8%b8%d9%87-%d8%b4%d9%85%d8%a7-%d8%b1%d8%a7-%d9%be%d8%b1-%da%a9%d8%b1%d8%af%d9%87-%d8%a7%d8%b3%d8%aa%d8%9f/">کدام متغیر MATLAB حافظه شما را پر کرده است؟</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://matlab1.ir/%da%a9%d8%af%d8%a7%d9%85-%d9%85%d8%aa%d8%ba%db%8c%d8%b1-matlab-%d8%ad%d8%a7%d9%81%d8%b8%d9%87-%d8%b4%d9%85%d8%a7-%d8%b1%d8%a7-%d9%be%d8%b1-%da%a9%d8%b1%d8%af%d9%87-%d8%a7%d8%b3%d8%aa%d8%9f/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>آموزش Simulink Copilot؛ طراحی و توسعه هوشمند مدل‌های سیمولینک</title>
		<link>https://matlab1.ir/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-simulink-copilot%d8%9b-%d8%b7%d8%b1%d8%a7%d8%ad%db%8c-%d9%88-%d8%aa%d9%88%d8%b3%d8%b9%d9%87-%d9%87%d9%88%d8%b4%d9%85%d9%86%d8%af-%d9%85%d8%af%d9%84%d9%87%d8%a7/</link>
					<comments>https://matlab1.ir/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-simulink-copilot%d8%9b-%d8%b7%d8%b1%d8%a7%d8%ad%db%8c-%d9%88-%d8%aa%d9%88%d8%b3%d8%b9%d9%87-%d9%87%d9%88%d8%b4%d9%85%d9%86%d8%af-%d9%85%d8%af%d9%84%d9%87%d8%a7/#respond</comments>
		
		<dc:creator><![CDATA[ایران متلب]]></dc:creator>
		<pubDate>Sun, 23 Aug 2026 17:13:32 +0000</pubDate>
				<category><![CDATA[آموزش]]></category>
		<category><![CDATA[هوش مصنوعی]]></category>
		<guid isPermaLink="false">https://matlab1.ir/?p=14832</guid>

					<description><![CDATA[<p>در این دوره با Simulink Copilot آشنا می‌شوید و یاد می‌گیرید چگونه از قابلیت‌های هوش مصنوعی برای ساده‌تر و سریع‌تر کردن فرایند مدل‌سازی در محیط Simulink استفاده کنید. در طول آموزش، نحوه [&#8230;]</p>
<p>نوشته <a href="https://matlab1.ir/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-simulink-copilot%d8%9b-%d8%b7%d8%b1%d8%a7%d8%ad%db%8c-%d9%88-%d8%aa%d9%88%d8%b3%d8%b9%d9%87-%d9%87%d9%88%d8%b4%d9%85%d9%86%d8%af-%d9%85%d8%af%d9%84%d9%87%d8%a7/">آموزش Simulink Copilot؛ طراحی و توسعه هوشمند مدل‌های سیمولینک</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></description>
										<content:encoded><![CDATA[<h2>در این دوره با Simulink Copilot آشنا می‌شوید و یاد می‌گیرید چگونه از قابلیت‌های هوش مصنوعی برای ساده‌تر و سریع‌تر کردن فرایند مدل‌سازی در محیط Simulink استفاده کنید.</h2>
<p>در طول آموزش، نحوه تبدیل توضیحات متنی به ایده‌های قابل‌پیاده‌سازی، ساخت و تکمیل مدل‌ها، دریافت پیشنهاد برای انتخاب بلوک‌ها، بررسی ساختار سیستم و رفع خطاهای رایج را به‌صورت کاربردی تمرین خواهید کرد. مثال‌های دوره به شکلی طراحی شده‌اند که بتوانید آموخته‌های خود را در پروژه‌های مهندسی، دانشگاهی و صنعتی به کار بگیرید.</p>
<h2>در این دوره چه می‌آموزید؟</h2>
<p>آشنایی با مفهوم و کاربردهای Simulink Copilot<br />
استفاده از دستورات متنی برای توسعه مدل‌های Simulink<br />
انتخاب و تنظیم بلوک‌های مناسب با کمک هوش مصنوعی<br />
تحلیل، اصلاح و تکمیل مدل‌های موجود<br />
شناسایی خطاها و بهبود ساختار مدل<br />
استفاده مؤثر از Copilot در پروژه‌های کنترلی و شبیه‌سازی<br />
نکات مهم برای نوشتن درخواست‌های دقیق و دریافت نتایج بهتر<br />
این آموزش برای چه کسانی مناسب است؟</p>
<p>&nbsp;</p>
<p>این دوره برای دانشجویان، پژوهشگران و مهندسان رشته‌های برق، کنترل، مکانیک، مکاترونیک، خودرو و سایر حوزه‌هایی مناسب است که با MATLAB و Simulink کار می‌کنند و می‌خواهند از هوش مصنوعی برای افزایش سرعت و کیفیت مدل‌سازی خود بهره ببرند.</p>
<p>با یادگیری <a href="https://www.mathworks.com/products/simulink-copilot.html" target="_blank" rel="noopener">Simulink Copilot</a>، به‌جای صرف زمان زیاد برای جست‌وجوی بلوک‌ها و انجام مراحل تکراری، می‌توانید تمرکز خود را بر تحلیل سیستم، طراحی راه‌حل و توسعه پروژه قرار دهید.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p style="text-align: center;"><a href="https://iran-matlab.ir/product/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-simulink-copilot%d8%9b-%d8%b7%d8%b1%d8%a7%d8%ad%db%8c-%d9%88-%d8%aa%d9%88%d8%b3%d8%b9%d9%87-%d9%87%d9%88%d8%b4%d9%85%d9%86%d8%af-%d9%85%d8%af%d9%84%d9%87%d8%a7/" target="_blank" rel="noopener"><strong><span style="font-size: 36pt;">لینک دانلود آموزش</span></strong></a></p>
<p>نوشته <a href="https://matlab1.ir/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-simulink-copilot%d8%9b-%d8%b7%d8%b1%d8%a7%d8%ad%db%8c-%d9%88-%d8%aa%d9%88%d8%b3%d8%b9%d9%87-%d9%87%d9%88%d8%b4%d9%85%d9%86%d8%af-%d9%85%d8%af%d9%84%d9%87%d8%a7/">آموزش Simulink Copilot؛ طراحی و توسعه هوشمند مدل‌های سیمولینک</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://matlab1.ir/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-simulink-copilot%d8%9b-%d8%b7%d8%b1%d8%a7%d8%ad%db%8c-%d9%88-%d8%aa%d9%88%d8%b3%d8%b9%d9%87-%d9%87%d9%88%d8%b4%d9%85%d9%86%d8%af-%d9%85%d8%af%d9%84%d9%87%d8%a7/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>کد classical AI search algorithms</title>
		<link>https://matlab1.ir/1484/</link>
					<comments>https://matlab1.ir/1484/#respond</comments>
		
		<dc:creator><![CDATA[ایران متلب]]></dc:creator>
		<pubDate>Sun, 21 Jan 2024 12:13:26 +0000</pubDate>
				<category><![CDATA[آموزش]]></category>
		<category><![CDATA[MATLAB متلب]]></category>
		<guid isPermaLink="false">http://am19.siteground.biz/~matlab18/matlab1.ir/?p=1484</guid>

					<description><![CDATA[<p>EvaluateNormalVsBidirectionalBFS.m /////////////////// upperBound =  10; lowerBound = 3; numberOfExperiments = 5; x=1:upperBound; y1=zeros(1,upperBound); y2=zeros(1,upperBound); for i=lowerBound:upperBound for j=1:i*numberOfExperiments problem = Problem(i, i); [cost , numberOfExpandedNodes] = SolveMaze(problem, false, BFSFringe); y1(i) = y1(i) [&#8230;]</p>
<p>نوشته <a href="https://matlab1.ir/1484/">کد classical AI search algorithms</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></description>
										<content:encoded><![CDATA[<p dir="ltr">EvaluateNormalVsBidirectionalBFS.m</p>
<p dir="ltr">///////////////////<br />
<span style="font-family: 'courier new', courier;">upperBound =  10;</span><br />
<span style="font-family: 'courier new', courier;">lowerBound = 3;</span><br />
<span style="font-family: 'courier new', courier;">numberOfExperiments = 5;</span><br />
<span style="font-family: 'courier new', courier;">x=1:upperBound;</span><br />
<span style="font-family: 'courier new', courier;">y1=zeros(1,upperBound);</span><br />
<span style="font-family: 'courier new', courier;">y2=zeros(1,upperBound);</span><br />
<span style="font-family: 'courier new', courier;">for i=lowerBound:upperBound</span><br />
<span style="font-family: 'courier new', courier;">for j=1:i*numberOfExperiments</span><br />
<span style="font-family: 'courier new', courier;">problem = Problem(i, i);</span><br />
<span style="font-family: 'courier new', courier;">[cost , numberOfExpandedNodes] = SolveMaze(problem, false, BFSFringe);</span><br />
<span style="font-family: 'courier new', courier;">y1(i) = y1(i) + numberOfExpandedNodes;</span><br />
<span style="font-family: 'courier new', courier;">[cost , numberOfExpandedNodes] = SolveMazeBidirectional(problem, false, BFSFringe, BFSFringe);</span><br />
<span style="font-family: 'courier new', courier;">y2(i) = y2(i) + numberOfExpandedNodes;</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">y1(i) = y1(i)/(i*numberOfExperiments);</span><br />
<span style="font-family: 'courier new', courier;">y2(i) = y2(i)/(i*numberOfExperiments);</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">figure(&#8216;name&#8217;,&#8217;Normal vs Bidirectional BFS&#8217;);</span><br />
<span style="font-family: 'courier new', courier;">hold on</span><br />
<span style="font-family: 'courier new', courier;">axis([lowerBound upperBound 0 max(max(y1),max(y2))]);</span><br />
<span style="font-family: 'courier new', courier;">plot(x,y1,&#8217;r&#8217;);</span><br />
<span style="font-family: 'courier new', courier;">plot(x,y2,&#8217;b&#8217;);</span><br />
<span style="font-family: 'courier new', courier;">clear;</span></p>
<hr />
<p dir="ltr"><span style="font-family: 'courier new', courier;"> EvaluateDFS.m</span><br />
<span style="font-family: 'courier new', courier;">upperBound = 10;</span><br />
<span style="font-family: 'courier new', courier;">lowerBound = 3;</span><br />
<span style="font-family: 'courier new', courier;">numberOfExperiments = 10;</span><br />
<span style="font-family: 'courier new', courier;">x=1:upperBound;</span><br />
<span style="font-family: 'courier new', courier;">y=zeros(1,upperBound);</span><br />
<span style="font-family: 'courier new', courier;">for i=lowerBound:upperBound</span><br />
<span style="font-family: 'courier new', courier;">for j=1:i*numberOfExperiments </span><br />
<span style="font-family: 'courier new', courier;">problem = Problem(i, i);</span><br />
<span style="font-family: 'courier new', courier;">[cost , numberOfExpandedNodes] = SolveMaz(problem, false, DFSFringe, SLHeuristic);</span><br />
<span style="font-family: 'courier new', courier;">y(i) = y(i) + numberOfExpandedNodes;</span><br />
<span style="font-family: 'courier new', courier;">end</span></p>
<p dir="ltr"><span style="font-family: 'courier new', courier;">y(i) = y(i)/(i*numberOfExperiments;</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">figure(&#8216;name&#8217;,&#8217;DFS Evaluation&#8217;)</span><br />
<span style="font-family: 'courier new', courier;">hold on</span><br />
<span style="font-family: 'courier new', courier;">axis([lowerBound upperBound 0 max(y)]);</span><br />
<span style="font-family: 'courier new', courier;">plot(x,y,&#8217;r&#8217;);</span><br />
<span style="font-family: 'courier new', courier;">clear;</span></p>
<hr />
<p dir="ltr"><span style="font-family: 'courier new', courier;">EvaluateBestFirst.m</span><br />
<span style="font-family: 'courier new', courier;">upperBound = 10;</span><br />
<span style="font-family: 'courier new', courier;">lowerBound = 3;</span><br />
<span style="font-family: 'courier new', courier;">numberOfExperiments = 10;</span><br />
<span style="font-family: 'courier new', courier;">x=1:upperBound;</span><br />
<span style="font-family: 'courier new', courier;">y=zeros(1,upperBound </span><br />
<span style="font-family: 'courier new', courier;">for i=lowerBound:upperBound</span><br />
<span style="font-family: 'courier new', courier;">for j=1:i*numberOfExperiments</span><br />
<span style="font-family: 'courier new', courier;">problem = Problem(i, i);</span><br />
<span style="font-family: 'courier new', courier;">[cost , numberOfExpandedNodes] = SolveMaze(problem, false, BestFirstFringe, SLHeuristic);</span><br />
<span style="font-family: 'courier new', courier;">y(i) = y(i) + numberOfExpandedNodes;</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">y(i) = y(i)/(i*numberOfExperiments);</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">figure(&#8216;name&#8217;,&#8217;Best First Evaluation&#8217;);</span><br />
<span style="font-family: 'courier new', courier;">hold on</span><br />
<span style="font-family: 'courier new', courier;">axis([lowerBound upperBound 0 max(y)]);</span><br />
<span style="font-family: 'courier new', courier;">plot(x,y,&#8217;g&#8217;);</span><br />
<span style="font-family: 'courier new', courier;">clear;</span></p>
<hr />
<p dir="ltr"><span style="font-family: 'courier new', courier;">EvaluateAStar.m</span><br />
<span style="font-family: 'courier new', courier;">upperBound = 10;</span><br />
<span style="font-family: 'courier new', courier;">lowerBound = 3;</span><br />
<span style="font-family: 'courier new', courier;">numberOfExperiments = 10;</span><br />
<span style="font-family: 'courier new', courier;">x=1:upperBound;</span><br />
<span style="font-family: 'courier new', courier;">y=zeros(1,upperBound);</span><br />
<span style="font-family: 'courier new', courier;">for i=lowerBound:upperBound</span><br />
<span style="font-family: 'courier new', courier;">for j=1:i*numberOfExperiments</span><br />
<span style="font-family: 'courier new', courier;">problem = Problem(i, i);</span><br />
<span style="font-family: 'courier new', courier;">[cost , numberOfExpandedNodes] = SolveMaze(problem, false, AStarFringe, SLHeuristic);</span><br />
<span style="font-family: 'courier new', courier;">y(i) = y(i) + numberOfExpandedNodes;</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">y(i) = y(i)/(i*numberOfExperiments);</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">figure(&#8216;name&#8217;,&#8217;A* Evaluation&#8217;);</span><br />
<span style="font-family: 'courier new', courier;">hold on</span><br />
<span style="font-family: 'courier new', courier;">axis([lowerBound upperBound 0 max(y)]);</span><br />
<span style="font-family: 'courier new', courier;">plot(x,y,&#8217;b&#8217;);</span><br />
<span style="font-family: 'courier new', courier;">clear;</span></p>
<hr />
<p dir="ltr"><span style="font-family: 'courier new', courier;">ExampleNormalVsBidirectional.m</span><br />
<span style="font-family: 'courier new', courier;">function ExampleNormalVsBidirectional(numberOfRows, numberOfColumns)</span><br />
<span style="font-family: 'courier new', courier;">problem = Problem(numberOfRows, numberOfColumns);</span><br />
<span style="font-family: 'courier new', courier;">close all;</span><br />
<span style="font-family: 'courier new', courier;">[cost , numberOfExpandedNodes] = SolveMaze(problem, true, BFSFringe);</span><br />
<span style="font-family: 'courier new', courier;">disp(&#8216;Solution cost with normal BFS:&#8217;);</span><br />
<span style="font-family: 'courier new', courier;">disp(cost);</span><br />
<span style="font-family: 'courier new', courier;">disp(&#8216;Number of expanded nodes with normal BFS&#8217;);</span><br />
<span style="font-family: 'courier new', courier;">disp(numberOfExpandedNodes);</span><br />
<span style="font-family: 'courier new', courier;">[cost , numberOfExpandedNodes] = SolveMazeBidirectional(problem, true, BFSFringe,BFSFringe);</span><br />
<span style="font-family: 'courier new', courier;">disp(&#8216;Solution cost with bidirectional BFS:&#8217;);</span><br />
<span style="font-family: 'courier new', courier;">disp(cost);</span><br />
<span style="font-family: 'courier new', courier;">disp(&#8216;Number of expanded nodes with bidirectional BFS:&#8217;);</span><br />
<span style="font-family: 'courier new', courier;">disp(numberOfExpandedNodes);</span><br />
<span style="font-family: 'courier new', courier;">end</span></p>
<hr />
<p dir="ltr"><span style="font-family: 'courier new', courier;">ExampleDFS.m</span><br />
<span style="font-family: 'courier new', courier;">function ExampleDFS(numberOfRows, numberOfColumns)</span><br />
<span style="font-family: 'courier new', courier;">disp(&#8216;Depth First Search&#8217;);</span><br />
<span style="font-family: 'courier new', courier;">problem = Problem(numberOfRows, numberOfColumns);</span><br />
<span style="font-family: 'courier new', courier;">close all;</span><br />
<span style="font-family: 'courier new', courier;">[cost , numberOfExpandedNodes] = SolveMaze(problem, true, DFSFringe);</span><br />
<span style="font-family: 'courier new', courier;">disp(&#8216;Solution cost:&#8217;);</span><br />
<span style="font-family: 'courier new', courier;">disp(cost);</span><br />
<span style="font-family: 'courier new', courier;">disp(&#8216;Number of expanded nodes:&#8217;);</span><br />
<span style="font-family: 'courier new', courier;">disp(numberOfExpandedNodes);</span><br />
<span style="font-family: 'courier new', courier;">end</span></p>
<hr />
<p dir="ltr"><span style="font-family: 'courier new', courier;">ExampleBFS.m</span><br />
<span style="font-family: 'courier new', courier;">function ExampleBFS(numberOfRows, numberOfColumns)</span><br />
<span style="font-family: 'courier new', courier;">disp(&#8216;Breadth First Search&#8217;);</span><br />
<span style="font-family: 'courier new', courier;">problem = Problem(numberOfRows, numberOfColumns);</span><br />
<span style="font-family: 'courier new', courier;">close all;</span><br />
<span style="font-family: 'courier new', courier;">[cost , numberOfExpandedNodes] = SolveMaze(problem, true, BFSFringe);</span><br />
<span style="font-family: 'courier new', courier;">disp(&#8216;Solution cost:&#8217;);</span><br />
<span style="font-family: 'courier new', courier;">disp(cost);</span><br />
<span style="font-family: 'courier new', courier;">disp(&#8216;Number of expanded nodes:&#8217;);</span><br />
<span style="font-family: 'courier new', courier;">disp(numberOfExpandedNodes);</span><br />
<span style="font-family: 'courier new', courier;">end</span></p>
<hr />
<p dir="ltr"><span style="font-family: 'courier new', courier;">ExampleBestFirst.m</span><br />
<span style="font-family: 'courier new', courier;">function ExampleBestFirst(numberOfRows, numberOfColumns)</span><br />
<span style="font-family: 'courier new', courier;">disp(&#8216;Best First Search, Straight Line Distance Heuristic&#8217;);</span><br />
<span style="font-family: 'courier new', courier;">problem = Problem(numberOfRows, numberOfColumns);</span><br />
<span style="font-family: 'courier new', courier;">close all;</span><br />
<span style="font-family: 'courier new', courier;">[cost , numberOfExpandedNodes] = SolveMaze(problem, true, BestFirstFringe, SLHeuristic);</span><br />
<span style="font-family: 'courier new', courier;">disp(&#8216;Solution cost:&#8217;);</span><br />
<span style="font-family: 'courier new', courier;">disp(cost);</span><br />
<span style="font-family: 'courier new', courier;">disp(&#8216;Number of expanded nodes:&#8217;);</span><br />
<span style="font-family: 'courier new', courier;">disp(numberOfExpandedNodes);</span><br />
<span style="font-family: 'courier new', courier;">end</span></p>
<hr />
<p dir="ltr"><span style="font-family: 'courier new', courier;">ExampleAStar.m</span><br />
<span style="font-family: 'courier new', courier;">function ExampleAStar(numberOfRows, numberOfColumns)</span><br />
<span style="font-family: 'courier new', courier;">disp(&#8216;A* Search, Straight Line Distance Heuristic&#8217;);</span><br />
<span style="font-family: 'courier new', courier;">problem = Problem(numberOfRows, numberOfColumns);</span><br />
<span style="font-family: 'courier new', courier;">close all;</span><br />
<span style="font-family: 'courier new', courier;">[cost , numberOfExpandedNodes] = SolveMaze(problem, true, AStarFringe, SLHeuristic);</span><br />
<span style="font-family: 'courier new', courier;">disp(&#8216;Solution cost:&#8217;);</span><br />
<span style="font-family: 'courier new', courier;">disp(cost);</span><br />
<span style="font-family: 'courier new', courier;">disp(&#8216;Number of expanded nodes:&#8217;);</span><br />
<span style="font-family: 'courier new', courier;">disp(numberOfExpandedNodes);</span><br />
<span style="font-family: 'courier new', courier;">end</span></p>
<hr />
<p dir="ltr"><span style="font-family: 'courier new', courier;">for i=1:numberOfColumns</span><br />
<span style="font-family: 'courier new', courier;">x=zeros(0);</span><br />
<span style="font-family: 'courier new', courier;">y=zeros(0);</span><br />
<span style="font-family: 'courier new', courier;">for j=1:numberOfRows</span><br />
<span style="font-family: 'courier new', courier;">if(arrayVersion(j,i) == 1)</span><br />
<span style="font-family: 'courier new', courier;">x = [x i];</span><br />
<span style="font-family: 'courier new', courier;">y = [y j];</span><br />
<span style="font-family: 'courier new', courier;">else</span><br />
<span style="font-family: 'courier new', courier;">plot(x,y,&#8217;-ks&#8217;,&#8217;LineWidth&#8217;,3,&#8230;</span><br />
<span style="font-family: 'courier new', courier;">&#8216;MarkerEdgeColor&#8217;,&#8217;k&#8217;,&#8230;</span><br />
<span style="font-family: 'courier new', courier;">&#8216;MarkerFaceColor&#8217;,&#8217;g&#8217;,&#8230;</span><br />
<span style="font-family: 'courier new', courier;">&#8216;MarkerSize&#8217;,5)</span><br />
<span style="font-family: 'courier new', courier;">x=zeros(0);</span><br />
<span style="font-family: 'courier new', courier;">y=zeros(0);</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">plot(x,y,&#8217;-ks&#8217;,&#8217;LineWidth&#8217;,3,&#8230;</span><br />
<span style="font-family: 'courier new', courier;">&#8216;MarkerEdgeColor&#8217;,&#8217;k&#8217;,&#8230;</span><br />
<span style="font-family: 'courier new', courier;">&#8216;MarkerFaceColor&#8217;,&#8217;g&#8217;,&#8230;</span><br />
<span style="font-family: 'courier new', courier;">&#8216;MarkerSize&#8217;,5)</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">if isempty(solution) == false</span><br />
<span style="font-family: 'courier new', courier;">[x, y] = ConvertToArray(solution);</span><br />
<span style="font-family: 'courier new', courier;">plot(x,y,&#8217;:r&#8217;, &#8216;LineWidth&#8217;,2);</span><br />
<span style="font-family: 'courier new', courier;">else</span><br />
<span style="font-family: 'courier new', courier;">text(numberOfColumns/2,0,&#8217;FAILURE&#8217;);</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">text(problem.InitialState.Column, problem.InitialState.Row, &#8216;S&#8217;);</span><br />
<span style="font-family: 'courier new', courier;">text(problem.GoalState.Column, problem.GoalState.Row, &#8216;G&#8217;);</span><br />
<span style="font-family: 'courier new', courier;">hold off</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">function [x, y] = ConvertToArray(path)</span><br />
<span style="font-family: 'courier new', courier;">x=zeros(0);</span><br />
<span style="font-family: 'courier new', courier;">y=zeros(0);</span><br />
<span style="font-family: 'courier new', courier;">for node = path</span><br />
<span style="font-family: 'courier new', courier;">x = [x node.State.Column];</span><br />
<span style="font-family: 'courier new', courier;">y = [y node.State.Row];</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">end</span></p>
<hr />
<p dir="ltr"><span style="font-family: 'courier new', courier;">DrawMaze.m</span><br />
<span style="font-family: 'courier new', courier;">function DrawMaze(problem, solution)</span><br />
<span style="font-family: 'courier new', courier;">arrayVersion = problem.ArrayVersion;</span><br />
<span style="font-family: 'courier new', courier;">[numberOfRows, numberOfColumns] = size(problem.States);</span><br />
<span style="font-family: 'courier new', courier;">figure;</span><br />
<span style="font-family: 'courier new', courier;">hold on;</span><br />
<span style="font-family: 'courier new', courier;">axis ij</span><br />
<span style="font-family: 'courier new', courier;">axis([0.5 numberOfColumns+0.5 0.5 numberOfRows+0.5]);</span><br />
<span style="font-family: 'courier new', courier;">for i=1:numberOfRows</span><br />
<span style="font-family: 'courier new', courier;">x=zeros(0);</span><br />
<span style="font-family: 'courier new', courier;">y=zeros(0);</span><br />
<span style="font-family: 'courier new', courier;">for j=1:numberOfColumns</span><br />
<span style="font-family: 'courier new', courier;">if(arrayVersion(i,j) == 1)</span><br />
<span style="font-family: 'courier new', courier;">x = [x j];</span><br />
<span style="font-family: 'courier new', courier;">y = [y i];</span><br />
<span style="font-family: 'courier new', courier;">else</span><br />
<span style="font-family: 'courier new', courier;">plot(x,y,&#8217;-ks&#8217;,&#8217;LineWidth&#8217;,3,&#8230;</span><br />
<span style="font-family: 'courier new', courier;">&#8216;MarkerEdgeColor&#8217;,&#8217;k&#8217;,&#8230;</span><br />
<span style="font-family: 'courier new', courier;">&#8216;MarkerFaceColor&#8217;,&#8217;g&#8217;,&#8230;</span><br />
<span style="font-family: 'courier new', courier;">&#8216;MarkerSize&#8217;,5)</span><br />
<span style="font-family: 'courier new', courier;">x=zeros(0);</span><br />
<span style="font-family: 'courier new', courier;">y=zeros(0);</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">plot(x,y,&#8217;-ks&#8217;,&#8217;LineWidth&#8217;,3,&#8230;</span><br />
<span style="font-family: 'courier new', courier;">&#8216;MarkerEdgeColor&#8217;,&#8217;k&#8217;,&#8230;</span><br />
<span style="font-family: 'courier new', courier;">&#8216;MarkerFaceColor&#8217;,&#8217;g&#8217;,&#8230;</span><br />
<span style="font-family: 'courier new', courier;">&#8216;MarkerSize&#8217;,5)</span><br />
<span style="font-family: 'courier new', courier;">end</span></p>
<hr />
<p dir="ltr"><strong><span style="font-family: 'courier new', courier;">SolveMazeBidirectional.m</span></strong><br />
<span style="font-family: 'courier new', courier;">function [cost , numberOfExpandedNodes] = SolveMazeBidirectional(problem, drawMaze, fringe1, fringe2, heuristic1, heuristic2)</span><br />
<span style="font-family: 'courier new', courier;">if isa(fringe1,&#8217;HeuristicFringe&#8217;)</span><br />
<span style="font-family: 'courier new', courier;">fringe1.Set(problem,heuristic1);</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">if isa(fringe2,&#8217;HeuristicFringe&#8217;)</span><br />
<span style="font-family: 'courier new', courier;">if nargin == 5</span><br />
<span style="font-family: 'courier new', courier;">fringe2.Set(problem,heuristic1);</span><br />
<span style="font-family: 'courier new', courier;">else</span><br />
<span style="font-family: 'courier new', courier;">fringe2.Set(problem,heuristic2);</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">[solution, cost] = BidirectionalSearch(problem, fringe1, fringe2);</span><br />
<span style="font-family: 'courier new', courier;">numberOfExpandedNodes = fringe1.NumberOfExpandedNodes + fringe2.NumberOfExpandedNodes;</span><br />
<span style="font-family: 'courier new', courier;">if drawMaze</span><br />
<span style="font-family: 'courier new', courier;">DrawMaze (problem, solution);</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">end</span></p>
<hr />
<p dir="ltr"><strong><span style="font-family: 'courier new', courier;">SolveMaze.m</span></strong><br />
<span style="font-family: 'courier new', courier;">function [cost , numberOfExpandedNodes] = SolveMaze(problem, drawMaze, fringe, heuristic)</span><br />
<span style="font-family: 'courier new', courier;">if isa(fringe,&#8217;HeuristicFringe&#8217;)</span><br />
<span style="font-family: 'courier new', courier;">fringe.Set(problem,heuristic);</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">[solution, cost] = GraphSearch(problem,fringe);</span><br />
<span style="font-family: 'courier new', courier;">numberOfExpandedNodes = fringe.NumberOfExpandedNodes;</span><br />
<span style="font-family: 'courier new', courier;">if drawMaze</span><br />
<span style="font-family: 'courier new', courier;">DrawMaze(problem, solution);</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">end</span></p>
<hr />
<p dir="ltr"><strong><span style="font-family: 'courier new', courier;">Problem.m</span></strong><br />
<span style="font-family: 'courier new', courier;">classdef Problem &lt; handle</span><br />
<span style="font-family: 'courier new', courier;">properties</span><br />
<span style="font-family: 'courier new', courier;">InitialState</span><br />
<span style="font-family: 'courier new', courier;">GoalState</span><br />
<span style="font-family: 'courier new', courier;">States = State.empty;</span><br />
<span style="font-family: 'courier new', courier;">ArrayVersion</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">methods</span><br />
<span style="font-family: 'courier new', courier;">function problem = Problem(numberOfRows, numberOfColumns)</span><br />
<span style="font-family: 'courier new', courier;">problem.States(1:numberOfRows, 1: numberOfColumns) = State;</span><br />
<span style="font-family: 'courier new', courier;">for i = 1:numberOfRows</span><br />
<span style="font-family: 'courier new', courier;">for j = 1:numberOfColumns</span><br />
<span style="font-family: 'courier new', courier;">if rand &lt; 0.4</span><br />
<span style="font-family: 'courier new', courier;">blocked = true;</span><br />
<span style="font-family: 'courier new', courier;">else</span><br />
<span style="font-family: 'courier new', courier;">blocked = false;</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">problem.States(i,j) = State(i,j,blocked);</span><br />
<span style="font-family: 'courier new', courier;">problem.ArrayVersion(i,j) = blocked;</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">end</span></p>
<p dir="ltr"><span style="font-family: 'courier new', courier;">index = round(rand*(i*j-1))+1;</span><br />
<span style="font-family: 'courier new', courier;">problem.InitialState = problem.States(index);</span><br />
<span style="font-family: 'courier new', courier;">problem.InitialState.Blocked = false;</span><br />
<span style="font-family: 'courier new', courier;">problem.ArrayVersion(index) = 0;</span><br />
<span style="font-family: 'courier new', courier;">index = round(rand*(i*j-1))+1;</span><br />
<span style="font-family: 'courier new', courier;">problem.GoalState = problem.States(index);</span><br />
<span style="font-family: 'courier new', courier;">problem.GoalState.Blocked = false;</span><br />
<span style="font-family: 'courier new', courier;">problem.ArrayVersion(index) = 0;</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">function result = GoalTest(problem, state)</span><br />
<span style="font-family: 'courier new', courier;">if state == problem.GoalState</span><br />
<span style="font-family: 'courier new', courier;">result = true;</span><br />
<span style="font-family: 'courier new', courier;">else</span><br />
<span style="font-family: 'courier new', courier;">result = false;</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">function [actions, results] = SuccessorFunction(problem, state)</span><br />
<span style="font-family: 'courier new', courier;">[numberOfRows, numberOfColumns] = size(problem.States);</span><br />
<span style="font-family: 'courier new', courier;">row = state.Row;</span><br />
<span style="font-family: 'courier new', courier;">column = state.Column;</span><br />
<span style="font-family: 'courier new', courier;">actions = double.empty;</span><br />
<span style="font-family: 'courier new', courier;">results = State.empty;</span><br />
<span style="font-family: 'courier new', courier;">index = 0;</span><br />
<span style="font-family: 'courier new', courier;">if(column&gt;1 &amp;&amp; problem.States(row,column-1).Blocked == false)</span><br />
<span style="font-family: 'courier new', courier;">index = index + 1;</span><br />
<span style="font-family: 'courier new', courier;">actions(index) = 4; % left (according to keyboard&#8217;s numeric keypad!)</span><br />
<span style="font-family: 'courier new', courier;">results(index) = problem.States(row,column-1);</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">if(column&lt;numberOfColumns &amp;&amp; problem.States(row,column+1).Blocked == false)</span><br />
<span style="font-family: 'courier new', courier;">index = index + 1;</span><br />
<span style="font-family: 'courier new', courier;">actions(index) = 6; % right</span><br />
<span style="font-family: 'courier new', courier;">results(index) = problem.States(row,column+1);</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">if(row&gt;1 &amp;&amp; problem.States(row-1,column).Blocked == false)</span><br />
<span style="font-family: 'courier new', courier;">index = index + 1;</span><br />
<span style="font-family: 'courier new', courier;">actions(index) = 8; % up</span><br />
<span style="font-family: 'courier new', courier;">results(index) = problem.States(row-1,column);</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">if(row&lt;numberOfRows &amp;&amp; problem.States(row+1,column).Blocked == false)</span><br />
<span style="font-family: 'courier new', courier;">index = index + 1;</span><br />
<span style="font-family: 'courier new', courier;">actions(index) = 2; % down</span><br />
<span style="font-family: 'courier new', courier;">results(index) = problem.States(row+1,column);</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">if(column&gt;1 &amp;&amp; row&gt;1 &amp;&amp; problem.States(row-1,column-1).Blocked == false)</span><br />
<span style="font-family: 'courier new', courier;">index = index + 1;</span><br />
<span style="font-family: 'courier new', courier;">actions(index) = 7; % upper left</span><br />
<span style="font-family: 'courier new', courier;">results(index) = problem.States(row-1,column-1);</span><br />
<span style="font-family: 'courier new', courier;">end</span></p>
<p dir="ltr"><span style="font-family: 'courier new', courier;">if(column&lt;numberOfColumns &amp;&amp; row&gt;1 &amp;&amp; problem.States(row-1,column+1).Blocked == false)</span><br />
<span style="font-family: 'courier new', courier;">index = index + 1;</span><br />
<span style="font-family: 'courier new', courier;">actions(index) = 9; % upperRight</span><br />
<span style="font-family: 'courier new', courier;">results(index) = problem.States(row-1,column+1);</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">if(column&gt;1 &amp;&amp; row&lt;numberOfRows &amp;&amp; problem.States(row+1,column-1).Blocked == false)</span><br />
<span style="font-family: 'courier new', courier;">index = index + 1;</span><br />
<span style="font-family: 'courier new', courier;">actions(index) = 1; % bottomLeft</span><br />
<span style="font-family: 'courier new', courier;">results(index) = problem.States(row+1,column-1);</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">if(column&lt;numberOfColumns &amp;&amp; row&lt;numberOfRows &amp;&amp; problem.States(row+1,column+1).Blocked == false)</span><br />
<span style="font-family: 'courier new', courier;">index = index + 1;</span><br />
<span style="font-family: 'courier new', courier;">actions(index) = 3; % bottomRight</span><br />
<span style="font-family: 'courier new', courier;">results(index) = problem.States(row+1,column+1);</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">end</span></p>
<hr />
<p dir="ltr"><span style="font-family: 'courier new', courier;">BidirectionalSearch.m</span><br />
<span style="font-family: 'courier new', courier;">function [solution, cost] = BidirectionalSearch(problem, fringe1, fringe2)</span><br />
<span style="font-family: 'courier new', courier;">closed = State.empty;</span><br />
<span style="font-family: 'courier new', courier;">fringe1.Insert(MakeNode(problem.InitialState));</span><br />
<span style="font-family: 'courier new', courier;">fringe2.Insert(MakeNode(problem.GoalState));</span><br />
<span style="font-family: 'courier new', courier;">while(true)</span><br />
<span style="font-family: 'courier new', courier;">if fringe1.IsEmpty || fringe2.IsEmpty</span><br />
<span style="font-family: 'courier new', courier;">solution = Node.empty; % Failure</span><br />
<span style="font-family: 'courier new', courier;">cost = 0;</span><br />
<span style="font-family: 'courier new', courier;">break;</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">[intersectingNodeFromFring1, intersectingNodeFromFring2] = FindIntersection(fringe1,fringe2);</span><br />
<span style="font-family: 'courier new', courier;">if isempty(intersectingNodeFromFring1) == false</span><br />
<span style="font-family: 'courier new', courier;">[solution, cost] = Solution(intersectingNodeFromFring1, intersectingNodeFromFring2);</span><br />
<span style="font-family: 'courier new', courier;">break;</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">node1 = fringe1.RemoveFront();</span><br />
<span style="font-family: 'courier new', courier;">node2 = fringe2.RemoveFront();</span><br />
<span style="font-family: 'courier new', courier;">if Contains(closed, node1.State) == false</span><br />
<span style="font-family: 'courier new', courier;">closed = [node1.State closed];</span><br />
<span style="font-family: 'courier new', courier;">fringe1.InsertAll(Expand(node1, problem));</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">if Contains(closed, node2.State) == false</span><br />
<span style="font-family: 'courier new', courier;">closed = [node2.State closed];</span><br />
<span style="font-family: 'courier new', courier;">fringe2.InsertAll(Expand(node2, problem));</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">function [intersectingNodeFromFring1, intersectingNodeFromFring2] = FindIntersection(fringe1,fringe2)</span><br />
<span style="font-family: 'courier new', courier;">intersectingNodeFromFring1 = Node.empty;</span><br />
<span style="font-family: 'courier new', courier;">intersectingNodeFromFring2 = Node.empty;</span><br />
<span style="font-family: 'courier new', courier;">for node1 = fringe1.Nodes</span><br />
<span style="font-family: 'courier new', courier;">for node2 = fringe2.Nodes</span><br />
<span style="font-family: 'courier new', courier;">if node1 == node2</span><br />
<span style="font-family: 'courier new', courier;">intersectingNodeFromFring1 = node1;</span><br />
<span style="font-family: 'courier new', courier;">intersectingNodeFromFring2 = node2;</span></p>
<p dir="ltr"><span style="font-family: 'courier new', courier;">break;</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">function [solution, cost] = Solution(node1,node2)</span><br />
<span style="font-family: 'courier new', courier;">solution = node1;</span><br />
<span style="font-family: 'courier new', courier;">currentNode = node1;</span><br />
<span style="font-family: 'courier new', courier;">rootReached = false;</span><br />
<span style="font-family: 'courier new', courier;">while(rootReached == false)</span><br />
<span style="font-family: 'courier new', courier;">currentNode = currentNode.ParentNode;</span><br />
<span style="font-family: 'courier new', courier;">solution = [currentNode solution];</span><br />
<span style="font-family: 'courier new', courier;">if isempty(currentNode) || isempty(currentNode.ParentNode)</span><br />
<span style="font-family: 'courier new', courier;">rootReached = true;</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">currentNode = node2;</span><br />
<span style="font-family: 'courier new', courier;">rootReached = false;</span><br />
<span style="font-family: 'courier new', courier;">while(rootReached == false)</span><br />
<span style="font-family: 'courier new', courier;">currentNode = currentNode.ParentNode;</span><br />
<span style="font-family: 'courier new', courier;">solution = [solution currentNode];</span><br />
<span style="font-family: 'courier new', courier;">if isempty(currentNode) || isempty(currentNode.ParentNode)</span><br />
<span style="font-family: 'courier new', courier;">rootReached = true;</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">cost = node1.PathCost + node2.PathCost;</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">5.16. Problem.m</span><br />
<span style="font-family: 'courier new', courier;">classdef Problem &lt; handle</span><br />
<span style="font-family: 'courier new', courier;">properties</span><br />
<span style="font-family: 'courier new', courier;">InitialState</span><br />
<span style="font-family: 'courier new', courier;">GoalState</span><br />
<span style="font-family: 'courier new', courier;">States = State.empty;</span><br />
<span style="font-family: 'courier new', courier;">ArrayVersion</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">methods</span><br />
<span style="font-family: 'courier new', courier;">function problem = Problem(numberOfRows, numberOfColumns)</span><br />
<span style="font-family: 'courier new', courier;">problem.States(1:numberOfRows, 1: numberOfColumns) = State;</span><br />
<span style="font-family: 'courier new', courier;">for i = 1:numberOfRows</span><br />
<span style="font-family: 'courier new', courier;">for j = 1:numberOfColumns</span><br />
<span style="font-family: 'courier new', courier;">if rand &lt; 0.4</span><br />
<span style="font-family: 'courier new', courier;">blocked = true;</span><br />
<span style="font-family: 'courier new', courier;">else</span><br />
<span style="font-family: 'courier new', courier;">blocked = false;</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">problem.States(i,j) = State(i,j,blocked);</span><br />
<span style="font-family: 'courier new', courier;">problem.ArrayVersion(i,j) = blocked;</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">end</span></p>
<p dir="ltr"><span style="font-family: 'courier new', courier;">index = round(rand*(i*j-1))+1;</span><br />
<span style="font-family: 'courier new', courier;">problem.InitialState = problem.States(index);</span><br />
<span style="font-family: 'courier new', courier;">problem.InitialState.Blocked = false;</span><br />
<span style="font-family: 'courier new', courier;">problem.ArrayVersion(index) = 0;</span><br />
<span style="font-family: 'courier new', courier;">index = round(rand*(i*j-1))+1;</span><br />
<span style="font-family: 'courier new', courier;">problem.GoalState = problem.States(index);</span><br />
<span style="font-family: 'courier new', courier;">problem.GoalState.Blocked = false;</span><br />
<span style="font-family: 'courier new', courier;">problem.ArrayVersion(index) = 0;</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">function result = GoalTest(problem, state)</span><br />
<span style="font-family: 'courier new', courier;">if state == problem.GoalState</span><br />
<span style="font-family: 'courier new', courier;">result = true;</span><br />
<span style="font-family: 'courier new', courier;">else</span><br />
<span style="font-family: 'courier new', courier;">result = false;</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">function [actions, results] = SuccessorFunction(problem, state)</span><br />
<span style="font-family: 'courier new', courier;">[numberOfRows, numberOfColumns] = size(problem.States);</span><br />
<span style="font-family: 'courier new', courier;">row = state.Row;</span><br />
<span style="font-family: 'courier new', courier;">column = state.Column;</span><br />
<span style="font-family: 'courier new', courier;">actions = double.empty;</span><br />
<span style="font-family: 'courier new', courier;">results = State.empty;</span><br />
<span style="font-family: 'courier new', courier;">index = 0;</span><br />
<span style="font-family: 'courier new', courier;">if(column&gt;1 &amp;&amp; problem.States(row,column-1).Blocked == false)</span><br />
<span style="font-family: 'courier new', courier;">index = index + 1;</span><br />
<span style="font-family: 'courier new', courier;">actions(index) = 4; % left (according to keyboard&#8217;s numeric keypad!)</span><br />
<span style="font-family: 'courier new', courier;">results(index) = problem.States(row,column-1);</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">if(column&lt;numberOfColumns &amp;&amp; problem.States(row,column+1).Blocked == false)</span><br />
<span style="font-family: 'courier new', courier;">index = index + 1;</span><br />
<span style="font-family: 'courier new', courier;">actions(index) = 6; % right</span><br />
<span style="font-family: 'courier new', courier;">results(index) = problem.States(row,column+1);</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">if(row&gt;1 &amp;&amp; problem.States(row-1,column).Blocked == false)</span><br />
<span style="font-family: 'courier new', courier;">index = index + 1;</span><br />
<span style="font-family: 'courier new', courier;">actions(index) = 8; % up</span><br />
<span style="font-family: 'courier new', courier;">results(index) = problem.States(row-1,column);</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">if(row&lt;numberOfRows &amp;&amp; problem.States(row+1,column).Blocked == false)</span><br />
<span style="font-family: 'courier new', courier;">index = index + 1;</span><br />
<span style="font-family: 'courier new', courier;">actions(index) = 2; % down</span><br />
<span style="font-family: 'courier new', courier;">results(index) = problem.States(row+1,column);</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">if(column&gt;1 &amp;&amp; row&gt;1 &amp;&amp; problem.States(row-1,column-1).Blocked == false)</span><br />
<span style="font-family: 'courier new', courier;">index = index + 1;</span><br />
<span style="font-family: 'courier new', courier;">actions(index) = 7; % upper left</span><br />
<span style="font-family: 'courier new', courier;">results(index) = problem.States(row-1,column-1);</span><br />
<span style="font-family: 'courier new', courier;">end</span></p>
<p dir="ltr"><span style="font-family: 'courier new', courier;">if(column&lt;numberOfColumns &amp;&amp; row&gt;1 &amp;&amp; problem.States(row-1,column+1).Blocked == false)</span><br />
<span style="font-family: 'courier new', courier;">index = index + 1;</span><br />
<span style="font-family: 'courier new', courier;">actions(index) = 9; % upperRight</span><br />
<span style="font-family: 'courier new', courier;">results(index) = problem.States(row-1,column+1);</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">if(column&gt;1 &amp;&amp; row&lt;numberOfRows &amp;&amp; problem.States(row+1,column-1).Blocked == false)</span><br />
<span style="font-family: 'courier new', courier;">index = index + 1;</span><br />
<span style="font-family: 'courier new', courier;">actions(index) = 1; % bottomLeft</span><br />
<span style="font-family: 'courier new', courier;">results(index) = problem.States(row+1,column-1);</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">if(column&lt;numberOfColumns &amp;&amp; row&lt;numberOfRows &amp;&amp; problem.States(row+1,column+1).Blocked == false)</span><br />
<span style="font-family: 'courier new', courier;">index = index + 1;</span><br />
<span style="font-family: 'courier new', courier;">actions(index) = 3; % bottomRight</span><br />
<span style="font-family: 'courier new', courier;">results(index) = problem.States(row+1,column+1);</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">end</span><br />
<span style="font-family: 'courier new', courier;">end</span></p>
<p>نوشته <a href="https://matlab1.ir/1484/">کد classical AI search algorithms</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://matlab1.ir/1484/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>کاربردهای نرم افزار متلب</title>
		<link>https://matlab1.ir/%da%a9%d8%a7%d8%b1%d8%a8%d8%b1%d8%af%d9%87%d8%a7%db%8c-%d9%86%d8%b1%d9%85-%d8%a7%d9%81%d8%b2%d8%a7%d8%b1-%d9%85%d8%aa%d9%84%d8%a8/</link>
					<comments>https://matlab1.ir/%da%a9%d8%a7%d8%b1%d8%a8%d8%b1%d8%af%d9%87%d8%a7%db%8c-%d9%86%d8%b1%d9%85-%d8%a7%d9%81%d8%b2%d8%a7%d8%b1-%d9%85%d8%aa%d9%84%d8%a8/#respond</comments>
		
		<dc:creator><![CDATA[ایران متلب]]></dc:creator>
		<pubDate>Wed, 15 Feb 2023 18:59:00 +0000</pubDate>
				<category><![CDATA[آموزش]]></category>
		<category><![CDATA[MATLAB متلب]]></category>
		<guid isPermaLink="false">https://matlab1.ir/?p=14631</guid>

					<description><![CDATA[<p>نرم افزار MATLAB یکی از قدرتمندترین ابزارهای محاسباتی و تحلیلی در دنیای علم و صنعت است. در اینجا به برخی از کاربردهای MATLAB در علوم مختلف اشاره خواهیم کرد: علوم ریاضیاتی: MATLAB [&#8230;]</p>
<p>نوشته <a href="https://matlab1.ir/%da%a9%d8%a7%d8%b1%d8%a8%d8%b1%d8%af%d9%87%d8%a7%db%8c-%d9%86%d8%b1%d9%85-%d8%a7%d9%81%d8%b2%d8%a7%d8%b1-%d9%85%d8%aa%d9%84%d8%a8/">کاربردهای نرم افزار متلب</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></description>
										<content:encoded><![CDATA[<p>نرم افزار MATLAB یکی از قدرتمندترین ابزارهای محاسباتی و تحلیلی در دنیای علم و صنعت است. در اینجا به برخی از کاربردهای MATLAB در علوم مختلف اشاره خواهیم کرد:</p>
<ul>
<li>علوم ریاضیاتی: MATLAB یکی از محبوب‌ترین نرم‌افزارهای مورد استفاده در ریاضیات است و از آن به عنوان یک محیط محاسباتی و تحلیلی استفاده می‌شود. MATLAB برای حل مسائل مربوط به نظریه گراف، محاسبات عددی، آمار و احتمالات، رمزنگاری، روش‌های تفاضلی، روش‌های جبری و غیره استفاده می‌شود.</li>
<li>علوم مهندسی: MATLAB یکی از مورد استفاده قرار گرفته در علوم مهندسی است و برای حل مسائل مختلف مربوط به مهندسی برق، مهندسی مکانیک، مهندسی شیمی، مهندسی عمران و غیره استفاده می‌شود. MATLAB برای تحلیل و طراحی سیستم‌های کنترل، شبیه‌سازی سیستم‌های انرژی، مدلسازی سیستم‌های تشخیص خطا و غیره مورد استفاده قرار می‌گیرد.</li>
<li>علوم پزشکی: MATLAB یکی از برترین نرم‌افزارهای مورد استفاده در پزشکی است و برای تحلیل داده‌های پزشکی، تحلیل سیگنال‌های پزشکی، تحلیل تصویر پزشکی و غیره استفاده می‌شود. MATLAB به عنوان یک محیط محاسباتی و تحلیلی برای بسیاری از پژوهش‌های پزشکی مورد استفاده قرار می‌گیرد.</li>
<li>علوم زمین‌شناسی: MATLAB برای تحلیل داده‌های زمین‌شناسی و مهندسی زمین، تحلیل داده‌های رادار و شبیه</li>
<li>علوم اقتصادی: MATLAB برای تحلیل داده‌های مالی و اقتصادی، مدلسازی سیستم‌های مالی، طراحی و پیاده‌سازی سیستم‌های معاملاتی و غیره استفاده می‌شود.</li>
<li>علوم فیزیکی: MATLAB برای مدلسازی و شبیه‌سازی سیستم‌های فیزیکی، حل مسائل مربوط به الکترودینامیک، نوری، مغناطیسی، اپتیک و غیره استفاده می‌شود.</li>
<li>علوم روانشناسی: MATLAB برای تحلیل داده‌های روان‌شناختی، مدلسازی و شبیه‌سازی سیستم‌های روان‌شناختی و طراحی و پیاده‌سازی آزمایش‌های روان‌شناختی و غیره استفاده می‌شود.</li>
<li>علوم بیولوژی: MATLAB برای تحلیل داده‌های بیولوژیکی، مدلسازی سیستم‌های بیولوژیکی، طراحی و پیاده‌سازی آزمایش‌های بیولوژیکی و غیره استفاده می‌شود.</li>
<li>علوم کامپیوتر: MATLAB برای پردازش تصویر، شبیه‌سازی شبکه‌های عصبی، پردازش سیگنال‌های صوتی، پردازش متن و غیره استفاده می‌شود.</li>
</ul>
<p>در کل، MATLAB یک ابزار بسیار قدرتمند است که در صنایع مختلف مورد استفاده قرار می‌گیرد. این نرم‌افزار به عنوان یک محیط محاسباتی و تحلیلی قدرتمند، به محققان و متخصصان می‌تواند در بسیاری از زمینه‌ها کمک کند و به دستیابی به نتایج بهتر و دقیق‌تر کمک کند.</p>
<p>نوشته <a href="https://matlab1.ir/%da%a9%d8%a7%d8%b1%d8%a8%d8%b1%d8%af%d9%87%d8%a7%db%8c-%d9%86%d8%b1%d9%85-%d8%a7%d9%81%d8%b2%d8%a7%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/%da%a9%d8%a7%d8%b1%d8%a8%d8%b1%d8%af%d9%87%d8%a7%db%8c-%d9%86%d8%b1%d9%85-%d8%a7%d9%81%d8%b2%d8%a7%d8%b1-%d9%85%d8%aa%d9%84%d8%a8/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>خطای نصب ویندوز</title>
		<link>https://matlab1.ir/%d8%ae%d8%b7%d8%a7%db%8c-%d9%86%d8%b5%d8%a8-%d9%88%db%8c%d9%86%d8%af%d9%88%d8%b2/</link>
					<comments>https://matlab1.ir/%d8%ae%d8%b7%d8%a7%db%8c-%d9%86%d8%b5%d8%a8-%d9%88%db%8c%d9%86%d8%af%d9%88%d8%b2/#comments</comments>
		
		<dc:creator><![CDATA[ایران متلب]]></dc:creator>
		<pubDate>Mon, 15 Feb 2021 08:49:25 +0000</pubDate>
				<category><![CDATA[آموزش]]></category>
		<guid isPermaLink="false">https://matlab1.ir/?p=14535</guid>

					<description><![CDATA[<p>یکی از خطاهای هنگام نصب ویندوز ممکن است اتفاق بیافتد، خطاهای زیر است : &#160; Windows cannot be installed to this disk. The selected disk is not of the GPT partition style یا Windows [&#8230;]</p>
<p>نوشته <a href="https://matlab1.ir/%d8%ae%d8%b7%d8%a7%db%8c-%d9%86%d8%b5%d8%a8-%d9%88%db%8c%d9%86%d8%af%d9%88%d8%b2/">خطای نصب ویندوز</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></description>
										<content:encoded><![CDATA[<p>یکی از خطاهای هنگام نصب ویندوز ممکن است اتفاق بیافتد، خطاهای زیر است :</p>
<p>&nbsp;</p>
<p dir="ltr"><em>Windows cannot be installed to this disk</em>. The selected <em>disk</em> is not of the GPT partition style</p>
<p dir="ltr">یا</p>
<p dir="ltr">Windows cannot be installed to this disk The selected disk is of the GPT partition style FIX</p>
<p>خیلی از سایت ها روش های زیادی را برای حل این مشکل ارائه می دهند</p>
<p>مثل    تغییر BIOS type از  UEFI به legancy</p>
<p>مثل   Shift+f10 و دستورات diskpart  و convert gpt</p>
<p>مثل نصب برنامه EaseUS Partition Master که قابلیت اجرا به صورت boot را دارا می باشد و ویژگی های زیادی دارد که تنها در نسخه پولی آن میتواند این مشکل را حل کند. (یک جایگزین خوب برای EaseUS Partition Master استفاده از Disk managment خود ویندوز هست که کاملا رایگانه )</p>
<p>&nbsp;</p>
<p><strong>اما</strong></p>
<p>روشی که برای من جواب داد و فکر کردم شاید به درد شخص دیگری هم بخورد را در اینجا مطرح می کنم.</p>
<p>&nbsp;</p>
<p>من برای ساخت فلش نصب ویندوز از نرم افزار Rufus استفاده کردم.</p>
<p>این نرم افزار چیه؟ یک نرم افزار عالی و رایگان که برای شما فلش های قابل بوت می سازد.</p>
<p>یک بخش تنظیمات در این نرم فزار هست که اگر به فرمت هاردی که می خواهید ویندوز بر روی آن نصب شود، دقت نکنید خطای مورد نظر را می بینید.</p>
<p>&nbsp;</p>
<p>لذا یک بار دیگر به نرم افزار Rufus برگردید و گزینه partition scheme را تغییر دهید و دوباره فلش نصب ویندوز را بسازید.</p>
<p style="text-align: center;"><img fetchpriority="high" decoding="async" class="aligncenter wp-image-14536 size-full" src="https://matlab1.ir/wp-content/uploads/2021/02/rufus-windows.jpg" alt="" width="471" height="650" srcset="https://matlab1.ir/wp-content/uploads/2021/02/rufus-windows.jpg 471w, https://matlab1.ir/wp-content/uploads/2021/02/rufus-windows-217x300.jpg 217w" sizes="(max-width: 471px) 100vw, 471px" /></p>
<p>&nbsp;</p>
<p>نوشته <a href="https://matlab1.ir/%d8%ae%d8%b7%d8%a7%db%8c-%d9%86%d8%b5%d8%a8-%d9%88%db%8c%d9%86%d8%af%d9%88%d8%b2/">خطای نصب ویندوز</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://matlab1.ir/%d8%ae%d8%b7%d8%a7%db%8c-%d9%86%d8%b5%d8%a8-%d9%88%db%8c%d9%86%d8%af%d9%88%d8%b2/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>این کاراکتر چیست؟ 65279</title>
		<link>https://matlab1.ir/%d8%a7%db%8c%d9%86-%da%a9%d8%a7%d8%b1%d8%a7%da%a9%d8%aa%d8%b1-%da%86%db%8c%d8%b3%d8%aa%d8%9f-65279/</link>
					<comments>https://matlab1.ir/%d8%a7%db%8c%d9%86-%da%a9%d8%a7%d8%b1%d8%a7%da%a9%d8%aa%d8%b1-%da%86%db%8c%d8%b3%d8%aa%d8%9f-65279/#comments</comments>
		
		<dc:creator><![CDATA[ایران متلب]]></dc:creator>
		<pubDate>Fri, 13 Nov 2020 13:49:52 +0000</pubDate>
				<category><![CDATA[آموزش]]></category>
		<category><![CDATA[MATLAB متلب]]></category>
		<category><![CDATA[نکات برنامه نویسی]]></category>
		<guid isPermaLink="false">https://matlab1.ir/?p=14494</guid>

					<description><![CDATA[<p>سلام بر بچه ها یکی از مشکلاتی که در برنامه نویسی ممکن است به آن برخورد کنید، برخورد با کاراکتر ascii با کد 65279 می باشد. این مشکل بیشر در هنگام خواندن [&#8230;]</p>
<p>نوشته <a href="https://matlab1.ir/%d8%a7%db%8c%d9%86-%da%a9%d8%a7%d8%b1%d8%a7%da%a9%d8%aa%d8%b1-%da%86%db%8c%d8%b3%d8%aa%d8%9f-65279/">این کاراکتر چیست؟ 65279</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></description>
										<content:encoded><![CDATA[<p>سلام بر بچه ها</p>
<p>یکی از مشکلاتی که در برنامه نویسی ممکن است به آن برخورد کنید، برخورد با کاراکتر ascii با کد 65279 می باشد.</p>
<p>این مشکل بیشر در هنگام خواندن فایلها رخ می دهد.</p>
<p>این مشکل ربطی به زبان برنامه نویسی شما ندارد در همه زبان های برنامه نویسی ممکن است رخ دهد.</p>
<p>این کاراکتر به اسم</p>
<p><strong><span style="color: #ff0000;">zero-width no-break space</span></strong></p>
<p>شناخته می شود و بیشتر هنگامی رخ می دهد که فایل شما به صورت<br />
<strong><span style="color: #008000;">byte-order mark (BOM)</span></strong><br />
ذخیره شده باشد.</p>
<p>لذا کافی است که فایل خود را بدون این ویژگی ذخیره کنید.</p>
<p>مثلا فرض کنید من فایل زیر را می خوانم.</p>
<p>fid=fopen(&#8216;retio.sr&#8217;,&#8217;r&#8217;);</p>
<p>با دستور زیر هر خط آنرا به ترتیب در یک حلقه می خوانم</p>
<p>tline = fgetl(fid)</p>
<p>فرض کنید عدد 1 در اولین خط آن قرار داشته باشد.</p>
<p>شما این خط را می خوانید و با کمال تعجب می بینید که چیزی که خواندید دارای 2 بعد می باشد.</p>
<p>بعد اول چیزی که خواندید همین کاراکتر اسکی 65279 می باشد.</p>
<p>اگر خروجی tline را چاپ کنید تنها عدد 1 را می بینید و این کد اسکی مخفی است.</p>
<p>برای دیدن این کد کافی است tline را به دستور double بفرستید.</p>
<p>&nbsp;</p>
<p>نوشته <a href="https://matlab1.ir/%d8%a7%db%8c%d9%86-%da%a9%d8%a7%d8%b1%d8%a7%da%a9%d8%aa%d8%b1-%da%86%db%8c%d8%b3%d8%aa%d8%9f-65279/">این کاراکتر چیست؟ 65279</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://matlab1.ir/%d8%a7%db%8c%d9%86-%da%a9%d8%a7%d8%b1%d8%a7%da%a9%d8%aa%d8%b1-%da%86%db%8c%d8%b3%d8%aa%d8%9f-65279/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>یک روش حذف malware و spam از روی سایت وردپرس</title>
		<link>https://matlab1.ir/%db%8c%da%a9-%d8%b1%d9%88%d8%b4-%d8%ad%d8%b0%d9%81-malware-%d9%88-spam-%d8%a7%d8%b2-%d8%b1%d9%88%db%8c-%d8%b3%d8%a7%db%8c%d8%aa-%d9%88%d8%b1%d8%af%d9%be%d8%b1%d8%b3/</link>
					<comments>https://matlab1.ir/%db%8c%da%a9-%d8%b1%d9%88%d8%b4-%d8%ad%d8%b0%d9%81-malware-%d9%88-spam-%d8%a7%d8%b2-%d8%b1%d9%88%db%8c-%d8%b3%d8%a7%db%8c%d8%aa-%d9%88%d8%b1%d8%af%d9%be%d8%b1%d8%b3/#respond</comments>
		
		<dc:creator><![CDATA[ایران متلب]]></dc:creator>
		<pubDate>Tue, 30 Jun 2020 05:03:36 +0000</pubDate>
				<category><![CDATA[آموزش]]></category>
		<guid isPermaLink="false">https://matlab1.ir/?p=14388</guid>

					<description><![CDATA[<p>برای چندین روز بود که با خطای High CPU مواجه شدم. بعد از جستجوی مسیر های سایت متوجه حضور تعدادی کدهای غیرعادی در هاستم شدم. هر چی گشتم نتوانستم همه این کدها [&#8230;]</p>
<p>نوشته <a href="https://matlab1.ir/%db%8c%da%a9-%d8%b1%d9%88%d8%b4-%d8%ad%d8%b0%d9%81-malware-%d9%88-spam-%d8%a7%d8%b2-%d8%b1%d9%88%db%8c-%d8%b3%d8%a7%db%8c%d8%aa-%d9%88%d8%b1%d8%af%d9%be%d8%b1%d8%b3/">یک روش حذف malware و spam از روی سایت وردپرس</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></description>
										<content:encoded><![CDATA[<p>برای چندین روز بود که با خطای</p>
<p>High CPU</p>
<p>مواجه شدم. بعد از جستجوی مسیر های سایت متوجه حضور تعدادی کدهای غیرعادی در هاستم شدم.</p>
<p>هر چی گشتم نتوانستم همه این کدها را پیدا کنم چون بسیار حرفه ای در بین فایلهای دیگر قرار گرفه بودند.</p>
<p>بعد از کلی جستجو در اینترنت راههای زیر به من کمک شایانی کرد.</p>
<p>&nbsp;</p>
<p>۱) Wordfence</p>
<p>این پلاگین ابزار برای اسکن سایت دارد که تمامی نفوذها را به خوبی &#x200d;پیدا می کند.</p>
<p>وقتی برای شما تعدادی فایل را پیدا کرد اکنون شما یکی از این فایلها را باز کنید و متوجه نحوه نفوذ به سایت خود خواهید شد که هکر از چه کدی استفاده کرده است.</p>
<p>&nbsp;</p>
<p>۲) سپس تم</p>
<p>نوشته <a href="https://matlab1.ir/%db%8c%da%a9-%d8%b1%d9%88%d8%b4-%d8%ad%d8%b0%d9%81-malware-%d9%88-spam-%d8%a7%d8%b2-%d8%b1%d9%88%db%8c-%d8%b3%d8%a7%db%8c%d8%aa-%d9%88%d8%b1%d8%af%d9%be%d8%b1%d8%b3/">یک روش حذف malware و spam از روی سایت وردپرس</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://matlab1.ir/%db%8c%da%a9-%d8%b1%d9%88%d8%b4-%d8%ad%d8%b0%d9%81-malware-%d9%88-spam-%d8%a7%d8%b2-%d8%b1%d9%88%db%8c-%d8%b3%d8%a7%db%8c%d8%aa-%d9%88%d8%b1%d8%af%d9%be%d8%b1%d8%b3/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>بسته آموزشی جامع یادگیری عمیق Deep Learning</title>
		<link>https://matlab1.ir/%d8%a8%d8%b3%d8%aa%d9%87-%d8%a2%d9%85%d9%88%d8%b2%d8%b4%db%8c-%d8%ac%d8%a7%d9%85%d8%b9-%db%8c%d8%a7%d8%af%da%af%db%8c%d8%b1%db%8c-%d8%b9%d9%85%db%8c%d9%82-deep-learning/</link>
					<comments>https://matlab1.ir/%d8%a8%d8%b3%d8%aa%d9%87-%d8%a2%d9%85%d9%88%d8%b2%d8%b4%db%8c-%d8%ac%d8%a7%d9%85%d8%b9-%db%8c%d8%a7%d8%af%da%af%db%8c%d8%b1%db%8c-%d8%b9%d9%85%db%8c%d9%82-deep-learning/#respond</comments>
		
		<dc:creator><![CDATA[ایران متلب]]></dc:creator>
		<pubDate>Thu, 09 Apr 2020 14:08:04 +0000</pubDate>
				<category><![CDATA[آموزش]]></category>
		<category><![CDATA[آموزش python]]></category>
		<category><![CDATA[آموزش پردازش تصویر]]></category>
		<category><![CDATA[MATLAB متلب]]></category>
		<category><![CDATA[داده كاوي]]></category>
		<category><![CDATA[شبکه عصبی CNN]]></category>
		<category><![CDATA[شبکه عصبی در پایتون]]></category>
		<category><![CDATA[شبکه های عصبی]]></category>
		<category><![CDATA[هوش مصنوعی]]></category>
		<category><![CDATA[یادگیری عمیق]]></category>
		<category><![CDATA[یادگیری ماشین در پایتون]]></category>
		<category><![CDATA[آموزش دیپ لرنینگ]]></category>
		<category><![CDATA[deep learning]]></category>
		<category><![CDATA[deep learning MATLAB]]></category>
		<category><![CDATA[Deep Neural Networks]]></category>
		<category><![CDATA[pretrained neural networks]]></category>
		<category><![CDATA[transfer learning MATLAB]]></category>
		<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>
		<guid isPermaLink="false">https://matlab1.ir/?p=14107</guid>

					<description><![CDATA[<p>یکی از زمینه های بسیار جذاب و پرکاربرد در قرن اخیر هوش مصنوعی می باشد. هم اکنون کاربردهای بسیار زیادی برای هوش مصنوعی در جهان اطراف ما قابل مشاهده است مثل ماشین [&#8230;]</p>
<p>نوشته <a href="https://matlab1.ir/%d8%a8%d8%b3%d8%aa%d9%87-%d8%a2%d9%85%d9%88%d8%b2%d8%b4%db%8c-%d8%ac%d8%a7%d9%85%d8%b9-%db%8c%d8%a7%d8%af%da%af%db%8c%d8%b1%db%8c-%d8%b9%d9%85%db%8c%d9%82-deep-learning/">بسته آموزشی جامع یادگیری عمیق Deep Learning</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></description>
										<content:encoded><![CDATA[<figure id="attachment_15065" aria-describedby="caption-attachment-15065" style="width: 800px" class="wp-caption aligncenter"><img decoding="async" class="size-full wp-image-15065" src="http://iran-matlab.ir/wp-content/uploads/2020/04/Artificial-Intelligence2.jpg" alt="" width="800" height="340" /><figcaption id="caption-attachment-15065" class="wp-caption-text">هوش مصنوعی &#8211; یادگیری عمیق</figcaption></figure>
<p style="text-align: justify;"><span style="font-size: 14pt;">یکی از زمینه های بسیار جذاب و پرکاربرد در قرن اخیر هوش مصنوعی می باشد. هم اکنون کاربردهای بسیار زیادی برای هوش مصنوعی در جهان اطراف ما قابل مشاهده است مثل ماشین های بدون راننده ، دستیاران صوتی، مترجم های آنلاین، رباتهای هوشمند، نرم افزارهای تشخیص بیماری ، الگوریتم های هوشمند داده کاوی، تشخیص چهره، ربات سخن گو، پیش بینی بورس و نمودارهای مالی .</span></p>
<figure id="attachment_15066" aria-describedby="caption-attachment-15066" style="width: 800px" class="wp-caption aligncenter"><img decoding="async" class="size-full wp-image-15066" src="http://iran-matlab.ir/wp-content/uploads/2020/04/Artificial-Intelligence.jpg" alt="" width="800" height="450" /><figcaption id="caption-attachment-15066" class="wp-caption-text">هوش مصنوعی &#8211; یادگیری عمیق &#8211; کاربرد</figcaption></figure>
<p style="text-align: justify;"><span style="font-size: 14pt;">هوش مصنوعی دانش بسیار گسترده ای می باشد که بخشی از آن یادگیری عمیق می باشد. یادگیری عمیق یکی از موضوعات بسیار داغ و جذاب می باشد که علاقه مندان بسیار زیادی پیدا کرده است. یکی از دلایل این علاقه سادگی کار و نتایج حیرت کننده حاصل از آن می باشد. به عنوان مثال برای تشخیص یک شی در تصویر، اگر بخواهید از روشهای قدیمی استفاده کنید باید استخراج ویژگی انجام دهید و سپس یک مدل دسته بندی کننده انتخاب کنید. این فرایند بسیار زمان بر و تخصصی می باشد و می بایست یک فرد متخصص نوع ویژگی ها و پارامترهای آنها را تنظیم کند. اما با یادگیری عمیق شما فقط کافی است که ساختار مدل خود را طراحی کنید و نیازی به مرحله استخراج ویژگی ندارید و تمامی فرایند توسط لایه های مدل یادگیری عمیق انجام می شود.</span></p>
<p style="text-align: justify;"><span style="font-size: 14pt;">دلیل بعدی جذابیت کار در یادگیری عمیق ، مدلهای آماده بسیار زیاد موجود می باشد که فرایند طراحی و آموزش و تست را بسیار کوتاه می کند و شما با توجه به مفهوم transfer learning یک مدل آماده را برای کاربرد خود تغییر می دهید. یعنی دیگر لازم نیست چرخ را از اول اختراع کنید و همه فرایند سخت و طاقت فرسای طراحی مدل هوشمند خود را از صفر شروع کنید. الان مدلهای آماده ای وجود دارند که با دقت بالایی می توانند 1000 کلاس مختلف تصویری را شناسایی کنند. یعنی شما مدل را import می کنید و تصویر بهش می دهید و برای شما کار شناسایی را انجام می دهد. به عبارت ساده تر هولو برو تو گلو. 🙂</span></p>
<p>&nbsp;</p>
<p style="text-align: center;"><a href="http://iran-matlab.ir/?product=%d8%a8%d8%b3%d8%aa%d9%87-%d8%a2%d9%85%d9%88%d8%b2%d8%b4%db%8c-%d8%ac%d8%a7%d9%85%d8%b9-%db%8c%d8%a7%d8%af%da%af%db%8c%d8%b1%db%8c-%d8%b9%d9%85%db%8c%d9%82-deep-learning" target="_blank" rel="noopener noreferrer"><span style="font-size: 48pt;">لینک سفارش</span></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<hr />
<p style="text-align: center;"><strong>قسمت اول</strong></p>
<p style="text-align: center;"><strong>مبانی و مقدمات یادگیری عمیق</strong></p>
<p style="text-align: center;"><a href="http://iran-matlab.ir/?product=%d9%85%d8%a8%d8%a7%d9%86%db%8c-%d9%88-%d9%85%d9%82%d8%af%d9%85%d8%a7%d8%aa-%db%8c%d8%a7%d8%af%da%af%db%8c%d8%b1%db%8c-%d8%b9%d9%85%db%8c%d9%82" target="_blank" rel="noopener noreferrer"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-15074" src="http://iran-matlab.ir/wp-content/uploads/2020/04/deep-learning-course-packages-2.png" alt="" width="400" height="400" /></a></p>
<p>&nbsp;</p>
<hr />
<p style="text-align: center;"><strong>قسمت دوم </strong></p>
<p style="text-align: center;"><strong>پیاده سازی و برنامه نویسی در متلب</strong></p>
<p style="text-align: center;"><a href="http://iran-matlab.ir/?product=%d9%be%db%8c%d8%a7%d8%af%d9%87-%d8%b3%d8%a7%d8%b2%db%8c-%d9%88-%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87-%d9%86%d9%88%db%8c%d8%b3%db%8c-matlab-%db%8c%d8%a7%d8%af%da%af%db%8c%d8%b1%db%8c-%d8%b9%d9%85%db%8c" target="_blank" rel="noopener noreferrer"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-15079" src="http://iran-matlab.ir/wp-content/uploads/2020/04/deep-learning-course-MATLAB-programming-design.png" alt="" width="400" height="400" /></a></p>
<p>&nbsp;</p>
<hr />
<p><span style="color: #ff6600;"><strong><span style="font-size: 14pt;">مدرس :</span></strong></span></p>
<p><span style="font-size: 14pt;"><strong>قیصری</strong> (مدیر گروه ایران متلب با سابقه 15 ساله در متلب و زبان های مختلف برنامه نویسی)</span></p>
<p>&nbsp;</p>
<p>نوشته <a href="https://matlab1.ir/%d8%a8%d8%b3%d8%aa%d9%87-%d8%a2%d9%85%d9%88%d8%b2%d8%b4%db%8c-%d8%ac%d8%a7%d9%85%d8%b9-%db%8c%d8%a7%d8%af%da%af%db%8c%d8%b1%db%8c-%d8%b9%d9%85%db%8c%d9%82-deep-learning/">بسته آموزشی جامع یادگیری عمیق Deep Learning</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://matlab1.ir/%d8%a8%d8%b3%d8%aa%d9%87-%d8%a2%d9%85%d9%88%d8%b2%d8%b4%db%8c-%d8%ac%d8%a7%d9%85%d8%b9-%db%8c%d8%a7%d8%af%da%af%db%8c%d8%b1%db%8c-%d8%b9%d9%85%db%8c%d9%82-deep-learning/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>minimum_swaps</title>
		<link>https://matlab1.ir/minimum_swaps/</link>
					<comments>https://matlab1.ir/minimum_swaps/#respond</comments>
		
		<dc:creator><![CDATA[ایران متلب]]></dc:creator>
		<pubDate>Fri, 25 Oct 2019 05:03:39 +0000</pubDate>
				<category><![CDATA[آموزش]]></category>
		<guid isPermaLink="false">https://matlab1.ir/?p=14066</guid>

					<description><![CDATA[<p>def minimum_swaps(ratings): cr = ratings.copy() for i,x in enumerate(ratings): max_x = max(ratings) idx = ratings.index(max_x) #print(i, idx, max_x, cr) if 1 : #idx+i&#60;=len(cr): print(max_x,i,idx,cr,ratings) cr[i]=max_x cr[idx+i]=ratings[0] ratings = cr[i::] del ratings[0] print(ratings) [&#8230;]</p>
<p>نوشته <a href="https://matlab1.ir/minimum_swaps/">minimum_swaps</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></description>
										<content:encoded><![CDATA[<p dir="ltr">
<p dir="ltr">
<p dir="ltr">def minimum_swaps(ratings):<br />
cr = ratings.copy()<br />
for i,x in enumerate(ratings):<br />
max_x = max(ratings)<br />
idx = ratings.index(max_x)<br />
#print(i, idx, max_x, cr)<br />
if 1 : #idx+i&lt;=len(cr):<br />
print(max_x,i,idx,cr,ratings)<br />
cr[i]=max_x<br />
cr[idx+i]=ratings[0]</p>
<p dir="ltr">ratings = cr[i::]<br />
del ratings[0]<br />
print(ratings)</p>
<p dir="ltr">print(minimum_swaps([8,3,9,1,5]))</p>
<p dir="ltr">
<p dir="ltr">
<p>نوشته <a href="https://matlab1.ir/minimum_swaps/">minimum_swaps</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://matlab1.ir/minimum_swaps/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Bubble Sort Algorithm in Python</title>
		<link>https://matlab1.ir/bubble-sort-algorithm-in-python/</link>
					<comments>https://matlab1.ir/bubble-sort-algorithm-in-python/#respond</comments>
		
		<dc:creator><![CDATA[ایران متلب]]></dc:creator>
		<pubDate>Mon, 21 Oct 2019 07:45:17 +0000</pubDate>
				<category><![CDATA[آموزش]]></category>
		<category><![CDATA[آموزش python]]></category>
		<guid isPermaLink="false">https://matlab1.ir/?p=14060</guid>

					<description><![CDATA[<p>import string import os import random def bubbleSort(arr): L = len(arr)-1 for j in range(L): for i in range(L): if arr[i]&#62;=arr[i+1]: ari = arr[i] ari1 = arr[i+1] arr[i]=ari1 arr[i+1]=ari print(arr) return arr [&#8230;]</p>
<p>نوشته <a href="https://matlab1.ir/bubble-sort-algorithm-in-python/">Bubble Sort Algorithm in Python</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></description>
										<content:encoded><![CDATA[<p dir="ltr">import string<br />
import os<br />
import random</p>
<p dir="ltr">def bubbleSort(arr):<br />
L = len(arr)-1<br />
for j in range(L):<br />
for i in range(L):<br />
if arr[i]&gt;=arr[i+1]:<br />
ari = arr[i]<br />
ari1 = arr[i+1]<br />
arr[i]=ari1<br />
arr[i+1]=ari<br />
print(arr)<br />
return arr</p>
<p dir="ltr">
<p dir="ltr">
<p dir="ltr">ar3 = [50,6,90,800,4,56,33,2100,400]<br />
print(bubbleSort(ar3))</p>
<p>نوشته <a href="https://matlab1.ir/bubble-sort-algorithm-in-python/">Bubble Sort Algorithm in Python</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://matlab1.ir/bubble-sort-algorithm-in-python/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
