<?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/feed/" rel="self" type="application/rss+xml" />
	<link>https://matlab1.ir/</link>
	<description>مرجع فیلم های آموزشی فارسی دانشگاهی و مهندسی</description>
	<lastBuildDate>Sun, 30 Aug 2026 11:03:08 +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/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<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 = 10; b = 20; c = a + b; disp(c) %} تمام کدهایی که بین %{ و %} قرار بگیرند، توسط MATLAB نادیده [&#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 تقسیم کنید. برای ساختن یک Section کافی است در ابتدای آن از دو علامت درصد استفاده کنید: %% Load Data A = rand(100); %% Process [&#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) اگر این دستور را چند بار اجرا کنید، هر بار خروجی جدیدی خواهید دید. این رفتار طبیعی است، چون MATLAB برای تولید اعداد شبه‌تصادفی از یک وضعیت داخلی یا Random Number Generator [&#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 است. مثلاً برای تابع fft بنویسید: which fft MATLAB مسیر فایلی را که این تابع از آن اجرا می‌شود نمایش می‌دهد. از روی این [&#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/%d9%81%db%8c%d9%84%d9%85-%d8%ac%d8%a7%d9%85%d8%b9-%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d9%81%d8%a7%d8%b1%d8%b3%db%8c-%d8%a7%d9%84%da%af%d9%88%d8%b1%db%8c%d8%aa%d9%85-%da%98%d9%86%d8%aa%db%8c%da%a9-%d8%af-2/</link>
					<comments>https://matlab1.ir/%d9%81%db%8c%d9%84%d9%85-%d8%ac%d8%a7%d9%85%d8%b9-%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d9%81%d8%a7%d8%b1%d8%b3%db%8c-%d8%a7%d9%84%da%af%d9%88%d8%b1%db%8c%d8%aa%d9%85-%da%98%d9%86%d8%aa%db%8c%da%a9-%d8%af-2/#respond</comments>
		
		<dc:creator><![CDATA[ایران متلب]]></dc:creator>
		<pubDate>Sun, 30 Aug 2026 11:03:08 +0000</pubDate>
				<category><![CDATA[MATLAB متلب]]></category>
		<category><![CDATA[هوش مصنوعی]]></category>
		<category><![CDATA[Artificial intelligence]]></category>
		<category><![CDATA[آموزش الگوریتم ژنتیک]]></category>
		<category><![CDATA[آموزش الگوریتم ژنتیک MATLAB]]></category>
		<category><![CDATA[آموزش GA در متلب]]></category>
		<category><![CDATA[آموزش GENETIC ALGORITHM]]></category>
		<category><![CDATA[آموزش MATLAB]]></category>
		<category><![CDATA[آموزش متلب]]></category>
		<category><![CDATA[آمیختگی الگوریتم ژنتیک]]></category>
		<category><![CDATA[الگوریتم تکاملی]]></category>
		<category><![CDATA[الگوریتم ژنتیک]]></category>
		<category><![CDATA[الگوریتم ژنتیک باینری]]></category>
		<category><![CDATA[الگوریتم ژنتیک برای پایان نامه]]></category>
		<category><![CDATA[الگوریتم ژنتیک در متلب]]></category>
		<category><![CDATA[الگوریتم فراابتکاری]]></category>
		<category><![CDATA[انتخاب تورنومنت]]></category>
		<category><![CDATA[انتخاب در الگوریتم ژنتیک]]></category>
		<category><![CDATA[انتخاب ویژگی با الگوریتم ژنتیک]]></category>
		<category><![CDATA[Binary Encoding]]></category>
		<category><![CDATA[binary genetic algorithm]]></category>
		<category><![CDATA[Chromosome Encoding]]></category>
		<category><![CDATA[Chromosome GA]]></category>
		<category><![CDATA[Computational Intelligence]]></category>
		<category><![CDATA[Convergence Curve]]></category>
		<category><![CDATA[Cost Function]]></category>
		<category><![CDATA[Crossover]]></category>
		<category><![CDATA[Crossover Probability]]></category>
		<category><![CDATA[Elitism]]></category>
		<category><![CDATA[Elitist Selection]]></category>
		<category><![CDATA[Evolutionary Algorithm]]></category>
		<category><![CDATA[Evolutionary Computation]]></category>
		<category><![CDATA[Feature Selection GA]]></category>
		<category><![CDATA[Fitness Function]]></category>
		<category><![CDATA[GA]]></category>
		<category><![CDATA[GA Convergence]]></category>
		<category><![CDATA[GA MATLAB]]></category>
		<category><![CDATA[Gene GA]]></category>
		<category><![CDATA[Generation]]></category>
		<category><![CDATA[genetic algorithm]]></category>
		<category><![CDATA[Genetic Algorithm Code]]></category>
		<category><![CDATA[Genetic Algorithm Control]]></category>
		<category><![CDATA[Genetic Algorithm Feature Selection]]></category>
		<category><![CDATA[Genetic Algorithm MATLAB]]></category>
		<category><![CDATA[Genetic Algorithm Scheduling]]></category>
		<category><![CDATA[Genetic Algorithm Tutorial]]></category>
		<category><![CDATA[Global Minimum]]></category>
		<category><![CDATA[Global Optimization]]></category>
		<category><![CDATA[Hyperparameter Optimization GA]]></category>
		<category><![CDATA[Initial Population]]></category>
		<category><![CDATA[Local Minimum]]></category>
		<category><![CDATA[MATLAB Genetic Algorithm Code]]></category>
		<category><![CDATA[MATLAB Optimization]]></category>
		<category><![CDATA[MATLAB Optimization Tutorial]]></category>
		<category><![CDATA[Metaheuristic]]></category>
		<category><![CDATA[Metaheuristic Algorithm]]></category>
		<category><![CDATA[Multi Point Crossover]]></category>
		<category><![CDATA[Mutation]]></category>
		<category><![CDATA[Mutation Operator]]></category>
		<category><![CDATA[Mutation Probability]]></category>
		<category><![CDATA[Neural Network Genetic Algorithm]]></category>
		<category><![CDATA[Objective Function]]></category>
		<category><![CDATA[Optimization]]></category>
		<category><![CDATA[Optimization Algorithm]]></category>
		<category><![CDATA[Population]]></category>
		<category><![CDATA[Power System GA]]></category>
		<category><![CDATA[Premature Convergence]]></category>
		<category><![CDATA[Random Population]]></category>
		<category><![CDATA[Real Coded Genetic Algorithm]]></category>
		<category><![CDATA[Real Encoding]]></category>
		<category><![CDATA[Real Valued GA]]></category>
		<category><![CDATA[Roulette Wheel Selection]]></category>
		<category><![CDATA[Selection]]></category>
		<category><![CDATA[Single Point Crossover]]></category>
		<category><![CDATA[Tournament Selection]]></category>
		<category><![CDATA[Two Point Crossover]]></category>
		<category><![CDATA[Uniform Crossover]]></category>
		<category><![CDATA[بهینه سازی]]></category>
		<category><![CDATA[بهینه سازی در متلب]]></category>
		<category><![CDATA[بهینه سازی سراسری]]></category>
		<category><![CDATA[پایان نامه الگوریتم ژنتیک]]></category>
		<category><![CDATA[پروژه الگوریتم ژنتیک]]></category>
		<category><![CDATA[پروژه GA]]></category>
		<category><![CDATA[تابع برازندگی]]></category>
		<category><![CDATA[تابع هدف]]></category>
		<category><![CDATA[تنظیم پارامتر با الگوریتم ژنتیک]]></category>
		<category><![CDATA[تولید جمعیت اولیه]]></category>
		<category><![CDATA[جمعیت الگوریتم ژنتیک]]></category>
		<category><![CDATA[جهش الگوریتم ژنتیک]]></category>
		<category><![CDATA[چرخ رولت]]></category>
		<category><![CDATA[زمان بندی با الگوریتم ژنتیک]]></category>
		<category><![CDATA[ژن الگوریتم ژنتیک]]></category>
		<category><![CDATA[سیستم قدرت الگوریتم ژنتیک]]></category>
		<category><![CDATA[شبکه عصبی و الگوریتم ژنتیک]]></category>
		<category><![CDATA[عملگر Crossover]]></category>
		<category><![CDATA[کدگذاری کروموزوم]]></category>
		<category><![CDATA[کدنویسی الگوریتم ژنتیک]]></category>
		<category><![CDATA[کروموزوم الگوریتم ژنتیک]]></category>
		<category><![CDATA[کنترل با الگوریتم ژنتیک]]></category>
		<category><![CDATA[محاسبات تکاملی]]></category>
		<category><![CDATA[مقاله الگوریتم ژنتیک]]></category>
		<category><![CDATA[نخبه گرایی]]></category>
		<category><![CDATA[نسل الگوریتم ژنتیک]]></category>
		<category><![CDATA[نمودار همگرایی]]></category>
		<category><![CDATA[همگرایی زودرس]]></category>
		<category><![CDATA[هوش محاسباتی]]></category>
		<guid isPermaLink="false">https://matlab1.ir/?p=14871</guid>

					<description><![CDATA[<p>الگوریتم ژنتیک یا Genetic Algorithm (GA) یکی از شناخته‌شده‌ترین روش‌های بهینه‌سازی تکاملی است که از مفاهیم انتخاب طبیعی و ژنتیک الهام گرفته شده است. این الگوریتم به جای بررسی مستقیم همه جواب‌های ممکن، با یک جمعیت از جواب‌های اولیه شروع می‌کند و با استفاده از عملگرهایی مانند انتخاب، آمیختگی و جهش، نسل‌های جدیدی از جواب‌ها [&#8230;]</p>
<p>نوشته <a href="https://matlab1.ir/%d9%81%db%8c%d9%84%d9%85-%d8%ac%d8%a7%d9%85%d8%b9-%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d9%81%d8%a7%d8%b1%d8%b3%db%8c-%d8%a7%d9%84%da%af%d9%88%d8%b1%db%8c%d8%aa%d9%85-%da%98%d9%86%d8%aa%db%8c%da%a9-%d8%af-2/">فیلم جامع آموزش فارسی الگوریتم ژنتیک در MATLAB</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>الگوریتم ژنتیک یا Genetic Algorithm (GA)</strong> یکی از شناخته‌شده‌ترین روش‌های بهینه‌سازی تکاملی است که از مفاهیم انتخاب طبیعی و ژنتیک الهام گرفته شده است. این الگوریتم به جای بررسی مستقیم همه جواب‌های ممکن، با یک جمعیت از جواب‌های اولیه شروع می‌کند و با استفاده از عملگرهایی مانند انتخاب، آمیختگی و جهش، نسل‌های جدیدی از جواب‌ها را تولید می‌کند.</p>
<p>الگوریتم ژنتیک در بسیاری از مسائل بهینه‌سازی که فضای جستجوی بزرگ، غیرخطی یا پیچیده دارند قابل استفاده است و به همین دلیل در حوزه‌های مختلف مهندسی، هوش مصنوعی و علوم کاربرد فراوانی پیدا کرده است.</p>
<h3>الگوریتم ژنتیک چگونه کار می‌کند؟</h3>
<p>در یک مسئله بهینه‌سازی، ابتدا باید متغیرهای تصمیم مشخص شوند. سپس هر جواب ممکن به شکلی قابل استفاده برای الگوریتم نمایش داده می‌شود.</p>
<p>الگوریتم ژنتیک معمولاً با مراحل زیر اجرا می‌شود:</p>
<ol>
<li>تولید جمعیت اولیه</li>
<li>محاسبه مقدار تابع برازندگی</li>
<li>انتخاب والدین مناسب</li>
<li>انجام Crossover</li>
<li>اعمال Mutation</li>
<li>تولید نسل جدید</li>
<li>ارزیابی نسل جدید</li>
<li>تکرار مراحل تا رسیدن به شرط توقف</li>
</ol>
<p>هدف این فرایند آن است که با گذشت نسل‌ها، کیفیت جواب‌های موجود در جمعیت افزایش پیدا کند.</p>
<h3>کروموزوم در الگوریتم ژنتیک</h3>
<p>در GA هر جواب ممکن برای مسئله با یک <strong>Chromosome</strong> نمایش داده می‌شود.</p>
<p>کروموزوم شامل مجموعه‌ای از ژن‌ها است و هر ژن می‌تواند نماینده یکی از متغیرهای مسئله باشد.</p>
<p>برای مثال اگر مسئله دارای سه متغیر تصمیم باشد، یک کروموزوم می‌تواند اطلاعات مربوط به این سه متغیر را در خود نگه دارد.</p>
<p>نحوه نمایش کروموزوم اهمیت زیادی دارد، زیرا ساختار آن باید متناسب با مسئله بهینه‌سازی انتخاب شود.</p>
<h3>کدگذاری باینری و حقیقی</h3>
<p>یکی از روش‌های کلاسیک نمایش کروموزوم‌ها، <strong>Binary Encoding</strong> است. در این روش متغیرها به رشته‌های صفر و یک تبدیل می‌شوند.</p>
<p>با این حال برای بسیاری از مسائل مهندسی استفاده از <strong>Real-Valued Encoding</strong> مناسب‌تر است، زیرا متغیرها مستقیماً به صورت اعداد حقیقی نمایش داده می‌شوند.</p>
<p>انتخاب نوع کدگذاری به ساختار مسئله، نوع متغیرها و روش اعمال عملگرهای ژنتیکی بستگی دارد.</p>
<h3>Population یا جمعیت</h3>
<p>مجموعه‌ای از چند کروموزوم یک <strong>Population</strong> را تشکیل می‌دهد.</p>
<p>هر عضو جمعیت یک جواب احتمالی برای مسئله است. در ابتدای اجرای الگوریتم، جمعیت اولیه معمولاً به صورت تصادفی ایجاد می‌شود.</p>
<p>سپس در هر Generation جمعیت جدیدی تولید می‌شود که انتظار داریم نسبت به نسل‌های قبلی جواب‌های مناسب‌تری در آن وجود داشته باشد.</p>
<p>تعداد اعضای جمعیت یکی از پارامترهای مهم الگوریتم ژنتیک است.</p>
<h3>تابع هدف و Fitness Function</h3>
<p>یکی از مهم‌ترین مراحل استفاده از الگوریتم ژنتیک، تعریف صحیح <strong>Objective Function یا تابع هدف</strong> است.</p>
<p>الگوریتم باید بتواند کیفیت هر جواب را اندازه‌گیری کند. این کار از طریق Fitness Function انجام می‌شود.</p>
<p>برای مثال ممکن است هدف مسئله یکی از موارد زیر باشد:</p>
<ul>
<li>کمینه کردن هزینه</li>
<li>کمینه کردن خطا</li>
<li>بیشینه کردن سود</li>
<li>بیشینه کردن راندمان</li>
<li>کاهش مصرف انرژی</li>
<li>پیدا کردن بهترین پارامترهای یک مدل</li>
</ul>
<p>اگر تابع هدف به درستی تعریف نشود، حتی یک الگوریتم ژنتیک خوب نیز نمی‌تواند جواب مناسبی برای مسئله پیدا کند.</p>
<h3>Selection یا انتخاب</h3>
<p>بعد از محاسبه Fitness، باید مشخص شود کدام اعضای جمعیت برای تولید نسل بعد انتخاب شوند.</p>
<p>به این مرحله <strong>Selection</strong> گفته می‌شود.</p>
<p>در حالت کلی جواب‌هایی که Fitness بهتری دارند، شانس بیشتری برای انتقال ویژگی‌های خود به نسل بعد خواهند داشت.</p>
<p>روش‌های مختلفی برای Selection وجود دارد.</p>
<h3>Roulette Wheel Selection</h3>
<p>یکی از روش‌های معروف انتخاب در GA، <strong>Roulette Wheel Selection</strong> است.</p>
<p>در این روش احتمال انتخاب هر عضو با کیفیت یا Fitness آن ارتباط دارد.</p>
<p>به صورت مفهومی می‌توان یک چرخ رولت را تصور کرد که اعضای بهتر سهم بیشتری از آن را در اختیار دارند؛ بنابراین احتمال انتخاب آن‌ها بیشتر است.</p>
<p>با این حال اعضای ضعیف‌تر نیز احتمال صفر ندارند و همین موضوع به حفظ تنوع جمعیت کمک می‌کند.</p>
<h3>Tournament Selection</h3>
<p>روش <strong>Tournament Selection</strong> نیز یکی از روش‌های پرکاربرد انتخاب است.</p>
<p>در این روش چند عضو از جمعیت انتخاب شده و با یکدیگر مقایسه می‌شوند. سپس عضو مناسب‌تر به عنوان والد انتخاب می‌شود.</p>
<p>این عملیات چندین بار تکرار می‌شود تا تعداد کافی والد برای تولید نسل بعد در اختیار الگوریتم قرار گیرد.</p>
<h3>Elitism</h3>
<p>در الگوریتم ژنتیک ممکن است بهترین جواب یک نسل در هنگام Crossover و Mutation از بین برود.</p>
<p>برای جلوگیری از این اتفاق می‌توان از <strong>Elitism</strong> استفاده کرد.</p>
<p>در روش نخبه‌گرایی، تعدادی از بهترین اعضای جمعیت بدون تغییر مستقیماً به نسل بعد منتقل می‌شوند.</p>
<p>این کار کمک می‌کند بهترین جواب پیدا شده تا آن لحظه از دست نرود.</p>
<h3>Crossover یا آمیختگی</h3>
<p>یکی از اصلی‌ترین عملگرهای الگوریتم ژنتیک <strong>Crossover</strong> است.</p>
<p>در این مرحله دو کروموزوم والد انتخاب می‌شوند و بخش‌هایی از اطلاعات آن‌ها با یکدیگر ترکیب می‌شوند تا فرزندان جدیدی ایجاد شوند.</p>
<p>ایده اصلی این است که شاید ترکیب ویژگی‌های خوب دو والد بتواند یک جواب بهتر تولید کند.</p>
<h3>Single Point Crossover</h3>
<p>در <strong>Single Point Crossover</strong> یک نقطه روی کروموزوم انتخاب می‌شود.</p>
<p>قسمتی از ژن‌های بعد از این نقطه میان والدها جابه‌جا می‌شوند و به این ترتیب دو فرزند جدید ایجاد می‌شوند.</p>
<p>این روش یکی از ساده‌ترین روش‌های آمیختگی در الگوریتم ژنتیک است.</p>
<h3>Two-Point و Multi-Point Crossover</h3>
<p>در Two-Point Crossover دو نقطه روی کروموزوم مشخص می‌شود و بخش قرار گرفته بین این دو نقطه میان والدها جابه‌جا می‌شود.</p>
<p>اگر تعداد بیشتری نقطه Crossover داشته باشیم، با یک روش <strong>Multi-Point Crossover</strong> مواجه هستیم.</p>
<p>انتخاب روش مناسب Crossover می‌تواند روی سرعت و کیفیت جستجو تأثیر بگذارد.</p>
<h3>Uniform Crossover</h3>
<p>در <strong>Uniform Crossover</strong> انتخاب ژن‌های فرزند می‌تواند برای هر موقعیت به صورت جداگانه انجام شود.</p>
<p>در نتیجه ترکیب ژن‌های والدین انعطاف بیشتری نسبت به روش‌های تک‌نقطه‌ای دارد.</p>
<p>نوع Crossover باید با نوع کدگذاری کروموزوم و ساختار مسئله هماهنگ باشد.</p>
<h3>Mutation یا جهش</h3>
<p>اگر تنها از Selection و Crossover استفاده شود، احتمال دارد جمعیت به تدریج تنوع خود را از دست بدهد.</p>
<p><strong>Mutation</strong> برای ایجاد تغییرات تصادفی کوچک در کروموزوم‌ها استفاده می‌شود.</p>
<p>در کدگذاری باینری، Mutation می‌تواند یک بیت صفر را به یک یا برعکس تبدیل کند.</p>
<p>در کدگذاری حقیقی نیز می‌توان مقدار یکی از متغیرها را با یک تغییر تصادفی اصلاح کرد.</p>
<p>هدف Mutation حفظ تنوع ژنتیکی و کمک به الگوریتم برای جستجوی نواحی جدید فضای جواب است.</p>
<h3>تعادل Exploration و Exploitation</h3>
<p>یکی از موضوعات مهم در الگوریتم‌های بهینه‌سازی، ایجاد تعادل میان:</p>
<ul>
<li><strong>Exploration</strong>: جستجوی نواحی جدید</li>
<li><strong>Exploitation</strong>: بهبود جواب‌های خوب موجود</li>
</ul>
<p>است.</p>
<p>Selection و Elitism معمولاً الگوریتم را به سمت جواب‌های خوب هدایت می‌کنند، در حالی که Mutation و تنوع جمعیت کمک می‌کنند فضای بیشتری از جواب‌های ممکن بررسی شود.</p>
<p>تنظیم مناسب پارامترها برای ایجاد این تعادل اهمیت زیادی دارد.</p>
<h3>احتمال Crossover و Mutation</h3>
<p>دو پارامتر مهم GA عبارتند از:</p>
<ul>
<li>Crossover Probability</li>
<li>Mutation Probability</li>
</ul>
<p>اگر Mutation بسیار کم باشد ممکن است الگوریتم تنوع کافی نداشته باشد. اگر بیش از حد زیاد باشد، رفتار الگوریتم می‌تواند بیش از اندازه تصادفی شود.</p>
<p>همین موضوع درباره نرخ Crossover نیز وجود دارد.</p>
<p>در پروژه‌های عملی ممکن است لازم باشد چند مقدار مختلف برای این پارامترها آزمایش شود.</p>
<h3>شرط توقف الگوریتم</h3>
<p>الگوریتم ژنتیک نمی‌تواند برای همیشه اجرا شود و باید یک معیار برای پایان عملیات تعریف کنیم.</p>
<p>شرط توقف می‌تواند بر اساس یکی از موارد زیر باشد:</p>
<ul>
<li>رسیدن به تعداد مشخصی Generation</li>
<li>رسیدن Fitness به مقدار مورد نظر</li>
<li>عدم بهبود جواب طی چند نسل</li>
<li>رسیدن به محدودیت زمانی</li>
<li>رسیدن تغییرات Fitness به مقدار بسیار کم</li>
</ul>
<p>پس از تحقق شرط توقف، بهترین جواب موجود در جمعیت به عنوان جواب الگوریتم گزارش می‌شود.</p>
<h3>همگرایی زودرس</h3>
<p>یکی از مشکلات احتمالی الگوریتم ژنتیک، <strong>Premature Convergence</strong> است.</p>
<p>در این حالت اعضای جمعیت خیلی زود شبیه یکدیگر می‌شوند و الگوریتم در یک ناحیه از فضای جستجو متوقف می‌شود.</p>
<p>این مسئله می‌تواند باعث شود الگوریتم به یک جواب محلی برسد و جواب بهتر موجود در فضای جستجو را پیدا نکند.</p>
<p>تنظیم Mutation، اندازه Population و روش Selection در کاهش این مشکل اهمیت دارند.</p>
<h3>پیاده‌سازی الگوریتم ژنتیک در MATLAB</h3>
<p>تمرکز اصلی این دوره بر <strong>پیاده‌سازی عملی Genetic Algorithm در MATLAB</strong> است.</p>
<p>MATLAB محیط مناسبی برای پیاده‌سازی الگوریتم‌های بهینه‌سازی است، زیرا کار با بردارها، ماتریس‌ها، اعداد تصادفی، توابع و نمودارها در آن ساده است.</p>
<p>در یک پیاده‌سازی GA معمولاً بخش‌هایی برای موارد زیر نوشته می‌شوند:</p>
<ul>
<li>تعریف مسئله</li>
<li>تولید Population</li>
<li>محاسبه Cost</li>
<li>Selection</li>
<li>Crossover</li>
<li>Mutation</li>
<li>ذخیره بهترین جواب</li>
<li>رسم روند همگرایی</li>
</ul>
<p>درک این اجزا به کاربر اجازه می‌دهد الگوریتم را برای پروژه‌های متفاوت تغییر دهد.</p>
<h3>رسم نمودار همگرایی</h3>
<p>برای بررسی عملکرد GA معمولاً بهترین مقدار تابع هدف در هر نسل ذخیره می‌شود.</p>
<p>سپس می‌توان <strong>Convergence Curve</strong> را رسم کرد.</p>
<p>این نمودار نشان می‌دهد الگوریتم در طول نسل‌ها چگونه جواب مسئله را بهبود داده است.</p>
<p>با مشاهده نمودار همگرایی می‌توان درباره سرعت بهبود الگوریتم و نیاز احتمالی به تغییر پارامترها تصمیم‌گیری کرد.</p>
<h3>الگوریتم ژنتیک برای مسائل مهندسی</h3>
<p>Genetic Algorithm محدود به یک رشته خاص نیست و می‌توان آن را در بسیاری از مسائل مهندسی استفاده کرد.</p>
<p>نمونه‌هایی از کاربردهای آن عبارتند از:</p>
<ul>
<li>بهینه‌سازی طراحی</li>
<li>سیستم‌های قدرت</li>
<li>کنترل</li>
<li>مکان‌یابی</li>
<li>زمان‌بندی</li>
<li>مهندسی صنایع</li>
<li>انتخاب ویژگی</li>
<li>تنظیم پارامترهای مدل</li>
<li>طراحی شبکه عصبی</li>
<li>مدیریت انرژی</li>
<li>بهینه‌سازی سازه</li>
<li>مسائل اقتصادی</li>
</ul>
<p>نکته اصلی این است که مسئله باید به شکلی تعریف شود که متغیرهای تصمیم، تابع هدف و در صورت وجود قیود آن مشخص باشند.</p>
<h3>استفاده از GA در یادگیری ماشین</h3>
<p>الگوریتم ژنتیک می‌تواند در مسائل Machine Learning نیز استفاده شود.</p>
<p>برای مثال می‌توان از GA برای:</p>
<ul>
<li>Feature Selection</li>
<li>Hyperparameter Optimization</li>
<li>انتخاب ساختار مدل</li>
<li>تنظیم پارامترهای شبکه عصبی</li>
<li>انتخاب متغیرهای ورودی</li>
<li>کمینه کردن خطای مدل</li>
</ul>
<p>استفاده کرد.</p>
<p>در این حالت عملکرد مدل یادگیری ماشین می‌تواند در داخل تابع هدف محاسبه شود و GA به دنبال ترکیبی از پارامترها باشد که عملکرد بهتری ایجاد کند.</p>
<h3>این آموزش برای چه افرادی مناسب است؟</h3>
<p>این دوره برای افراد زیر می‌تواند مفید باشد:</p>
<ul>
<li>دانشجویان مهندسی برق</li>
<li>دانشجویان کامپیوتر و هوش مصنوعی</li>
<li>دانشجویان صنایع</li>
<li>دانشجویان مکانیک و عمران</li>
<li>پژوهشگران بهینه‌سازی</li>
<li>دانشجویان کارشناسی ارشد و دکتری</li>
<li>افرادی که در پایان‌نامه از GA استفاده می‌کنند</li>
<li>افرادی که قصد کدنویسی الگوریتم‌های تکاملی در MATLAB را دارند</li>
</ul>
<h3>پیش‌نیاز دوره</h3>
<p>پیش‌نیاز معرفی‌شده برای این محصول، آشنایی با مبانی <strong>بهینه‌سازی</strong> است.</p>
<p>قبل از پیاده‌سازی یک الگوریتم ژنتیک باید بتوانید متغیرهای تصمیم، تابع هدف، محدوده متغیرها و در صورت نیاز قیود مسئله را به درستی تعریف کنید.</p>
<p>همچنین آشنایی مقدماتی با MATLAB برای استفاده بهتر از بخش کدنویسی توصیه می‌شود.</p>
<h3>هدف این آموزش</h3>
<p>هدف این دوره آن است که مخاطب ابتدا اجزای اصلی Genetic Algorithm را به صورت مفهومی درک کرده و سپس نحوه تبدیل این اجزا به کد MATLAB را یاد بگیرد.</p>
<p>پس از مشاهده آموزش، کاربر باید دید روشن‌تری نسبت به Population، Chromosome، Fitness Function، Selection، Crossover، Mutation و Generation داشته باشد و بتواند ساختار الگوریتم را برای مسئله بهینه‌سازی خود توسعه دهد.</p>
<blockquote class="wp-embedded-content" data-secret="gXPX4nS9yd"><p><a href="https://iran-matlab.ir/product/%d9%81%db%8c%d9%84%d9%85-%d8%ac%d8%a7%d9%85%d8%b9-%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d9%81%d8%a7%d8%b1%d8%b3%db%8c-%d8%a7%d9%84%da%af%d9%88%d8%b1%db%8c%d8%aa%d9%85-%da%98%d9%86%d8%aa%db%8c%da%a9-%d8%af/">فیلم جامع آموزش فارسی الگوریتم ژنتیک در متلب MATLAB</a></p></blockquote>
<p><iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="“فیلم جامع آموزش فارسی الگوریتم ژنتیک در متلب MATLAB” — ایران متلب" src="https://iran-matlab.ir/product/%d9%81%db%8c%d9%84%d9%85-%d8%ac%d8%a7%d9%85%d8%b9-%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d9%81%d8%a7%d8%b1%d8%b3%db%8c-%d8%a7%d9%84%da%af%d9%88%d8%b1%db%8c%d8%aa%d9%85-%da%98%d9%86%d8%aa%db%8c%da%a9-%d8%af/embed/#?secret=tH3MtkLJOB#?secret=gXPX4nS9yd" data-secret="gXPX4nS9yd" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe></p>
<p>نوشته <a href="https://matlab1.ir/%d9%81%db%8c%d9%84%d9%85-%d8%ac%d8%a7%d9%85%d8%b9-%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d9%81%d8%a7%d8%b1%d8%b3%db%8c-%d8%a7%d9%84%da%af%d9%88%d8%b1%db%8c%d8%aa%d9%85-%da%98%d9%86%d8%aa%db%8c%da%a9-%d8%af-2/">فیلم جامع آموزش فارسی الگوریتم ژنتیک در MATLAB</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://matlab1.ir/%d9%81%db%8c%d9%84%d9%85-%d8%ac%d8%a7%d9%85%d8%b9-%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d9%81%d8%a7%d8%b1%d8%b3%db%8c-%d8%a7%d9%84%da%af%d9%88%d8%b1%db%8c%d8%aa%d9%85-%da%98%d9%86%d8%aa%db%8c%da%a9-%d8%af-2/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>فیلم آموزش فارسی فازی نوع 2 در MATLAB</title>
		<link>https://matlab1.ir/%d9%81%db%8c%d9%84%d9%85-%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d9%81%d8%a7%d8%b1%d8%b3%db%8c-%d9%81%d8%a7%d8%b2%db%8c-%d9%86%d9%88%d8%b9-2-%d8%af%d8%b1-matlab/</link>
					<comments>https://matlab1.ir/%d9%81%db%8c%d9%84%d9%85-%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d9%81%d8%a7%d8%b1%d8%b3%db%8c-%d9%81%d8%a7%d8%b2%db%8c-%d9%86%d9%88%d8%b9-2-%d8%af%d8%b1-matlab/#respond</comments>
		
		<dc:creator><![CDATA[ایران متلب]]></dc:creator>
		<pubDate>Sun, 30 Aug 2026 10:57:11 +0000</pubDate>
				<category><![CDATA[MATLAB متلب]]></category>
		<category><![CDATA[منطق فازي]]></category>
		<category><![CDATA[Artificial intelligence]]></category>
		<category><![CDATA[آموزش FOU]]></category>
		<category><![CDATA[آموزش MATLAB]]></category>
		<category><![CDATA[آموزش Type 2 Fuzzy]]></category>
		<category><![CDATA[آموزش Type Reduction]]></category>
		<category><![CDATA[آموزش type2fls]]></category>
		<category><![CDATA[آموزش تولباکس فازی نوع 2]]></category>
		<category><![CDATA[آموزش سیستم فازی نوع 2]]></category>
		<category><![CDATA[آموزش فازی نوع 2]]></category>
		<category><![CDATA[آموزش فازی نوع 2 MATLAB]]></category>
		<category><![CDATA[آموزش متلب]]></category>
		<category><![CDATA[الگوریتم Karnik Mendel]]></category>
		<category><![CDATA[الگوریتم KM]]></category>
		<category><![CDATA[Center of Gravity]]></category>
		<category><![CDATA[Center of Sets]]></category>
		<category><![CDATA[Classification Fuzzy]]></category>
		<category><![CDATA[COG Type Reduction]]></category>
		<category><![CDATA[Computational Intelligence]]></category>
		<category><![CDATA[Crisp Output]]></category>
		<category><![CDATA[Defuzzification]]></category>
		<category><![CDATA[Defuzzifier]]></category>
		<category><![CDATA[Fired Rule FOU]]></category>
		<category><![CDATA[Firing Interval]]></category>
		<category><![CDATA[Footprint of Uncertainty]]></category>
		<category><![CDATA[FOU]]></category>
		<category><![CDATA[Fuzzifier]]></category>
		<category><![CDATA[Fuzzy Edge Detection]]></category>
		<category><![CDATA[Fuzzy Image Processing]]></category>
		<category><![CDATA[Fuzzy Inference]]></category>
		<category><![CDATA[Fuzzy Modeling]]></category>
		<category><![CDATA[Fuzzy Rule Base]]></category>
		<category><![CDATA[Fuzzy Time Series]]></category>
		<category><![CDATA[Fuzzy Toolbox MATLAB]]></category>
		<category><![CDATA[Fuzzy Uncertainty]]></category>
		<category><![CDATA[FuzzyT2Struct]]></category>
		<category><![CDATA[Gauss Uncertain Mean]]></category>
		<category><![CDATA[Gauss Uncertain Peak]]></category>
		<category><![CDATA[Gaussian Membership Function]]></category>
		<category><![CDATA[Inference Engine]]></category>
		<category><![CDATA[Intelligent Control]]></category>
		<category><![CDATA[Intelligent Systems]]></category>
		<category><![CDATA[Interval Type 2 Fuzzy]]></category>
		<category><![CDATA[Interval Type 2 Fuzzy Tutorial]]></category>
		<category><![CDATA[Interval Type-2 Fuzzy Logic]]></category>
		<category><![CDATA[IT2 Fuzzy]]></category>
		<category><![CDATA[Karnik Mendel]]></category>
		<category><![CDATA[Karnik-Mendel Algorithm]]></category>
		<category><![CDATA[KM Algorithm]]></category>
		<category><![CDATA[Lower Membership Function]]></category>
		<category><![CDATA[M File Fuzzy]]></category>
		<category><![CDATA[Matlab Fuzzy Toolbox]]></category>
		<category><![CDATA[Max Fuzzy]]></category>
		<category><![CDATA[Membership Function]]></category>
		<category><![CDATA[Membership Function MATLAB]]></category>
		<category><![CDATA[Min Fuzzy]]></category>
		<category><![CDATA[Pattern Recognition]]></category>
		<category><![CDATA[Product Fuzzy]]></category>
		<category><![CDATA[Rule Base]]></category>
		<category><![CDATA[Rule Table]]></category>
		<category><![CDATA[Triangular Membership Function]]></category>
		<category><![CDATA[Triangular Uncertain Peak]]></category>
		<category><![CDATA[Type 1 Fuzzy]]></category>
		<category><![CDATA[Type 2 Fuzzy]]></category>
		<category><![CDATA[Type 2 Fuzzy Control]]></category>
		<category><![CDATA[Type 2 Fuzzy MATLAB]]></category>
		<category><![CDATA[Type 2 Fuzzy MATLAB Code]]></category>
		<category><![CDATA[Type 2 Fuzzy System]]></category>
		<category><![CDATA[Type 2 Fuzzy Toolbox]]></category>
		<category><![CDATA[Type 2 Fuzzy Tutorial]]></category>
		<category><![CDATA[Type Reducer]]></category>
		<category><![CDATA[Type Reduction]]></category>
		<category><![CDATA[Type-2 Fuzzy Logic]]></category>
		<category><![CDATA[type2fls]]></category>
		<category><![CDATA[Upper Membership Function]]></category>
		<category><![CDATA[پایان نامه فازی نوع 2]]></category>
		<category><![CDATA[پردازش تصویر فازی]]></category>
		<category><![CDATA[پروژه فازی نوع 2]]></category>
		<category><![CDATA[پیش بینی سری زمانی فازی]]></category>
		<category><![CDATA[تابع عضویت فازی]]></category>
		<category><![CDATA[تابع عضویت نوع 2]]></category>
		<category><![CDATA[تشخیص الگو]]></category>
		<category><![CDATA[تشخیص لبه فازی]]></category>
		<category><![CDATA[تفاوت فازی نوع 1 و نوع 2]]></category>
		<category><![CDATA[خروجی Crisp]]></category>
		<category><![CDATA[سیستم فازی دو ورودی یک خروجی]]></category>
		<category><![CDATA[سیستم فازی نوع 2]]></category>
		<category><![CDATA[سیستم هوشمند]]></category>
		<category><![CDATA[عدم قطعیت فازی]]></category>
		<category><![CDATA[فازی نوع 2]]></category>
		<category><![CDATA[فازی نوع 2 در متلب]]></category>
		<category><![CDATA[فازی نوع یک]]></category>
		<category><![CDATA[کاهش نوع فازی]]></category>
		<category><![CDATA[کد فازی نوع 2 متلب]]></category>
		<category><![CDATA[کدنویسی فازی نوع 2]]></category>
		<category><![CDATA[کنترل فازی نوع 2]]></category>
		<category><![CDATA[کنترل هوشمند]]></category>
		<category><![CDATA[مدل سازی فازی]]></category>
		<category><![CDATA[مقاله فازی نوع 2]]></category>
		<category><![CDATA[منطق فازی نوع 2]]></category>
		<category><![CDATA[هوش محاسباتی]]></category>
		<category><![CDATA[هوش مصنوعی]]></category>
		<guid isPermaLink="false">https://matlab1.ir/?p=14869</guid>

					<description><![CDATA[<p>فازی نوع 2 یا Type-2 Fuzzy Logic توسعه‌ای از منطق فازی نوع 1 است که با هدف مدل‌سازی بهتر عدم قطعیت طراحی شده است. در سیستم فازی نوع 1، درجه عضویت هر ورودی یک مقدار مشخص بین صفر و یک است، اما در فازی نوع 2 خود تابع عضویت نیز می‌تواند دارای عدم قطعیت باشد. [&#8230;]</p>
<p>نوشته <a href="https://matlab1.ir/%d9%81%db%8c%d9%84%d9%85-%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d9%81%d8%a7%d8%b1%d8%b3%db%8c-%d9%81%d8%a7%d8%b2%db%8c-%d9%86%d9%88%d8%b9-2-%d8%af%d8%b1-matlab/">فیلم آموزش فارسی فازی نوع 2 در MATLAB</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>فازی نوع 2 یا Type-2 Fuzzy Logic</strong> توسعه‌ای از منطق فازی نوع 1 است که با هدف مدل‌سازی بهتر عدم قطعیت طراحی شده است. در سیستم فازی نوع 1، درجه عضویت هر ورودی یک مقدار مشخص بین صفر و یک است، اما در فازی نوع 2 خود تابع عضویت نیز می‌تواند دارای عدم قطعیت باشد.</p>
<p>این ویژگی باعث می‌شود سیستم‌های فازی نوع 2 در مسائلی که داده‌ها دارای نویز، ابهام یا عدم قطعیت زیادی هستند، انعطاف بیشتری نسبت به سیستم‌های فازی معمولی داشته باشند.</p>
<h3>چرا فازی نوع 2؟</h3>
<p>در بسیاری از مسائل واقعی تعیین دقیق تابع عضویت کار ساده‌ای نیست.</p>
<p>برای مثال ممکن است چند متخصص درباره مرز میان مفاهیمی مانند «کم»، «متوسط» و «زیاد» نظرهای متفاوتی داشته باشند. همچنین داده‌های واقعی ممکن است دارای نویز باشند یا رفتار سیستم با گذشت زمان تغییر کند.</p>
<p>در چنین شرایطی استفاده از یک تابع عضویت ثابت ممکن است نتواند عدم قطعیت موجود را به خوبی نمایش دهد.</p>
<p>فازی نوع 2 برای همین نوع مسائل طراحی شده است و می‌تواند عدم قطعیت موجود در خود تابع عضویت را نیز مدل کند.</p>
<h3>تفاوت فازی نوع 1 و نوع 2</h3>
<p>در فازی نوع 1، برای هر مقدار ورودی یک درجه عضویت مشخص در بازه صفر تا یک داریم.</p>
<p>اما در فازی نوع 2، درجه عضویت می‌تواند خود یک مجموعه فازی باشد.</p>
<p>در کاربردهای عملی، یکی از مهم‌ترین و پرکاربردترین انواع فازی نوع 2، <strong>Interval Type-2 Fuzzy System</strong> است که نسبت به نوع عمومی محاسبات ساده‌تری دارد.</p>
<p>در این آموزش تمرکز اصلی بر سیستم‌های فازی نوع 2 بازه‌ای است.</p>
<h3>مفهوم FOU</h3>
<p>یکی از مهم‌ترین مفاهیم در فازی نوع 2، <strong>Footprint of Uncertainty یا FOU</strong> است.</p>
<p>FOU ناحیه‌ای است که عدم قطعیت تابع عضویت را نمایش می‌دهد.</p>
<p>در یک سیستم فازی نوع 2 بازه‌ای، معمولاً دو تابع عضویت اصلی داریم:</p>
<ul>
<li>Upper Membership Function</li>
<li>Lower Membership Function</li>
</ul>
<p>فضای بین این دو تابع همان FOU است.</p>
<p>هرچه عدم قطعیت در تعریف تابع عضویت بیشتر باشد، این ناحیه می‌تواند گسترده‌تر شود.</p>
<h3>تابع عضویت Upper و Lower</h3>
<p>برای تعریف یک مجموعه فازی نوع 2 بازه‌ای، از تابع عضویت بالا و پایین استفاده می‌شود.</p>
<p>تابع Upper حد بالای درجه عضویت و تابع Lower حد پایین آن را مشخص می‌کند.</p>
<p>در نتیجه به جای آن‌که برای یک ورودی یک مقدار عضویت مشخص داشته باشیم، یک بازه از مقادیر عضویت در اختیار خواهیم داشت.</p>
<p>این موضوع یکی از تفاوت‌های اصلی سیستم فازی نوع 2 با فازی نوع 1 است.</p>
<h3>ساختار کلی سیستم فازی نوع 2</h3>
<p>یک سیستم فازی نوع 2 معمولاً شامل بخش‌های زیر است:</p>
<ul>
<li>Fuzzifier</li>
<li>Rule Base</li>
<li>Inference Engine</li>
<li>Type Reducer</li>
<li>Defuzzifier</li>
</ul>
<p>ورودی ابتدا وارد بخش Fuzzifier می‌شود و سپس قوانین فازی توسط موتور استنتاج مورد ارزیابی قرار می‌گیرند.</p>
<p>یکی از بخش‌های مهمی که در سیستم فازی نوع 1 وجود ندارد، <strong>Type Reducer</strong> است.</p>
<p>وظیفه Type Reducer تبدیل خروجی فازی نوع 2 به یک مجموعه فازی نوع 1 است تا در نهایت بتوان یک مقدار عددی Crisp تولید کرد.</p>
<h3>Type Reduction چیست؟</h3>
<p>خروجی موتور استنتاج در یک سیستم Type-2 هنوز دارای عدم قطعیت است و نمی‌توان مستقیماً آن را به یک عدد تبدیل کرد.</p>
<p>بنابراین ابتدا باید مرحله‌ای به نام <strong>Type Reduction</strong> انجام شود.</p>
<p>در این مرحله مجموعه فازی نوع 2 به یک مجموعه فازی نوع 1 تبدیل می‌شود و سپس عملیات Defuzzification روی آن انجام می‌شود.</p>
<p>یکی از مهم‌ترین روش‌های کاهش نوع، روش مبتنی بر مرکز ثقل است.</p>
<h3>الگوریتم Karnik-Mendel</h3>
<p>یکی از الگوریتم‌های مشهور در سیستم‌های فازی نوع 2، <strong>Karnik-Mendel یا KM</strong> است.</p>
<p>این الگوریتم برای محاسبه حدود چپ و راست خروجی Type-Reduced استفاده می‌شود.</p>
<p>در این آموزش الگوریتم KM و شبه‌کد آن بررسی شده و نحوه محاسبه مقادیر مورد نیاز برای رسیدن به خروجی نهایی تشریح می‌شود.</p>
<p>مفاهیمی مانند:</p>
<ul>
<li>yl</li>
<li>yr</li>
<li>L</li>
<li>R</li>
<li>Firing Interval</li>
</ul>
<p>در این بخش مورد بررسی قرار می‌گیرند.</p>
<h3>Firing Interval در قوانین فازی</h3>
<p>در سیستم‌های فازی نوع 2، میزان فعال شدن یک قانون لزوماً یک عدد مشخص نیست و ممکن است به صورت یک بازه بیان شود.</p>
<p>این بازه با عنوان <strong>Firing Interval</strong> شناخته می‌شود.</p>
<p>در دوره نحوه محاسبه Firing Interval در قسمت Antecedent و Consequent قوانین بررسی می‌شود تا کاربر روند کامل اجرای یک Rule را در سیستم Type-2 درک کند.</p>
<h3>قوانین فازی نوع 2</h3>
<p>مانند سیستم‌های فازی نوع 1، در فازی نوع 2 نیز از قوانین If-Then استفاده می‌شود.</p>
<p>تفاوت اصلی در این است که توابع عضویت موجود در قسمت شرط و نتیجه دارای عدم قطعیت هستند.</p>
<p>در آموزش نحوه تعریف Rule Base، ایجاد Rule Table و عملکرد قوانین با مثال‌های گرافیکی بررسی می‌شود.</p>
<h3>عملیات Min، Max و Product</h3>
<p>در موتور استنتاج فازی از عملگرهای مختلفی برای ترکیب شرایط قوانین استفاده می‌شود.</p>
<p>در این دوره نحوه عملکرد عملگرهای:</p>
<ul>
<li>Min</li>
<li>Max</li>
<li>Product</li>
</ul>
<p>در سیستم فازی نوع 2 توضیح داده می‌شود.</p>
<p>درک این عملیات برای فهم نحوه تولید Fired Rule FOU و خروجی نهایی سیستم اهمیت زیادی دارد.</p>
<h3>طراحی گرافیکی سیستم فازی نوع 2</h3>
<p>یکی از بخش‌های مهم این دوره، آموزش کار با <strong>Toolbox فازی نوع 2</strong> است.</p>
<p>کاربر یاد می‌گیرد چگونه بدون کدنویسی اولیه، یک سیستم فازی نوع 2 را از طریق محیط گرافیکی طراحی کند.</p>
<p>از جمله کارهایی که در این بخش آموزش داده می‌شوند:</p>
<ul>
<li>تعریف ورودی‌ها</li>
<li>تغییر نام ورودی‌ها</li>
<li>تعیین بازه ورودی</li>
<li>افزایش یا کاهش تعداد ورودی‌ها</li>
<li>تعریف توابع عضویت</li>
<li>تغییر نام Membership Functionها</li>
<li>تنظیم Upper و Lower</li>
<li>تعریف قوانین</li>
<li>حذف و اضافه کردن Rule</li>
<li>تنظیم بخش Inference</li>
</ul>
<h3>انواع Membership Function</h3>
<p>در طراحی سیستم فازی نوع 2 می‌توان از انواع مختلف توابع عضویت استفاده کرد.</p>
<p>در آموزش با نمونه‌هایی مانند:</p>
<ul>
<li>Gaussian</li>
<li>Triangular</li>
<li>Gauss Mean</li>
<li>Gauss Div</li>
<li>Gauss Uncertain Peak</li>
<li>Triangular Uncertain Peak</li>
</ul>
<p>آشنا می‌شوید.</p>
<p>همچنین نحوه تنظیم پارامترهای این توابع و تغییر میزان عدم قطعیت آن‌ها بررسی می‌شود.</p>
<h3>تولید کد MATLAB بدون کدنویسی اولیه</h3>
<p>یکی از قابلیت‌های کاربردی Toolbox مورد استفاده در این آموزش، امکان طراحی گرافیکی سیستم و سپس <strong>Export کردن مدل به کد MATLAB</strong> است.</p>
<p>به این ترتیب ابتدا می‌توانید ساختار سیستم را در محیط گرافیکی ایجاد کنید و سپس M-File تولیدشده را مشاهده و ویرایش کنید.</p>
<p>در دوره کد تولیدشده به صورت خط به خط بررسی می‌شود تا کاربر با ساختار برنامه نیز آشنا شود.</p>
<h3>کدنویسی فازی نوع 2 در MATLAB</h3>
<p>علاوه بر طراحی گرافیکی، نحوه پیاده‌سازی مستقیم سیستم فازی نوع 2 در MATLAB نیز آموزش داده می‌شود.</p>
<p>موضوعاتی مانند:</p>
<ul>
<li>ساخت FuzzyT2Struct</li>
<li>تعریف ورودی و خروجی</li>
<li>تعریف Membership Function</li>
<li>تعریف Rule Base</li>
<li>استفاده از تابع type2fls</li>
<li>اعمال داده به سیستم</li>
<li>دریافت خروجی</li>
</ul>
<p>در بخش برنامه‌نویسی مورد بررسی قرار می‌گیرند.</p>
<p>این قسمت برای افرادی اهمیت زیادی دارد که می‌خواهند سیستم فازی نوع 2 را در یک پروژه بزرگ‌تر یا الگوریتم دیگر استفاده کنند.</p>
<h3>مدل‌سازی با دو ورودی و یک خروجی</h3>
<p>در آموزش یک سیستم فازی نوع 2 دارای دو ورودی و یک خروجی نیز بررسی می‌شود.</p>
<p>این مثال کمک می‌کند کاربر مراحل طراحی یک سیستم را از تعریف توابع عضویت تا ایجاد قوانین و محاسبه خروجی به صورت عملی مشاهده کند.</p>
<p>بعد از درک این ساختار می‌توان سیستم را برای تعداد بیشتری از ورودی‌ها یا مسائل متفاوت توسعه داد.</p>
<h3>کاربردهای فازی نوع 2</h3>
<p>سیستم‌های فازی نوع 2 در حوزه‌هایی که عدم قطعیت و نویز اهمیت زیادی دارند قابل استفاده هستند.</p>
<p>برخی از کاربردهای آن عبارتند از:</p>
<ul>
<li>کنترل سیستم‌های غیرخطی</li>
<li>رباتیک</li>
<li>پردازش تصویر</li>
<li>تشخیص لبه</li>
<li>Pattern Recognition</li>
<li>Classification</li>
<li>پیش‌بینی سری زمانی</li>
<li>مدل‌سازی سیستم‌ها</li>
<li>پردازش داده‌های نویزی</li>
<li>تصمیم‌گیری</li>
<li>سیستم‌های هوشمند</li>
<li>کاربردهای پزشکی</li>
</ul>
<h3>این آموزش برای چه افرادی مناسب است؟</h3>
<p>این دوره می‌تواند برای گروه‌های زیر مناسب باشد:</p>
<ul>
<li>دانشجویان مهندسی برق و کنترل</li>
<li>دانشجویان کامپیوتر و هوش مصنوعی</li>
<li>پژوهشگران منطق فازی</li>
<li>دانشجویان کارشناسی ارشد و دکتری</li>
<li>افرادی که در پایان‌نامه از فازی نوع 2 استفاده می‌کنند</li>
<li>پژوهشگران سیستم‌های هوشمند</li>
<li>علاقه‌مندان Computational Intelligence</li>
<li>افرادی که قصد پیاده‌سازی Type-2 Fuzzy در MATLAB را دارند</li>
</ul>
<h3>پیش‌نیاز پیشنهادی</h3>
<p>برای درک بهتر مطالب، آشنایی مقدماتی با <strong>منطق فازی نوع 1</strong> توصیه می‌شود.</p>
<p>بهتر است کاربر با مفاهیمی مانند:</p>
<ul>
<li>Membership Function</li>
<li>Fuzzification</li>
<li>Rule Base</li>
<li>Inference</li>
<li>Defuzzification</li>
</ul>
<p>آشنا باشد.</p>
<p>برای بخش کدنویسی نیز آشنایی اولیه با MATLAB مفید خواهد بود.</p>
<h3>هدف این آموزش</h3>
<p>هدف این دوره آن است که مخاطب ابتدا تفاوت سیستم‌های فازی نوع 1 و نوع 2 را درک کرده و سپس با اجزای مختلف یک سیستم Interval Type-2 آشنا شود.</p>
<p>در ادامه کاربر می‌آموزد چگونه الگوریتم Karnik-Mendel و Type Reduction عمل می‌کنند و در نهایت می‌تواند یک سیستم فازی نوع 2 را هم به صورت گرافیکی و هم به صورت کدنویسی در MATLAB پیاده‌سازی کند.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<blockquote class="wp-embedded-content" data-secret="9fAGjSMxXI"><p><a href="https://iran-matlab.ir/product/%d9%81%db%8c%d9%84%d9%85-%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d9%81%d8%a7%d8%b1%d8%b3%db%8c-%d9%81%d8%a7%d8%b2%db%8c-%d9%86%d9%88%d8%b9-2/">فیلم آموزش فارسی فازی نوع 2</a></p></blockquote>
<p><iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="“فیلم آموزش فارسی فازی نوع 2” — ایران متلب" src="https://iran-matlab.ir/product/%d9%81%db%8c%d9%84%d9%85-%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d9%81%d8%a7%d8%b1%d8%b3%db%8c-%d9%81%d8%a7%d8%b2%db%8c-%d9%86%d9%88%d8%b9-2/embed/#?secret=6XBxZZUo3g#?secret=9fAGjSMxXI" data-secret="9fAGjSMxXI" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe></p>
<p>نوشته <a href="https://matlab1.ir/%d9%81%db%8c%d9%84%d9%85-%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d9%81%d8%a7%d8%b1%d8%b3%db%8c-%d9%81%d8%a7%d8%b2%db%8c-%d9%86%d9%88%d8%b9-2-%d8%af%d8%b1-matlab/">فیلم آموزش فارسی فازی نوع 2 در MATLAB</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://matlab1.ir/%d9%81%db%8c%d9%84%d9%85-%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d9%81%d8%a7%d8%b1%d8%b3%db%8c-%d9%81%d8%a7%d8%b2%db%8c-%d9%86%d9%88%d8%b9-2-%d8%af%d8%b1-matlab/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>فیلم آموزش فارسی نرم‌افزار EMTP-RV</title>
		<link>https://matlab1.ir/%d9%81%db%8c%d9%84%d9%85-%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d9%81%d8%a7%d8%b1%d8%b3%db%8c-%d9%86%d8%b1%d9%85%d8%a7%d9%81%d8%b2%d8%a7%d8%b1-emtp-rv/</link>
					<comments>https://matlab1.ir/%d9%81%db%8c%d9%84%d9%85-%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d9%81%d8%a7%d8%b1%d8%b3%db%8c-%d9%86%d8%b1%d9%85%d8%a7%d9%81%d8%b2%d8%a7%d8%b1-emtp-rv/#respond</comments>
		
		<dc:creator><![CDATA[ایران متلب]]></dc:creator>
		<pubDate>Sun, 30 Aug 2026 10:50:57 +0000</pubDate>
				<category><![CDATA[آموزش EMTP]]></category>
		<category><![CDATA[AC Source EMTP]]></category>
		<category><![CDATA[آموزش EMTP فارسی]]></category>
		<category><![CDATA[آموزش EMTP-RV]]></category>
		<category><![CDATA[آموزش EMTPWorks]]></category>
		<category><![CDATA[آموزش ScopeView]]></category>
		<category><![CDATA[آموزش برق قدرت]]></category>
		<category><![CDATA[آموزش شبیه سازی گذرا]]></category>
		<category><![CDATA[ارتباط EMTP و MATLAB]]></category>
		<category><![CDATA[اضافه ولتاژ]]></category>
		<category><![CDATA[اعمال خطا در EMTP]]></category>
		<category><![CDATA[Capacitor Bank Switching]]></category>
		<category><![CDATA[Electromagnetic Transients]]></category>
		<category><![CDATA[Electromagnetic Transients Program]]></category>
		<category><![CDATA[EMTP]]></category>
		<category><![CDATA[EMTP HVDC]]></category>
		<category><![CDATA[EMTP MATLAB]]></category>
		<category><![CDATA[EMTP Tutorial]]></category>
		<category><![CDATA[EMTP-RV]]></category>
		<category><![CDATA[EMTP-RV Tutorial]]></category>
		<category><![CDATA[EMTPWorks]]></category>
		<category><![CDATA[FACTS]]></category>
		<category><![CDATA[FACTS EMTP]]></category>
		<category><![CDATA[Fault Simulation EMTP]]></category>
		<category><![CDATA[Frequency Response EMTP]]></category>
		<category><![CDATA[Frequency Scan]]></category>
		<category><![CDATA[HVDC]]></category>
		<category><![CDATA[Ideal Switch EMTP]]></category>
		<category><![CDATA[Impedance Frequency Response]]></category>
		<category><![CDATA[Library EMTP]]></category>
		<category><![CDATA[Lightning Simulation]]></category>
		<category><![CDATA[Mask EMTP]]></category>
		<category><![CDATA[MATLAB EMTP]]></category>
		<category><![CDATA[MPLOT]]></category>
		<category><![CDATA[Overvoltage]]></category>
		<category><![CDATA[PLOT EMTP]]></category>
		<category><![CDATA[PLOT3 EMTP]]></category>
		<category><![CDATA[Power Cable EMTP]]></category>
		<category><![CDATA[Power System]]></category>
		<category><![CDATA[Power System Fault]]></category>
		<category><![CDATA[Power System Protection]]></category>
		<category><![CDATA[Power System Simulation]]></category>
		<category><![CDATA[Power System Transients]]></category>
		<category><![CDATA[PQ Load]]></category>
		<category><![CDATA[PQ Load EMTP]]></category>
		<category><![CDATA[RLC EMTP]]></category>
		<category><![CDATA[ScopeView]]></category>
		<category><![CDATA[Single Phase Line]]></category>
		<category><![CDATA[Subcircuit EMTP]]></category>
		<category><![CDATA[Subcircuit Wizard]]></category>
		<category><![CDATA[SUBPLOT EMTP]]></category>
		<category><![CDATA[SVC]]></category>
		<category><![CDATA[Switching Transients]]></category>
		<category><![CDATA[TCSC]]></category>
		<category><![CDATA[Three Phase Bus]]></category>
		<category><![CDATA[Three Phase Load]]></category>
		<category><![CDATA[Three Phase Simulation]]></category>
		<category><![CDATA[Time Step EMTP]]></category>
		<category><![CDATA[Transformer EMTP]]></category>
		<category><![CDATA[Transient Simulation]]></category>
		<category><![CDATA[Transient Stability]]></category>
		<category><![CDATA[Transmission Line EMTP]]></category>
		<category><![CDATA[Transmission Line Model]]></category>
		<category><![CDATA[Unbalanced Distribution Network]]></category>
		<category><![CDATA[VSC]]></category>
		<category><![CDATA[بار سه فاز]]></category>
		<category><![CDATA[باس بار سه فاز]]></category>
		<category><![CDATA[پاسخ فرکانسی امپدانس]]></category>
		<category><![CDATA[پایان نامه EMTP]]></category>
		<category><![CDATA[پایداری گذرا]]></category>
		<category><![CDATA[پروژه EMTP]]></category>
		<category><![CDATA[پروژه برق قدرت]]></category>
		<category><![CDATA[تحلیل Transient]]></category>
		<category><![CDATA[تحلیل فرکانسی]]></category>
		<category><![CDATA[تحلیل گذرا]]></category>
		<category><![CDATA[تحلیل گذرای سیستم قدرت]]></category>
		<category><![CDATA[ترانسفورماتور در EMTP]]></category>
		<category><![CDATA[حفاظت سیستم قدرت]]></category>
		<category><![CDATA[خط انتقال تک فاز]]></category>
		<category><![CDATA[خط انتقال در EMTP]]></category>
		<category><![CDATA[خطای شبکه قدرت]]></category>
		<category><![CDATA[رسم نمودار در EMTP]]></category>
		<category><![CDATA[رله حفاظتی]]></category>
		<category><![CDATA[ساخت پروژه در EMTP]]></category>
		<category><![CDATA[سوئیچ ایده آل]]></category>
		<category><![CDATA[سیستم قدرت]]></category>
		<category><![CDATA[شبکه انتقال]]></category>
		<category><![CDATA[شبکه توزیع]]></category>
		<category><![CDATA[شبیه سازی سه فاز]]></category>
		<category><![CDATA[شبیه سازی سیستم قدرت]]></category>
		<category><![CDATA[شبیه سازی صاعقه]]></category>
		<category><![CDATA[صاعقه در EMTP]]></category>
		<category><![CDATA[کابل قدرت]]></category>
		<category><![CDATA[کلیدزنی]]></category>
		<category><![CDATA[کلیدزنی بانک خازنی]]></category>
		<category><![CDATA[مدار RLC در EMTP]]></category>
		<category><![CDATA[مدل خط انتقال]]></category>
		<category><![CDATA[منبع سه فاز]]></category>
		<category><![CDATA[مهندسی برق – قدرت]]></category>
		<category><![CDATA[نرم افزار EMTP]]></category>
		<category><![CDATA[نرم افزار سیستم قدرت]]></category>
		<guid isPermaLink="false">https://matlab1.ir/?p=14867</guid>

					<description><![CDATA[<p>نرم‌افزار EMTP-RV یکی از ابزارهای تخصصی برای شبیه‌سازی و تحلیل حالت‌های گذرای الکترومغناطیسی در سیستم‌های قدرت است. این نرم‌افزار برای بررسی رفتار شبکه در شرایطی مانند کلیدزنی، خطا، اضافه‌ولتاژ، صاعقه، تغییرات سریع بار و سایر پدیده‌های گذرا مورد استفاده قرار می‌گیرد. طبق محتوای صفحه محصول، این آموزش حدود 2 ساعت است و روی نکات کاربردی [&#8230;]</p>
<p>نوشته <a href="https://matlab1.ir/%d9%81%db%8c%d9%84%d9%85-%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d9%81%d8%a7%d8%b1%d8%b3%db%8c-%d9%86%d8%b1%d9%85%d8%a7%d9%81%d8%b2%d8%a7%d8%b1-emtp-rv/">فیلم آموزش فارسی نرم‌افزار EMTP-RV</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>نرم‌افزار EMTP-RV</strong> یکی از ابزارهای تخصصی برای شبیه‌سازی و تحلیل حالت‌های گذرای الکترومغناطیسی در سیستم‌های قدرت است. این نرم‌افزار برای بررسی رفتار شبکه در شرایطی مانند کلیدزنی، خطا، اضافه‌ولتاژ، صاعقه، تغییرات سریع بار و سایر پدیده‌های گذرا مورد استفاده قرار می‌گیرد. طبق محتوای صفحه محصول، این آموزش حدود <strong>2 ساعت</strong> است و روی نکات کاربردی مورد نیاز مهندسان برق تمرکز دارد.</p>
<p>&nbsp;</p>
<h3>EMTP چیست؟</h3>
<p>EMTP مخفف <strong>Electromagnetic Transients Program</strong> است. این نرم‌افزار برای شبیه‌سازی سیستم‌های قدرت در بازه‌های زمانی بسیار کوتاه تا چند ثانیه طراحی شده و امکان تحلیل دقیق رفتار گذرای تجهیزات مختلف شبکه را فراهم می‌کند.</p>
<p>در پروژه‌های مهندسی قدرت، بسیاری از پدیده‌ها را نمی‌توان فقط با تحلیل حالت ماندگار بررسی کرد. برای مثال هنگام وقوع خطا، کلیدزنی یک بانک خازنی، قطع و وصل خط انتقال یا برخورد صاعقه، ولتاژ و جریان شبکه ممکن است در زمان بسیار کوتاهی تغییرات شدیدی داشته باشند. EMTP برای تحلیل همین نوع رفتارها کاربرد دارد.</p>
<p>&nbsp;</p>
<h3>آشنایی با محیط EMTP-RV</h3>
<p>در این آموزش ابتدا با محیط نرم‌افزار و اجزای اصلی آن آشنا می‌شوید.</p>
<p>از جمله مباحث اولیه عبارتند از:</p>
<ul>
<li>ساخت یک پروژه جدید</li>
<li>آشنایی با صفحه طراحی</li>
<li>انواع فایل‌های مورد استفاده در EMTP</li>
<li>Library</li>
<li>اضافه کردن عناصر جدید</li>
<li>اتصال قطعات به یکدیگر</li>
<li>تنظیم پارامترهای تجهیزات</li>
</ul>
<p>محیط گرافیکی نرم‌افزار باعث می‌شود بتوان بخش زیادی از طراحی شبکه را به صورت Drag &amp; Drop انجام داد.</p>
<p>&nbsp;</p>
<h3>ساخت مدارهای ساده در EMTP</h3>
<p>برای یادگیری نرم‌افزار، ابتدا لازم است نحوه ساخت مدارهای پایه را فرا بگیرید.</p>
<p>در این دوره نمونه‌هایی مانند مدار RLC آموزش داده می‌شوند و کاربر با نحوه اضافه کردن مقاومت، خازن، منبع و سایر عناصر آشنا می‌شود. همچنین نحوه تنظیم مقادیر اولیه ولتاژ و جریان نیز بررسی می‌شود.</p>
<p>&nbsp;</p>
<h3>شبیه‌سازی حالت گذرا</h3>
<p>یکی از مهم‌ترین بخش‌های آموزش، <strong>Transient Simulation</strong> است.</p>
<p>در این بخش مفاهیمی مانند:</p>
<ul>
<li>Time Step</li>
<li>Tmax</li>
<li>انتخاب متغیرهای خروجی</li>
<li>اجرای شبیه‌سازی</li>
<li>مشاهده سیگنال‌های ولتاژ و جریان</li>
</ul>
<p>بررسی می‌شوند.</p>
<p>انتخاب مناسب Time Step اهمیت زیادی دارد، زیرا در تحلیل گذرا باید تغییرات سریع سیگنال‌ها با دقت کافی ثبت شوند.</p>
<p>&nbsp;</p>
<h3>رسم و تحلیل نمودارها</h3>
<p>پس از اجرای شبیه‌سازی، لازم است نتایج به شکل نمودار بررسی شوند.</p>
<p>در این آموزش با ابزارهای رسم و نمایش سیگنال در EMTP آشنا می‌شوید و موضوعاتی مانند:</p>
<ul>
<li>رسم دو بعدی</li>
<li>رسم سه بعدی</li>
<li>نمایش چند سیگنال در کنار یکدیگر</li>
<li>PLOT</li>
<li>PLOT3</li>
<li>SUBPLOT</li>
<li>ذخیره سیگنال‌های خروجی</li>
</ul>
<p>مطرح می‌شوند.</p>
<p>&nbsp;</p>
<h3>ارتباط EMTP و MATLAB</h3>
<p>یکی از بخش‌های کاربردی دوره، آشنایی با نحوه ارتباط <strong>EMTP و MATLAB</strong> است.</p>
<p>این ارتباط برای کاربرانی اهمیت دارد که می‌خواهند خروجی شبیه‌سازی EMTP را در MATLAB پردازش کنند یا نتایج را وارد یک الگوریتم محاسباتی دیگر نمایند. در بسیاری از پروژه‌های پایان‌نامه، MATLAB می‌تواند برای تحلیل نتایج، رسم نمودارهای اختصاصی یا اجرای الگوریتم‌های بهینه‌سازی در کنار EMTP مورد استفاده قرار گیرد.</p>
<p>&nbsp;</p>
<h3>شبیه‌سازی شبکه سه فاز</h3>
<p>در ادامه آموزش، طراحی سیستم‌های سه فاز بررسی می‌شود.</p>
<p>موضوعاتی مانند:</p>
<ul>
<li>منبع AC سه فاز</li>
<li>باس‌بار سه فاز</li>
<li>ترانسفورماتور</li>
<li>خط انتقال</li>
<li>بار سه فاز</li>
<li>PQ Load</li>
<li>سوئیچ ایده‌آل</li>
</ul>
<p>از جمله موارد مطرح‌شده هستند.</p>
<p>این مباحث برای شبیه‌سازی شبکه‌های واقعی قدرت اهمیت زیادی دارند.</p>
<p>&nbsp;</p>
<h3>مدل‌سازی خطوط انتقال</h3>
<p>خط انتقال یکی از اصلی‌ترین اجزای شبکه قدرت است و انتخاب مدل مناسب آن در شبیه‌سازی گذرا اهمیت زیادی دارد.</p>
<p>در این آموزش با موضوعاتی مانند:</p>
<ul>
<li>اضافه کردن خط انتقال</li>
<li>تنظیم پارامترهای خط</li>
<li>پلاریته خط انتقال</li>
<li>انواع مدل‌های خط انتقال</li>
<li>خط انتقال تک‌فاز</li>
<li>اتصال چند خط تک‌فاز به باس سه فاز</li>
</ul>
<p>آشنا می‌شوید.</p>
<p>&nbsp;</p>
<h3>اعمال خطا در شبکه</h3>
<p>یکی از کاربردهای مهم EMTP بررسی رفتار سیستم در هنگام وقوع Fault است.</p>
<p>در این دوره نحوه وارد کردن خطا به خط انتقال آموزش داده می‌شود و می‌توان تغییرات جریان و ولتاژ را پس از وقوع خطا مشاهده کرد.</p>
<p>این نوع تحلیل در مطالعات حفاظت، طراحی رله‌ها و بررسی پایداری تجهیزات شبکه کاربرد زیادی دارد.</p>
<p>&nbsp;</p>
<h3>تحلیل فرکانسی</h3>
<p>EMTP علاوه بر تحلیل زمانی، امکان بررسی پاسخ فرکانسی شبکه را نیز فراهم می‌کند.</p>
<p>در بخش <strong>Frequency Scan</strong> می‌توان محدوده فرکانسی مورد نظر را تعیین کرد و پاسخ شبکه را بررسی نمود.</p>
<p>موضوعاتی مانند:</p>
<ul>
<li>Fmin</li>
<li>Fmax</li>
<li>Delta_f</li>
<li>پاسخ فرکانسی ولتاژ</li>
<li>پاسخ فرکانسی جریان</li>
<li>پاسخ فرکانسی امپدانس</li>
<li>اندازه و زاویه</li>
<li>نمایش لگاریتمی</li>
</ul>
<p>در این قسمت مطرح می‌شوند.</p>
<p>&nbsp;</p>
<h3>Subcircuit و Mask</h3>
<p>برای پروژه‌های بزرگ بهتر است مدار به بخش‌های کوچک‌تر تقسیم شود.</p>
<p>در EMTP می‌توان از <strong>Subcircuit</strong> برای ساخت ماژول‌های قابل استفاده مجدد بهره برد.</p>
<p>در این آموزش موضوعاتی مانند:</p>
<ul>
<li>ساخت Subcircuit</li>
<li>Subcircuit Wizard</li>
<li>تنظیم Portها</li>
<li>ساخت Mask</li>
<li>تعریف متغیرهای Mask</li>
<li>تغییر ظاهر زیرمدار</li>
<li>ایجاد Library اختصاصی</li>
</ul>
<p>آموزش داده می‌شوند.</p>
<p>این قابلیت در پروژه‌های بزرگ باعث می‌شود ساختار مدل منظم‌تر و قابل مدیریت‌تر شود.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h3>کاربردهای EMTP در مهندسی قدرت</h3>
<p>طبق صفحه محصول، EMTP در حوزه‌های مختلف سیستم قدرت قابل استفاده است، از جمله:</p>
<ul>
<li>تحلیل حالت گذرا</li>
<li>مطالعات صاعقه</li>
<li>کلیدزنی</li>
<li>خطوط انتقال</li>
<li>کابل</li>
<li>HVDC</li>
<li>FACTS</li>
<li>SVC</li>
<li>VSC</li>
<li>TCSC</li>
<li>جبران‌سازی سری و شانت</li>
<li>ماشین‌های سنکرون</li>
<li>سیستم‌های حفاظت</li>
<li>تحلیل اضافه‌ولتاژ</li>
<li>کلیدزنی بانک خازنی</li>
<li>رزونانس سری و شانت</li>
<li>پایداری گذرا</li>
<li>شبکه‌های توزیع نامتعادل</li>
</ul>
<p>&nbsp;</p>
<h3>EMTPWorks و ScopeView</h3>
<p>ساختار نرم‌افزار EMTP شامل چند بخش اصلی است.</p>
<p><strong>EMTP-RV</strong> موتور اصلی محاسباتی نرم‌افزار است.</p>
<p><strong>EMTPWorks</strong> محیط گرافیکی طراحی و ارتباط کاربر با موتور شبیه‌سازی است.</p>
<p><strong>ScopeView</strong> نیز برای مشاهده و تحلیل نتایج شبیه‌سازی مورد استفاده قرار می‌گیرد.</p>
<p>آشنایی با نقش هر بخش باعث می‌شود روند طراحی، اجرا و تحلیل نتایج را بهتر درک کنید.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h3>این آموزش برای چه افرادی مناسب است؟</h3>
<p>این دوره می‌تواند برای گروه‌های زیر مفید باشد:</p>
<ul>
<li>دانشجویان مهندسی برق قدرت</li>
<li>دانشجویان کارشناسی ارشد و دکتری</li>
<li>پژوهشگران سیستم‌های قدرت</li>
<li>مهندسان حفاظت</li>
<li>پژوهشگران خطوط انتقال</li>
<li>دانشجویان HVDC و FACTS</li>
<li>افرادی که روی پدیده‌های گذرا کار می‌کنند</li>
<li>دانشجویانی که برای پایان‌نامه به EMTP نیاز دارند</li>
<li>مهندسان فعال در شبکه‌های انتقال و توزیع</li>
</ul>
<p>&nbsp;</p>
<h3>پیش‌نیاز پیشنهادی</h3>
<p>برای استفاده بهتر از این آموزش توصیه می‌شود کاربر با مفاهیم پایه سیستم قدرت آشنایی داشته باشد.</p>
<p>موضوعاتی مانند:</p>
<ul>
<li>مدارهای الکتریکی</li>
<li>سیستم سه فاز</li>
<li>ترانسفورماتور</li>
<li>خطوط انتقال</li>
<li>بار</li>
<li>خطاهای شبکه</li>
<li>ولتاژ و جریان AC</li>
</ul>
<p>می‌توانند در درک بهتر مثال‌های دوره مفید باشند.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h3>هدف آموزش</h3>
<p>هدف اصلی این فیلم آموزشی این است که کاربر بتواند از محیط EMTP-RV برای طراحی یک سیستم قدرت، اجرای تحلیل گذرا و فرکانسی، اعمال خطا و بررسی نتایج استفاده کند.</p>
<p>پس از مشاهده دوره، کاربر با ساخت پروژه، طراحی مدار، مدل‌سازی سیستم‌های سه فاز، خطوط انتقال، Subcircuit و ابزارهای مشاهده نتایج آشنایی بیشتری خواهد داشت و می‌تواند این نرم‌افزار را در پروژه‌های دانشگاهی و پژوهشی خود به کار بگیرد.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<blockquote class="wp-embedded-content" data-secret="rIMgjwnXQa"><p><a href="https://iran-matlab.ir/product/%d9%81%db%8c%d9%84%d9%85-%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d9%81%d8%a7%d8%b1%d8%b3%db%8c-%d9%86%d8%b1%d9%85-%d8%a7%d9%81%d8%b2%d8%a7%d8%b1-emtp/">فیلم آموزش فارسی نرم افزار EMTP</a></p></blockquote>
<p><iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="“فیلم آموزش فارسی نرم افزار EMTP” — ایران متلب" src="https://iran-matlab.ir/product/%d9%81%db%8c%d9%84%d9%85-%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d9%81%d8%a7%d8%b1%d8%b3%db%8c-%d9%86%d8%b1%d9%85-%d8%a7%d9%81%d8%b2%d8%a7%d8%b1-emtp/embed/#?secret=0KsHlH1jrW#?secret=rIMgjwnXQa" data-secret="rIMgjwnXQa" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe></p>
<p>نوشته <a href="https://matlab1.ir/%d9%81%db%8c%d9%84%d9%85-%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d9%81%d8%a7%d8%b1%d8%b3%db%8c-%d9%86%d8%b1%d9%85%d8%a7%d9%81%d8%b2%d8%a7%d8%b1-emtp-rv/">فیلم آموزش فارسی نرم‌افزار EMTP-RV</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://matlab1.ir/%d9%81%db%8c%d9%84%d9%85-%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d9%81%d8%a7%d8%b1%d8%b3%db%8c-%d9%86%d8%b1%d9%85%d8%a7%d9%81%d8%b2%d8%a7%d8%b1-emtp-rv/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>آموزش پردازش تصویر در MATLAB</title>
		<link>https://matlab1.ir/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d9%be%d8%b1%d8%af%d8%a7%d8%b2%d8%b4-%d8%aa%d8%b5%d9%88%db%8c%d8%b1-%d8%af%d8%b1-matlab/</link>
					<comments>https://matlab1.ir/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d9%be%d8%b1%d8%af%d8%a7%d8%b2%d8%b4-%d8%aa%d8%b5%d9%88%db%8c%d8%b1-%d8%af%d8%b1-matlab/#respond</comments>
		
		<dc:creator><![CDATA[ایران متلب]]></dc:creator>
		<pubDate>Sun, 30 Aug 2026 10:42:25 +0000</pubDate>
				<category><![CDATA[آموزش پردازش تصویر]]></category>
		<category><![CDATA[Artificial intelligence]]></category>
		<category><![CDATA[آستانه گذاری تصویر]]></category>
		<category><![CDATA[آموزش IMAGE PROCESSING]]></category>
		<category><![CDATA[آموزش Image Processing Toolbox]]></category>
		<category><![CDATA[آموزش MATLAB]]></category>
		<category><![CDATA[آموزش پردازش تصویر در متلب]]></category>
		<category><![CDATA[آموزش متلب]]></category>
		<category><![CDATA[آموزش متلب پردازش تصویر]]></category>
		<category><![CDATA[استخراج ویژگی]]></category>
		<category><![CDATA[افزایش کنتراست تصویر]]></category>
		<category><![CDATA[Binary Image]]></category>
		<category><![CDATA[Canny]]></category>
		<category><![CDATA[canny edge detection]]></category>
		<category><![CDATA[Closing]]></category>
		<category><![CDATA[computer vision]]></category>
		<category><![CDATA[Computer Vision MATLAB]]></category>
		<category><![CDATA[Contrast Enhancement]]></category>
		<category><![CDATA[Digital image processing]]></category>
		<category><![CDATA[Dilation]]></category>
		<category><![CDATA[Edge Detection]]></category>
		<category><![CDATA[Edge Detection MATLAB]]></category>
		<category><![CDATA[Erosion]]></category>
		<category><![CDATA[Face Recognition]]></category>
		<category><![CDATA[Feature extraction]]></category>
		<category><![CDATA[Gaussian Filter]]></category>
		<category><![CDATA[Gaussian Noise]]></category>
		<category><![CDATA[Grayscale Image]]></category>
		<category><![CDATA[histeq MATLAB]]></category>
		<category><![CDATA[Histogram Equalization]]></category>
		<category><![CDATA[Image Classification]]></category>
		<category><![CDATA[Image Denoising]]></category>
		<category><![CDATA[Image Enhancement]]></category>
		<category><![CDATA[Image Features]]></category>
		<category><![CDATA[Image Filtering]]></category>
		<category><![CDATA[Image Histogram]]></category>
		<category><![CDATA[image processing MATLAB]]></category>
		<category><![CDATA[Image processing toolbox]]></category>
		<category><![CDATA[Image Segmentation]]></category>
		<category><![CDATA[imbinarize]]></category>
		<category><![CDATA[imdilate]]></category>
		<category><![CDATA[imerode]]></category>
		<category><![CDATA[imhist MATLAB]]></category>
		<category><![CDATA[imread MATLAB]]></category>
		<category><![CDATA[imshow MATLAB]]></category>
		<category><![CDATA[Machine Learning Image Processing]]></category>
		<category><![CDATA[Machine vision]]></category>
		<category><![CDATA[MATLAB Code Image Processing]]></category>
		<category><![CDATA[MATLAB Image Processing]]></category>
		<category><![CDATA[Mean Filter]]></category>
		<category><![CDATA[medfilt2]]></category>
		<category><![CDATA[Median Filter]]></category>
		<category><![CDATA[Medical Image Processing]]></category>
		<category><![CDATA[Morphological Operations]]></category>
		<category><![CDATA[Noise Reduction]]></category>
		<category><![CDATA[Object Detection]]></category>
		<category><![CDATA[Opening]]></category>
		<category><![CDATA[Otsu Thresholding]]></category>
		<category><![CDATA[Pattern Recognition]]></category>
		<category><![CDATA[Prewitt]]></category>
		<category><![CDATA[RGB Image MATLAB]]></category>
		<category><![CDATA[rgb2gray]]></category>
		<category><![CDATA[Roberts]]></category>
		<category><![CDATA[Salt and Pepper Noise]]></category>
		<category><![CDATA[Segmentation MATLAB]]></category>
		<category><![CDATA[Sharpening Image]]></category>
		<category><![CDATA[Smoothing Image]]></category>
		<category><![CDATA[Sobel]]></category>
		<category><![CDATA[Speckle Noise]]></category>
		<category><![CDATA[Thresholding]]></category>
		<category><![CDATA[بخش بندی تصویر]]></category>
		<category><![CDATA[بهبود کیفیت تصویر]]></category>
		<category><![CDATA[بینایی ماشین]]></category>
		<category><![CDATA[پایان نامه پردازش تصویر]]></category>
		<category><![CDATA[پردازش تصاویر باینری]]></category>
		<category><![CDATA[پردازش تصویر]]></category>
		<category><![CDATA[پردازش تصویر MATLAB]]></category>
		<category><![CDATA[پردازش تصویر با متلب]]></category>
		<category><![CDATA[پردازش تصویر برای دانشجویان]]></category>
		<category><![CDATA[پردازش تصویر پزشکی]]></category>
		<category><![CDATA[پردازش تصویر در متلب]]></category>
		<category><![CDATA[پردازش دیجیتال تصویر]]></category>
		<category><![CDATA[پروژه MATLAB]]></category>
		<category><![CDATA[پروژه پردازش تصویر]]></category>
		<category><![CDATA[تبدیل RGB به Gray]]></category>
		<category><![CDATA[تشخیص الگو]]></category>
		<category><![CDATA[تشخیص چهره]]></category>
		<category><![CDATA[تشخیص شی]]></category>
		<category><![CDATA[تشخیص لبه]]></category>
		<category><![CDATA[تصاویر RGB]]></category>
		<category><![CDATA[تصویر خاکستری]]></category>
		<category><![CDATA[تصویر دودویی]]></category>
		<category><![CDATA[تصویر دیجیتال]]></category>
		<category><![CDATA[حذف نویز تصویر]]></category>
		<category><![CDATA[خواندن تصویر در متلب]]></category>
		<category><![CDATA[طبقه بندی تصویر]]></category>
		<category><![CDATA[عملیات مورفولوژیکی]]></category>
		<category><![CDATA[فیلتر تصویر]]></category>
		<category><![CDATA[کدنویسی پردازش تصویر]]></category>
		<category><![CDATA[نویز Gaussian]]></category>
		<category><![CDATA[ویژگی تصویر]]></category>
		<category><![CDATA[هوش مصنوعی]]></category>
		<category><![CDATA[هیستوگرام تصویر]]></category>
		<category><![CDATA[یادگیری ماشین در پردازش تصویر]]></category>
		<guid isPermaLink="false">https://matlab1.ir/?p=14865</guid>

					<description><![CDATA[<p>پردازش تصویر در MATLAB یکی از پرکاربردترین حوزه‌های استفاده از متلب در پروژه‌های دانشگاهی، پژوهشی و صنعتی است. MATLAB به دلیل برخورداری از توابع آماده، محیط مناسب برای کار با ماتریس‌ها و ابزارهای تخصصی پردازش تصویر، امکان پیاده‌سازی بسیاری از الگوریتم‌های Image Processing را با سرعت مناسبی فراهم می‌کند. در پردازش تصویر، یک تصویر دیجیتال [&#8230;]</p>
<p>نوشته <a href="https://matlab1.ir/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d9%be%d8%b1%d8%af%d8%a7%d8%b2%d8%b4-%d8%aa%d8%b5%d9%88%db%8c%d8%b1-%d8%af%d8%b1-matlab/">آموزش پردازش تصویر در MATLAB</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>پردازش تصویر در MATLAB</strong> یکی از پرکاربردترین حوزه‌های استفاده از متلب در پروژه‌های دانشگاهی، پژوهشی و صنعتی است. MATLAB به دلیل برخورداری از توابع آماده، محیط مناسب برای کار با ماتریس‌ها و ابزارهای تخصصی پردازش تصویر، امکان پیاده‌سازی بسیاری از الگوریتم‌های Image Processing را با سرعت مناسبی فراهم می‌کند.</p>
<p>در پردازش تصویر، یک تصویر دیجیتال در واقع مجموعه‌ای از مقادیر عددی است که اطلاعات مربوط به شدت روشنایی یا رنگ پیکسل‌ها را در خود نگه می‌دارد. از آنجا که MATLAB اساساً یک نرم‌افزار ماتریس‌محور است، کار با تصاویر در این محیط بسیار طبیعی و ساده انجام می‌شود.</p>
<h3>پردازش تصویر چیست؟</h3>
<p>پردازش تصویر مجموعه‌ای از روش‌ها و الگوریتم‌ها برای دریافت، اصلاح، تحلیل و استخراج اطلاعات از تصاویر دیجیتال است.</p>
<p>در یک پروژه پردازش تصویر ممکن است هدف تنها بهبود کیفیت تصویر باشد یا بخواهیم اطلاعات خاصی مانند لبه‌ها، اشیا، نواحی مورد نظر، رنگ‌ها یا ویژگی‌های تصویر را استخراج کنیم.</p>
<p>برخی از کاربردهای مهم پردازش تصویر عبارتند از:</p>
<ul>
<li>بهبود کیفیت تصاویر</li>
<li>حذف نویز</li>
<li>تشخیص لبه‌ها</li>
<li>بخش‌بندی تصویر</li>
<li>استخراج ویژگی</li>
<li>تشخیص اشیا</li>
<li>شناسایی الگو</li>
<li>تحلیل تصاویر پزشکی</li>
<li>پردازش تصاویر ماهواره‌ای</li>
<li>بینایی ماشین</li>
<li>تشخیص چهره</li>
<li>کنترل کیفیت صنعتی</li>
</ul>
<h3>خواندن و نمایش تصویر در MATLAB</h3>
<p>یکی از اولین مراحل در پروژه‌های پردازش تصویر، وارد کردن تصویر به محیط MATLAB و مشاهده اطلاعات آن است.</p>
<p>در MATLAB می‌توان تصاویر را از فرمت‌های مختلف خواند و سپس ابعاد، نوع داده و کانال‌های رنگی آن‌ها را بررسی کرد.</p>
<p>در این مرحله کاربر با مفاهیمی مانند:</p>
<ul>
<li>تصویر خاکستری</li>
<li>تصویر رنگی RGB</li>
<li>ابعاد تصویر</li>
<li>پیکسل</li>
<li>شدت روشنایی</li>
<li>نوع داده تصویر</li>
</ul>
<p>آشنا می‌شود.</p>
<h3>تصاویر خاکستری و رنگی</h3>
<p>تصاویر Gray Scale معمولاً به صورت یک ماتریس دوبعدی نمایش داده می‌شوند که هر عضو آن شدت روشنایی یک پیکسل را مشخص می‌کند.</p>
<p>تصاویر RGB از سه کانال رنگی قرمز، سبز و آبی تشکیل شده‌اند. بنابراین یک تصویر RGB معمولاً به صورت یک آرایه سه‌بعدی در MATLAB ذخیره می‌شود.</p>
<p>آشنایی با ساختار داده تصویر اهمیت زیادی دارد، زیرا بسیاری از الگوریتم‌ها ابتدا نیاز دارند تصویر به قالب مشخصی تبدیل شود.</p>
<h3>تبدیل تصاویر رنگی و خاکستری</h3>
<p>در برخی پروژه‌ها لازم است تصویر رنگی به تصویر خاکستری تبدیل شود تا حجم محاسبات کاهش پیدا کند یا الگوریتم مورد نظر تنها روی شدت روشنایی کار کند.</p>
<p>همچنین ممکن است نیاز باشد تصاویر بین فضای‌های رنگی مختلف تبدیل شوند.</p>
<p>این موضوع در پروژه‌هایی مانند تشخیص رنگ، بخش‌بندی و استخراج ویژگی اهمیت زیادی دارد.</p>
<h3>بهبود کیفیت تصویر</h3>
<p>یکی از شاخه‌های اصلی Image Processing، <strong>Image Enhancement</strong> است.</p>
<p>هدف از بهبود تصویر این است که اطلاعات مهم تصویر بهتر دیده شوند یا تصویر برای مراحل بعدی پردازش آماده‌تر شود.</p>
<p>روش‌هایی مانند موارد زیر در این حوزه کاربرد دارند:</p>
<ul>
<li>تنظیم کنتراست</li>
<li>تغییر روشنایی</li>
<li>Histogram Equalization</li>
<li>افزایش وضوح</li>
<li>اصلاح دامنه شدت پیکسل‌ها</li>
<li>بهبود نمایش جزئیات</li>
</ul>
<h3>هیستوگرام تصویر</h3>
<p>Histogram یکی از ابزارهای مهم برای بررسی توزیع شدت روشنایی در تصویر است.</p>
<p>با تحلیل هیستوگرام می‌توان متوجه شد تصویر بیش از حد روشن، تاریک یا دارای کنتراست پایین است.</p>
<p>روش‌های مبتنی بر هیستوگرام در بهبود کیفیت تصویر و Thresholding کاربرد فراوانی دارند.</p>
<h3>نویز در تصویر</h3>
<p>تصاویر واقعی ممکن است در هنگام تصویربرداری، انتقال یا ذخیره‌سازی دچار نویز شوند.</p>
<p>وجود نویز می‌تواند عملکرد الگوریتم‌های بعدی مانند لبه‌یابی، بخش‌بندی و تشخیص اشیا را کاهش دهد.</p>
<p>برخی از نویزهای رایج شامل:</p>
<ul>
<li>Gaussian Noise</li>
<li>Salt &amp; Pepper Noise</li>
<li>Speckle Noise</li>
</ul>
<p>هستند.</p>
<p>در MATLAB می‌توان نویزهای مختلف را شبیه‌سازی کرد و سپس عملکرد فیلترهای مختلف را در حذف آن‌ها بررسی کرد.</p>
<h3>فیلتر کردن تصاویر</h3>
<p>فیلترها یکی از ابزارهای اصلی در پردازش تصویر هستند.</p>
<p>با استفاده از فیلتر می‌توان تصویر را هموار کرد، نویز را کاهش داد، لبه‌ها را تقویت کرد یا جزئیات خاصی را استخراج نمود.</p>
<p>فیلترها به طور کلی می‌توانند در حوزه مکان یا حوزه فرکانس اعمال شوند.</p>
<p>از جمله فیلترهای متداول می‌توان به موارد زیر اشاره کرد:</p>
<ul>
<li>Mean Filter</li>
<li>Median Filter</li>
<li>Gaussian Filter</li>
<li>فیلترهای هموارساز</li>
<li>فیلترهای Sharpening</li>
</ul>
<h3>Median Filter</h3>
<p>فیلتر میانه یکی از روش‌های معروف برای حذف نویز Salt &amp; Pepper است.</p>
<p>این فیلتر به جای میانگین‌گیری از مقادیر همسایه، مقدار میانه آن‌ها را انتخاب می‌کند و به همین دلیل در بسیاری از موارد می‌تواند نویز ضربه‌ای را بدون تخریب شدید لبه‌ها کاهش دهد.</p>
<h3>تشخیص لبه</h3>
<p>Edge Detection یکی از مراحل مهم در بسیاری از پروژه‌های بینایی ماشین و پردازش تصویر است.</p>
<p>لبه‌ها معمولاً مرز میان نواحی مختلف تصویر را مشخص می‌کنند و اطلاعات مهمی درباره شکل و ساختار اجسام در اختیار ما قرار می‌دهند.</p>
<p>الگوریتم‌های مختلفی برای لبه‌یابی وجود دارند، از جمله:</p>
<ul>
<li>Sobel</li>
<li>Prewitt</li>
<li>Roberts</li>
<li>Canny</li>
</ul>
<p>هر روش دارای ویژگی‌ها و حساسیت متفاوتی نسبت به نویز و جزئیات تصویر است.</p>
<h3>Thresholding و تبدیل تصویر به دودویی</h3>
<p>در بسیاری از کاربردها لازم است تصویر به دو گروه اصلی تقسیم شود؛ برای مثال پیکسل‌های متعلق به شیء و پیکسل‌های مربوط به پس‌زمینه.</p>
<p>در این حالت از روش‌های Thresholding استفاده می‌شود.</p>
<p>خروجی این مرحله معمولاً یک تصویر Binary است که پیکسل‌های آن دارای دو مقدار اصلی هستند.</p>
<p>تصاویر دودویی در بسیاری از مراحل بعدی مانند شمارش اشیا، اندازه‌گیری نواحی و عملیات مورفولوژیکی کاربرد دارند.</p>
<h3>بخش‌بندی تصویر</h3>
<p><strong>Image Segmentation</strong> یکی از مهم‌ترین موضوعات در پردازش تصویر است.</p>
<p>هدف بخش‌بندی، تقسیم تصویر به نواحی معنی‌دار است.</p>
<p>برای مثال در یک تصویر پزشکی ممکن است هدف جدا کردن بافت مورد نظر از سایر بخش‌ها باشد یا در یک تصویر صنعتی بخواهیم قطعه را از پس‌زمینه جدا کنیم.</p>
<p>روش‌های بخش‌بندی می‌توانند بر اساس موارد زیر انجام شوند:</p>
<ul>
<li>شدت روشنایی</li>
<li>رنگ</li>
<li>لبه‌ها</li>
<li>نواحی</li>
<li>خوشه‌بندی</li>
<li>ویژگی‌های تصویر</li>
</ul>
<h3>عملیات مورفولوژیکی</h3>
<p>Morphological Operations ابزارهای مهمی برای پردازش تصاویر Binary هستند.</p>
<p>از جمله عملیات پرکاربرد می‌توان به موارد زیر اشاره کرد:</p>
<ul>
<li>Erosion</li>
<li>Dilation</li>
<li>Opening</li>
<li>Closing</li>
<li>پر کردن حفره‌ها</li>
<li>حذف اجسام کوچک</li>
</ul>
<p>این عملیات به‌خصوص بعد از Thresholding و Segmentation برای اصلاح شکل نواحی و حذف خطاهای کوچک بسیار مفید هستند.</p>
<h3>استخراج ویژگی</h3>
<p>در بسیاری از پروژه‌ها هدف نهایی خود تصویر نیست، بلکه می‌خواهیم تعدادی ویژگی عددی از آن استخراج کنیم.</p>
<p>این ویژگی‌ها می‌توانند اطلاعاتی درباره شکل، اندازه، بافت یا شدت روشنایی تصویر ارائه دهند.</p>
<p>برای مثال:</p>
<ul>
<li>مساحت</li>
<li>محیط</li>
<li>مرکز جرم</li>
<li>ویژگی‌های هندسی</li>
<li>ویژگی‌های بافت</li>
<li>ویژگی‌های رنگی</li>
</ul>
<p>پس از استخراج ویژگی می‌توان آن‌ها را به الگوریتم‌های دسته‌بندی، شبکه عصبی یا یادگیری ماشین داد.</p>
<h3>پردازش تصویر و یادگیری ماشین</h3>
<p>در بسیاری از سیستم‌های هوشمند، پردازش تصویر مرحله اولیه یک سیستم Machine Learning است.</p>
<p>ابتدا تصویر پردازش و ویژگی‌های مناسب استخراج می‌شوند و سپس این ویژگی‌ها برای آموزش یک مدل دسته‌بندی یا پیش‌بینی مورد استفاده قرار می‌گیرند.</p>
<p>برای مثال می‌توان از این ساختار در مسائل زیر استفاده کرد:</p>
<ul>
<li>تشخیص بیماری از تصاویر پزشکی</li>
<li>شناسایی چهره</li>
<li>تشخیص پلاک خودرو</li>
<li>طبقه‌بندی تصاویر</li>
<li>تشخیص عیب صنعتی</li>
<li>شناسایی اشیا</li>
</ul>
<h3>پردازش تصویر در پروژه و پایان‌نامه</h3>
<p>MATLAB یکی از محیط‌های محبوب برای پیاده‌سازی سریع ایده‌های پردازش تصویر در پروژه‌های دانشگاهی است.</p>
<p>دانشجویان می‌توانند ابتدا الگوریتم را در متلب پیاده‌سازی و آزمایش کنند و سپس در صورت نیاز آن را توسعه دهند.</p>
<p>این موضوع در رشته‌هایی مانند مهندسی برق، کامپیوتر، پزشکی، مکاترونیک، رباتیک و هوش مصنوعی کاربرد زیادی دارد.</p>
<h3>این آموزش برای چه افرادی مناسب است؟</h3>
<p>این دوره می‌تواند برای افراد زیر مناسب باشد:</p>
<ul>
<li>دانشجویان مهندسی برق</li>
<li>دانشجویان کامپیوتر</li>
<li>دانشجویان هوش مصنوعی</li>
<li>پژوهشگران پردازش تصویر</li>
<li>دانشجویان مهندسی پزشکی</li>
<li>علاقه‌مندان بینایی ماشین</li>
<li>دانشجویان مکاترونیک و رباتیک</li>
<li>افرادی که برای پروژه یا پایان‌نامه به پردازش تصویر نیاز دارند</li>
<li>افرادی که قصد یادگیری Image Processing Toolbox در MATLAB را دارند</li>
</ul>
<h3>پیش‌نیاز پیشنهادی</h3>
<p>برای استفاده بهتر از آموزش، آشنایی مقدماتی با MATLAB توصیه می‌شود.</p>
<p>به‌خصوص آشنایی با موضوعات زیر مفید است:</p>
<ul>
<li>ماتریس‌ها</li>
<li>بردارها</li>
<li>Script</li>
<li>Function</li>
<li>حلقه‌ها</li>
<li>دستورات شرطی</li>
</ul>
<p>از آنجا که تصاویر در MATLAB به صورت آرایه و ماتریس ذخیره می‌شوند، تسلط نسبی بر عملیات ماتریسی یادگیری پردازش تصویر را بسیار ساده‌تر می‌کند.</p>
<h3>هدف آموزش</h3>
<p>هدف این دوره آن است که کاربر با مفاهیم اصلی پردازش تصویر و نحوه پیاده‌سازی آن‌ها در MATLAB آشنا شود.</p>
<p>پس از یادگیری این مباحث، کاربر می‌تواند تصاویر را وارد MATLAB کند، آن‌ها را پردازش و بهبود دهد، نویز را کاهش دهد، لبه‌ها و نواحی مختلف را استخراج کند و مقدمات لازم برای توسعه پروژه‌های پیشرفته‌تر پردازش تصویر و بینایی ماشین را به دست آورد.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<blockquote class="wp-embedded-content" data-secret="zE2LgRvxus"><p><a href="https://iran-matlab.ir/product/%d9%be%d8%b1%d8%af%d8%a7%d8%b2%d8%b4-%d8%aa%d8%b5%d9%88%db%8c%d8%b1-%d8%af%d8%b1-%d9%85%d8%aa%d9%84%d8%a8/">پردازش تصویر در متلب</a></p></blockquote>
<p><iframe loading="lazy" class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="“پردازش تصویر در متلب” — ایران متلب" src="https://iran-matlab.ir/product/%d9%be%d8%b1%d8%af%d8%a7%d8%b2%d8%b4-%d8%aa%d8%b5%d9%88%db%8c%d8%b1-%d8%af%d8%b1-%d9%85%d8%aa%d9%84%d8%a8/embed/#?secret=3XB64G1Bsk#?secret=zE2LgRvxus" data-secret="zE2LgRvxus" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe></p>
<p>نوشته <a href="https://matlab1.ir/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d9%be%d8%b1%d8%af%d8%a7%d8%b2%d8%b4-%d8%aa%d8%b5%d9%88%db%8c%d8%b1-%d8%af%d8%b1-matlab/">آموزش پردازش تصویر در MATLAB</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-%d9%be%d8%b1%d8%af%d8%a7%d8%b2%d8%b4-%d8%aa%d8%b5%d9%88%db%8c%d8%b1-%d8%af%d8%b1-matlab/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 بعد از پایان محاسبات با یک صدا به شما خبر بدهد. ساده‌ترین روش استفاده از دستور beep است: beep مثلاً اگر یک محاسبه طولانی [&#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 متلب اجرا می‌کنیم، همراه با خروجی آن‌ها داخل یک فایل ذخیره شوند؛ مثلاً برای تهیه گزارش، بررسی خطاها یا نگه داشتن نتایج یک محاسبه طولانی. برای این کار می‌توانید از دستور diary استفاده کنید. ابتدا بنویسید: diary matlab_output.txt از این لحظه به بعد، دستورات و خروجی‌هایی [&#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 ناگهان با کند شدن سیستم یا پر شدن حافظه RAM مواجه می‌شویم. در چنین شرایطی یکی از اولین کارهایی که می‌توان انجام داد، [&#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) + numberOfExpandedNodes; [cost , numberOfExpandedNodes] = SolveMazeBidirectional(problem, false, BFSFringe, BFSFringe); y2(i) = y2(i) + numberOfExpandedNodes; end y1(i) = y1(i)/(i*numberOfExperiments); y2(i) = y2(i)/(i*numberOfExperiments); end [&#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 یکی از محبوب‌ترین نرم‌افزارهای مورد استفاده در ریاضیات است و از آن به عنوان یک محیط محاسباتی و تحلیلی استفاده می‌شود. 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/%d9%85%d8%b4%d8%a7%d9%87%d8%af%d9%87-%d9%88%d8%a7%d8%ad%d8%af%d9%87%d8%a7%db%8c-%d9%be%d8%b4%d8%aa%db%8c%d8%a8%d8%a7%d9%86%db%8c-%d8%b4%d9%88%d9%86%d8%af%d9%87-%d8%af%d8%b1-%d9%85%d8%aa%d9%84%d8%a8/</link>
					<comments>https://matlab1.ir/%d9%85%d8%b4%d8%a7%d9%87%d8%af%d9%87-%d9%88%d8%a7%d8%ad%d8%af%d9%87%d8%a7%db%8c-%d9%be%d8%b4%d8%aa%db%8c%d8%a8%d8%a7%d9%86%db%8c-%d8%b4%d9%88%d9%86%d8%af%d9%87-%d8%af%d8%b1-%d9%85%d8%aa%d9%84%d8%a8/#respond</comments>
		
		<dc:creator><![CDATA[ایران متلب]]></dc:creator>
		<pubDate>Tue, 10 Jan 2023 12:04:35 +0000</pubDate>
				<category><![CDATA[MATLAB متلب]]></category>
		<guid isPermaLink="false">https://matlab1.ir/?p=14597</guid>

					<description><![CDATA[<p>متلب و سیمولینک یکی از ابزارهای پر کاربرد در پروژه های مهندسی می باشند. در این پروژه ها از متغییرهای فیزیکی زیادی مانند فشار و نیرو و وزن و دبی استفاده می شود.هر متغییر فیزیکی دارای یک واحد SI می باشد. برای مشاهده لیست تمامی unit های پشیبانی شونده در نسخه متلب خود دستور زیر [&#8230;]</p>
<p>نوشته <a href="https://matlab1.ir/%d9%85%d8%b4%d8%a7%d9%87%d8%af%d9%87-%d9%88%d8%a7%d8%ad%d8%af%d9%87%d8%a7%db%8c-%d9%be%d8%b4%d8%aa%db%8c%d8%a8%d8%a7%d9%86%db%8c-%d8%b4%d9%88%d9%86%d8%af%d9%87-%d8%af%d8%b1-%d9%85%d8%aa%d9%84%d8%a8/">مشاهده واحدهای پشتیبانی شونده در متلب</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></description>
										<content:encoded><![CDATA[<p><span style="font-size: 14pt;">متلب و <a href="https://iran-matlab.ir/product/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%AC%D8%A7%D9%85%D8%B9-%D8%B3%DB%8C%D9%85%D9%88%D9%84%DB%8C%D9%86%DA%A9-simulink/" target="_blank" rel="noopener">سیمولینک</a> یکی از ابزارهای پر کاربرد در پروژه های مهندسی می باشند. در این پروژه ها از متغییرهای فیزیکی زیادی مانند فشار و نیرو و وزن و دبی استفاده می شود.هر متغییر فیزیکی دارای یک واحد SI می باشد.</span></p>
<p><span style="font-size: 14pt;">برای مشاهده لیست تمامی unit های پشیبانی شونده در نسخه متلب خود دستور زیر را در متلب وارد کنید.</span></p>
<p>&nbsp;</p>
<blockquote>
<p dir="ltr"><span style="font-size: 14pt;"><strong><span style="font-family: 'Courier New', Courier;">&gt; showunitslist</span></strong></span></p>
</blockquote>
<p dir="ltr">
<p dir="ltr">
<p dir="ltr">
<blockquote class="wp-embedded-content" data-secret="3c1Lb44Zuv"><p><a href="https://iran-matlab.ir/product/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d8%ac%d8%a7%d9%85%d8%b9-%d8%b3%db%8c%d9%85%d9%88%d9%84%db%8c%d9%86%da%a9-simulink/">آموزش جامع سیمولینک simulink</a></p></blockquote>
<p><iframe loading="lazy" class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="&#8220;آموزش جامع سیمولینک simulink&#8221; &#8212; ایران متلب" src="https://iran-matlab.ir/product/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d8%ac%d8%a7%d9%85%d8%b9-%d8%b3%db%8c%d9%85%d9%88%d9%84%db%8c%d9%86%da%a9-simulink/embed/#?secret=4dQvMazfHv#?secret=3c1Lb44Zuv" data-secret="3c1Lb44Zuv" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe></p>
<p>نوشته <a href="https://matlab1.ir/%d9%85%d8%b4%d8%a7%d9%87%d8%af%d9%87-%d9%88%d8%a7%d8%ad%d8%af%d9%87%d8%a7%db%8c-%d9%be%d8%b4%d8%aa%db%8c%d8%a8%d8%a7%d9%86%db%8c-%d8%b4%d9%88%d9%86%d8%af%d9%87-%d8%af%d8%b1-%d9%85%d8%aa%d9%84%d8%a8/">مشاهده واحدهای پشتیبانی شونده در متلب</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://matlab1.ir/%d9%85%d8%b4%d8%a7%d9%87%d8%af%d9%87-%d9%88%d8%a7%d8%ad%d8%af%d9%87%d8%a7%db%8c-%d9%be%d8%b4%d8%aa%db%8c%d8%a8%d8%a7%d9%86%db%8c-%d8%b4%d9%88%d9%86%d8%af%d9%87-%d8%af%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%b1%d8%a7%d9%87%d9%86%d9%85%d8%a7%db%8c-%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87-%d9%86%d9%88%db%8c%d8%b3%db%8c-%d9%be%d8%a7%db%8c%d8%aa%d9%88%d9%86-%d8%af%d8%b1-%d9%85%d8%aa%d9%84%d8%a8/</link>
					<comments>https://matlab1.ir/%d8%b1%d8%a7%d9%87%d9%86%d9%85%d8%a7%db%8c-%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87-%d9%86%d9%88%db%8c%d8%b3%db%8c-%d9%be%d8%a7%db%8c%d8%aa%d9%88%d9%86-%d8%af%d8%b1-%d9%85%d8%aa%d9%84%d8%a8/#respond</comments>
		
		<dc:creator><![CDATA[ایران متلب]]></dc:creator>
		<pubDate>Tue, 24 Aug 2021 10:22:52 +0000</pubDate>
				<category><![CDATA[آموزش python]]></category>
		<guid isPermaLink="false">https://matlab1.ir/?p=14569</guid>

					<description><![CDATA[<p>پایتون یکی از زبان های برنامه نویسی مشهور می باشد که دارای قابلیت های بسیار متنوعی می باشد. شما می توانید در متلب هم برنامه نویسی پایتون انجام دهید. &#160; مراحل کار : 1) پایتون را دانلود کنید و بر روی سیستم خود نصب کنید. اگر در نصب پایتون مشکل دارید می توانید آموزش برنامه [&#8230;]</p>
<p>نوشته <a href="https://matlab1.ir/%d8%b1%d8%a7%d9%87%d9%86%d9%85%d8%a7%db%8c-%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87-%d9%86%d9%88%db%8c%d8%b3%db%8c-%d9%be%d8%a7%db%8c%d8%aa%d9%88%d9%86-%d8%af%d8%b1-%d9%85%d8%aa%d9%84%d8%a8/">راهنمای برنامه نویسی پایتون در متلب</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></description>
										<content:encoded><![CDATA[<p>پایتون یکی از زبان های برنامه نویسی مشهور می باشد که دارای قابلیت های بسیار متنوعی می باشد. شما می توانید در متلب هم برنامه نویسی پایتون انجام دهید.</p>
<p>&nbsp;</p>
<h2>مراحل کار :</h2>
<p>1) پایتون را دانلود کنید و بر روی سیستم خود نصب کنید.</p>
<p>اگر در نصب پایتون مشکل دارید می توانید <a href="https://iran-matlab.ir/product/%D9%81%DB%8C%D9%84%D9%85-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86-python/" target="_blank" rel="noopener">آموزش برنامه نویسی پایتون</a> را مشاهده کنید.</p>
<p>&nbsp;</p>
<p>2) سپس از طریق دستور pyenv تنظمیات زیر را انجام دهید.</p>
<p>مسیری جایی که فایل اجرایی پایتون قرار دارد را پیدا کنید و آنرا کپی بگیرید. سپس دستور زیر را در متلب وارد کنید :</p>
<p dir="ltr"><strong><span style="font-family: 'Courier New', Courier;">pyenv(&#8216;Version&#8217;,&#8217;<span style="color: #ff0000;">C:\Software\software\python-3.8.11-h6244533_1\python.exe</span>&#8216;)</span></strong></p>
<p>با این کار شما محا نصب پایتون را به متلب معرفی کردید.</p>
<p>اگر با پیغام زیر برخورد کردید یعنی کار درست انجام شده است :</p>
<p dir="ltr"><span style="color: #000000;"><strong><span style="font-family: 'Courier New', Courier;">ans =</span></strong></span></p>
<p dir="ltr"><span style="color: #000000;"><strong><span style="font-family: 'Courier New', Courier;">PythonEnvironment with properties:</span></strong></span></p>
<p dir="ltr"><span style="color: #000000;"><strong><span style="font-family: 'Courier New', Courier;">Version: &#8220;3.8&#8221;</span></strong></span><br />
<span style="color: #000000;"><strong><span style="font-family: 'Courier New', Courier;">Executable: &#8220;C:\Software\software\python-3.8.11-h6244533_1\python.exe&#8221;</span></strong></span><br />
<span style="color: #000000;"><strong><span style="font-family: 'Courier New', Courier;">Library: &#8220;C:\Software\software\python-3.8.11-h6244533_1\python38.dll&#8221;</span></strong></span><br />
<span style="color: #000000;"><strong><span style="font-family: 'Courier New', Courier;">Home: &#8220;C:\Software\software\python-3.8.11-h6244533_1&#8221;</span></strong></span><br />
<span style="color: #000000;"><strong><span style="font-family: 'Courier New', Courier;">Status: NotLoaded</span></strong></span><br />
<span style="color: #000000;"><strong><span style="font-family: 'Courier New', Courier;">ExecutionMode: InProcess</span></strong></span></p>
<p dir="ltr">
<p>حال دستورات پایتون را می توانید در کدهای خود استفاده کنید :</p>
<p>&nbsp;</p>
<p dir="ltr"><span style="font-family: 'Courier New', Courier;">py.list({&#8216;This&#8217;,&#8217;is a&#8217;,&#8217;list&#8217;})</span></p>
<p dir="ltr">
<p dir="ltr"><span style="font-family: 'Courier New', Courier;">res = py.list({&#8216;Name1&#8242;,&#8217;Name2&#8242;,&#8217;Name3&#8217;})</span></p>
<p dir="ltr"><span style="font-family: 'Courier New', Courier;">res.append(&#8216;Name4&#8217;)</span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>نوشته <a href="https://matlab1.ir/%d8%b1%d8%a7%d9%87%d9%86%d9%85%d8%a7%db%8c-%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87-%d9%86%d9%88%db%8c%d8%b3%db%8c-%d9%be%d8%a7%db%8c%d8%aa%d9%88%d9%86-%d8%af%d8%b1-%d9%85%d8%aa%d9%84%d8%a8/">راهنمای برنامه نویسی پایتون در متلب</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://matlab1.ir/%d8%b1%d8%a7%d9%87%d9%86%d9%85%d8%a7%db%8c-%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87-%d9%86%d9%88%db%8c%d8%b3%db%8c-%d9%be%d8%a7%db%8c%d8%aa%d9%88%d9%86-%d8%af%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%af%d9%88%d8%b1%d9%87-%d9%be%db%8c%d8%b4%d8%b1%d9%81%d8%aa%d9%87-%d9%88-%d8%ac%d8%a7%d9%85%d8%b9-%d9%85%d9%87%d9%86%d8%af%d8%b3%db%8c-%d9%85%d8%a7%d8%b4%db%8c%d9%86-%d9%87%d8%a7%db%8c-%d8%a8%d8%af/</link>
					<comments>https://matlab1.ir/%d8%af%d9%88%d8%b1%d9%87-%d9%be%db%8c%d8%b4%d8%b1%d9%81%d8%aa%d9%87-%d9%88-%d8%ac%d8%a7%d9%85%d8%b9-%d9%85%d9%87%d9%86%d8%af%d8%b3%db%8c-%d9%85%d8%a7%d8%b4%db%8c%d9%86-%d9%87%d8%a7%db%8c-%d8%a8%d8%af/#respond</comments>
		
		<dc:creator><![CDATA[ایران متلب]]></dc:creator>
		<pubDate>Sat, 05 Jun 2021 03:12:05 +0000</pubDate>
				<category><![CDATA[خودرو بدون راننده]]></category>
		<guid isPermaLink="false">https://matlab1.ir/?p=14554</guid>

					<description><![CDATA[<p>یکی از موضوعات جالب در دهه اخیر ماشین های بدون راننده می باشند که هم اکنون شرکت های بزرگ خودروسازی ، پیشرفت های چشمگیری در این زمینه داشته اند.  در حدود یک سال است که قصد داشتیم یک دوره جامع و پیشرفته مهندسی این خودرو ها را تهیه کنیم که حاصل شد این دوره آموزشی [&#8230;]</p>
<p>نوشته <a href="https://matlab1.ir/%d8%af%d9%88%d8%b1%d9%87-%d9%be%db%8c%d8%b4%d8%b1%d9%81%d8%aa%d9%87-%d9%88-%d8%ac%d8%a7%d9%85%d8%b9-%d9%85%d9%87%d9%86%d8%af%d8%b3%db%8c-%d9%85%d8%a7%d8%b4%db%8c%d9%86-%d9%87%d8%a7%db%8c-%d8%a8%d8%af/">دوره پیشرفته و جامع مهندسی ماشین های بدون راننده</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></description>
										<content:encoded><![CDATA[<figure id="attachment_26055" aria-describedby="caption-attachment-26055" style="width: 900px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-26055" src="https://iran-matlab.ir/wp-content/uploads/2020/11/self-driving-car-course.jpg" alt="" width="900" height="301" /><figcaption id="caption-attachment-26055" class="wp-caption-text">دوره اتومبیل رانندگی خودکار</figcaption></figure>
<p style="text-align: justify;"><span style="font-size: 14pt;">یکی از موضوعات جالب در دهه اخیر ماشین های بدون راننده می باشند که هم اکنون شرکت های بزرگ خودروسازی ، پیشرفت های چشمگیری در این زمینه داشته اند. </span></p>
<p style="text-align: justify;"><span style="font-size: 14pt;">در حدود یک سال است که قصد داشتیم یک دوره جامع و پیشرفته مهندسی این خودرو ها را تهیه کنیم که حاصل شد این دوره آموزشی که مشاهده می کنید.</span></p>
<p style="text-align: center;"><a href="https://iran-matlab.ir/product/%d8%af%d9%88%d8%b1%d9%87-%d9%be%db%8c%d8%b4%d8%b1%d9%81%d8%aa%d9%87-%d9%88-%d8%ac%d8%a7%d9%85%d8%b9-%d9%85%d9%87%d9%86%d8%af%d8%b3%db%8c-%d9%85%d8%a7%d8%b4%db%8c%d9%86-%d9%87%d8%a7%db%8c-%d8%a8%d8%af/"><img loading="lazy" decoding="async" class="aligncenter size-medium" src="https://iran-matlab.ir/wp-content/uploads/2021/06/self-driving-car-autonomous-vehicles-course.jpg" width="500" height="500" /></a></p>
<p style="text-align: justify;"><span style="font-size: 14pt;">این دوره آموزشی بسیار جامع و کامل و حرفه ای می باشد و به عبارت دیگر بچه بازی نیست. شما در این دوره با مفاهیم بسیار زیادی آشنا می شوید و همزمان نحوه پیاده سازی آن در زبان سی یا پایتون را یاد خواهید گرفت و در برخی از قسمت ها مباحث پیچیده هوش مصنوعی و بینایی ماشین و پردازش تصویر را یاد خواهید گرفت.</span></p>
<p style="text-align: justify;"><em><strong><span style="font-size: 14pt;">نکته مهم در این دوره این است که شما با یک ماشین بدون راننده واقعی کار خواهید کرد و همه اش تئوری نیست و کاملا کاربردی است.</span></strong></em></p>
<p>&nbsp;</p>
<p style="text-align: center;"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-26053" src="https://iran-matlab.ir/wp-content/uploads/2020/11/Brand-car.jpg" alt="" width="1024" height="89" /></p>
<p>&nbsp;</p>
<h2>پیش نیازها و الزامات</h2>
<p style="text-align: justify;"><span style="font-size: 14pt;">شما باید دانش زیر را داشته باشید:</span></p>
<p style="text-align: justify;"><span style="font-size: 14pt;">پایتون متوسط (کلاسها ، ساختارهای داده)</span><br />
<span style="font-size: 14pt;">برنامه نویسی C متوسط (کلاسها ، مدیریت حافظه ، پیوند دادن)</span><br />
<span style="font-size: 14pt;">جبر خطی پایه (ماتریس ، بردار ، ضرب ماتریس)</span><br />
<span style="font-size: 14pt;">حسابان (مشتقات ، انتگرال ها)</span><br />
<span style="font-size: 14pt;">آمار (میانگین ، انحراف معیار ، توزیع گوسی)</span><br />
<span style="font-size: 14pt;">فیزیک پایه (نیروها)</span></p>
<p>&nbsp;</p>
<h2 style="text-align: center;"><strong><span style="color: #ff6600;">دوره 1: مقدمه</span></strong></h2>
<p style="text-align: justify;"><span style="font-size: 14pt;">در این دوره ، شما در مورد چگونگی کارکرد اتومبیل های خودران یاد خواهید گرفت و در اولین پروژه اتومبیل مستقل خود ( پیدا کردن خطوط در جاده ها )  شروع به کار خواهید کرد.</span></p>
<p>&nbsp;</p>
<h2 style="text-align: center;"><span style="color: #ff6600;"><strong>دوره 2: بینایی ماشین</strong></span></h2>
<p style="text-align: justify;"><span style="font-size: 14pt;">برای یافتن خطوط در جاده های دشوار و ردیابی وسایل نقلیه ترکیبی از دوربین ، نرم افزار و <a href="https://iran-matlab.ir/product/%D8%A8%D8%B3%D8%AA%D9%87-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%AC%D8%A7%D9%85%D8%B9-%DB%8C%D8%A7%D8%AF%DA%AF%DB%8C%D8%B1%DB%8C-%D9%85%D8%A7%D8%B4%DB%8C%D9%86-machine-learning/" target="_blank" rel="noopener noreferrer">یادگیری ماشین</a> استفاده خواهید کرد. شما با کالیبراسیون دوربین ها و دستکاری تصاویر شروع خواهید کرد و با استفاده از <a href="https://iran-matlab.ir/product/%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87-%d9%86%d9%88%db%8c%d8%b3%db%8c-%d9%85%d8%aa%d9%84%d8%a8-%d9%85%d8%a7%d8%b4%db%8c%d9%86-%d8%a8%d8%b1%d8%af%d8%a7%d8%b1-%d9%be%d8%b4%d8%aa%db%8c%d8%a8%d8%a7%d9%86/" target="_blank" rel="noopener noreferrer">ماشین های بردار پشتیبان</a> و <a href="https://iran-matlab.ir/product/%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D9%85%D8%AA%D9%84%D8%A8-%D8%AF%D8%B1%D8%AE%D8%AA-%D8%AA%D8%B5%D9%85%DB%8C%D9%85/" target="_blank" rel="noopener noreferrer">درخت تصمیم گیری</a> برای استخراج اطلاعات از یک فیلم خاتمه خواهید یافت.</span></p>
<p>&nbsp;</p>
<h3>پروژه دوره : یافتن خطوط باند در جاده ها</h3>
<p style="text-align: justify;"><span style="font-size: 14pt;">در این پروژه ، شما در حال نوشتن کد برای شناسایی خطوط خط در جاده ، ابتدا در یک تصویر ، و بعداً در یک جریان ویدیویی هستید ( فیلم واقعی ). برای تکمیل این پروژه ، از ابزاری که در درس آموخته اید استفاده خواهید کرد و بر اساس آنها کار خواهید کرد.</span></p>
<p>&nbsp;</p>
<h3>پروژه دوره : یافتن خط پیشرفته</h3>
<p style="text-align: justify;"><span style="font-size: 14pt;">در این پروژه ، هدف شما نوشتن نرم افزاری برای شناسایی مرزهای خط در یک فیلم از یک دوربین جلوی ماشین است.</span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h2 style="text-align: center;"><span style="color: #ff6600;"><strong>دوره 3: یادگیری عمیق</strong></span></h2>
<p style="text-align: justify;"><span style="font-size: 14pt;"><a href="https://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">یادگیری عمیق</a> به مهمترین مرز هم در <a href="https://iran-matlab.ir/product/%D8%A8%D8%B3%D8%AA%D9%87-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%AC%D8%A7%D9%85%D8%B9-%DB%8C%D8%A7%D8%AF%DA%AF%DB%8C%D8%B1%DB%8C-%D9%85%D8%A7%D8%B4%DB%8C%D9%86-machine-learning/" target="_blank" rel="noopener noreferrer">یادگیری ماشین</a> و هم در توسعه وسایل نقلیه مستقل تبدیل شده است. کارشناسان NVIDIA و Uber ATG ساخت شبکه های عصبی عمیق و آموزش آنها را با داده های دنیای واقعی و شبیه ساز به شما آموزش می دهند.</span><br />
<span style="font-size: 14pt;">با پایان این دوره ، شما می توانید <a href="https://iran-matlab.ir/product/%D9%81%DB%8C%D9%84%D9%85-%D8%A2%D9%85%D9%88%D8%B2%D8%B4%DB%8C-%D8%B4%D8%A8%DA%A9%D9%87-%D8%B9%D8%B5%D8%A8%DB%8C-%DA%A9%D8%A7%D9%86%D8%A7%D9%84%D9%88%D8%B4%D9%86/" target="_blank" rel="noopener noreferrer">شبکه های عصبی کانولوشن</a> را برای طبقه بندی علائم راهنمایی و رانندگی یک وسیله نقلیه در شبیه ساز به همان روشی که خودتان رانندگی می کنید آموزش دهید!</span></p>
<h3></h3>
<h3>درس اول : شبکه های عصبی</h3>
<p style="text-align: justify;"><span style="font-size: 14pt;">ساختن و آموزش <a href="https://iran-matlab.ir/product/%d9%81%d9%8a%d9%84%d9%85-%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d9%81%d8%a7%d8%b1%d8%b3%d9%8a-%d8%b4%d8%a8%d9%83%d9%87-%d9%87%d8%a7%d9%8a-%d8%b9%d8%b5%d8%a8%d9%8a/" target="_blank" rel="noopener noreferrer">شبکه های عصبی</a> را بیاموزید ، از مبانی رگرسیون خطی و لجستیک شروع کنید و در اواخر شبکه های انتزاعی و ادراک چند لایه به نتیجه برسید.</span></p>
<h3></h3>
<h3>درس دوم : <a href="https://iran-matlab.ir/product/%D9%81%DB%8C%D9%84%D9%85-%D8%A2%D9%85%D9%88%D8%B2%D8%B4%DB%8C-%D9%81%D8%A7%D8%B1%D8%B3%DB%8C-tensorflow/" target="_blank" rel="noopener noreferrer">TensorFlow</a></h3>
<p style="text-align: justify;"><span style="font-size: 14pt;">وینسنت وانوچک ، دانشمند اصلی در <a href="https://research.google/teams/brain/" target="_blank" rel="noopener noreferrer">Google Brain</a> ، شما را با <a href="https://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">یادگیری عمیق</a> و TensorFlow ، چارچوب یادگیری عمیق Google آشنا می کند.</span></p>
<h3></h3>
<h3>درس سوم : شبکه های عصبی عمیق</h3>
<p style="text-align: justify;"><span style="font-size: 14pt;">وینسنت شما را راهنمایی می کند که چگونه از یک شبکه عصبی ساده به یک <a href="https://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">شبکه عصبی عمیق</a> بروید. شما در مورد اینکه چرا لایه های اضافی می توانند کمک کنند و همچنین نحوه جلوگیری از over fitting ، یاد خواهید گرفت.</span></p>
<h3></h3>
<h3>درس چهارم : شبکه های عصبی کانولوشن</h3>
<p style="text-align: justify;"><span style="font-size: 14pt;">وینسنت نظریه پشتیبان شبکه های عصبی Convolutional و چگونگی کمک به آنها را در بهبود چشمگیر عملکرد در طبقه بندی تصاویر توضیح می دهد.</span></p>
<p>&nbsp;</p>
<h3>درس پنجم : کراس <a href="https://iran-matlab.ir/product/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D9%81%D8%A7%D8%B1%D8%B3%DB%8C-%DB%8C%D8%A7%D8%AF%DA%AF%DB%8C%D8%B1%DB%8C-%D8%B9%D9%85%DB%8C%D9%82-%D8%AF%D8%B1-%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86-keras/" target="_blank" rel="noopener">Keras</a></h3>
<p style="text-align: justify;"><span style="font-size: 14pt;">شبکه عصبی را در چارچوب کدنویسی کن. (کراس). شگفت زده خواهید شد که برای ساخت و آموزش شبکه های عصبی عمیق به چند خط کد نیاز دارید!</span></p>
<p>&nbsp;</p>
<h3>درس ششم : انتقال یادگیری</h3>
<p style="text-align: justify;"><span style="font-size: 14pt;">با برخی از معروف ترین معماری های<a href="https://iran-matlab.ir/product/%d9%81%d9%8a%d9%84%d9%85-%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d9%81%d8%a7%d8%b1%d8%b3%d9%8a-%d8%b4%d8%a8%d9%83%d9%87-%d9%87%d8%a7%d9%8a-%d8%b9%d8%b5%d8%a8%d9%8a/" target="_blank" rel="noopener noreferrer"> شبکه عصبی</a> و نحوه استفاده از آنها آشنا شوید. در پایان این درس ، شما می دانید که چگونه با استفاده از شبکه های متعارف موجود، مدل های جدیدی ایجاد کنید.</span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h3>پروژه دوره : طبقه بندی علامت راهنمایی و رانندگی</h3>
<p style="text-align: justify;"><span style="font-size: 14pt;">شما با یادگیری عمیق ، تازه اول راه هستید. اکنون مهارت های خود را با استفاده از یادگیری عمیق برای طبقه بندی علائم مختلف راهنمایی رانندگی امتحان کنید! در این پروژه ، برای طبقه بندی علائم راهنمایی و رانندگی از آنچه در مورد شبکه های عصبی عمیق و شبکه های عصبی کانولوشن آموخته اید ، استفاده خواهید کرد.</span></p>
<p>&nbsp;</p>
<h3>پروژه دوره : شبیه سازی رفتاری</h3>
<p style="text-align: justify;"><span style="font-size: 14pt;">مهارت های <a href="https://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">یادگیری عمیق</a> خود را با این پروژه امتحان کنید! یک شبکه عصبی عمیق را آموزش دهید تا مانند شما اتومبیل رانندگی کنید!</span></p>
<p>&nbsp;</p>
<figure id="attachment_26061" aria-describedby="caption-attachment-26061" style="width: 900px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-26061" src="https://iran-matlab.ir/wp-content/uploads/2020/11/autonomus-car-course-training.jpg" alt="" width="900" height="580" /><figcaption id="caption-attachment-26061" class="wp-caption-text">آموزش دوره اتومبیل مستقل</figcaption></figure>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h2 style="text-align: center;">دوره 4: Sensor Fusion</h2>
<p style="text-align: justify;"><span style="font-size: 14pt;">ردیابی اشیا با گذشت زمان چالشی اساسی برای درک محیط اطراف یک وسیله نقلیه است.</span><br />
<span style="font-size: 14pt;">مهندسان sensor fusion از مرسدس بنز به شما نشان می دهند که چگونه برنامه های اساسی ریاضی به نام فیلترهای کالمان را برنامه ریزی کنید. این فیلترها محل قرارگیری سایر وسایل نقلیه در جاده را با قطعیت پیش بینی و تعیین می کنند. حتی با استفاده از یک تکنیک پیشرفته: فیلتر توسعه یافته Kalman ، یاد می گیرید این کار را با اشیایی که به سختی قابل پیگیری هستند انجام دهید.</span></p>
<p>&nbsp;</p>
<h3>درس اول: حسگرها</h3>
<p><span style="font-size: 14pt;">با تیمی در مرسدس آشنا شوید که به شما کمک می کند اشیا را ردیابی کنید در زمان واقعی با سنسور (حسگرها).</span></p>
<p>&nbsp;</p>
<h3>درس دوم: فیلترهای کالمن</h3>
<p><span style="font-size: 14pt;">از بهترین ها بیاموزید! سباستین ترون شما را در استفاده و مفاهیم فیلتر کالمن با استفاده از پایتون راهنمایی می کند.</span></p>
<p>&nbsp;</p>
<h3>درس سوم: checkpoint  در زبان سی پلاس پلاس</h3>
<p><span style="font-size: 14pt;">آیا آماده ساخت فیلترهای Kalman با C ++ هستید؟ </span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h3>درس چهارم: فیلترهای Extended Kalman</h3>
<p style="text-align: justify;"><span style="font-size: 14pt;">در این درس ، شما یک فیلتر Kalman در C ++ خواهید ساخت که توانایی مدیریت داده ها از چندین منبع را دارد. چرا C ++؟ عملکرد آن امکان استفاده از ردیابی اشیا با فیلتر Kalman را در زمان واقعی فراهم می کند.</span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h3>پروژه دوره: فیلتر کالمن Extended</h3>
<p style="text-align: justify;"><span style="font-size: 14pt;">در این پروژه ، با اجرای یک فیلتر Extended Kalman در ++ C ، هر آنچه را که تاکنون درباره Sensor Fusion آموخته اید ، اعمال خواهید کرد!</span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h2 style="text-align: center;">دوره 5: محلی سازی</h2>
<p style="text-align: justify;"><span style="font-size: 14pt;">محلی سازی نحوه تعیین موقعیت وسیله نقلیه ما در جهان است. GPS عالی است ، اما فقط در چند متری دقیق است. ما به دقت سطح یک سانتی متر تک رقمی نیاز داریم! برای دستیابی به این هدف ، مهندسان مرسدس بنز اصول محلی سازی ماركوف را برای برنامه ریزی یك فیلتر ذرات ، كه با استفاده از داده ها و نقشه برای تعیین محل دقیق یك وسیله نقلیه ، نشان می دهند.</span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h2 style="text-align: center;">دوره 6: برنامه ریزی مسیر</h2>
<p style="text-align: justify;"><span style="font-size: 14pt;">برنامه ریزی مسیر ، وسیله نقلیه را از یک نقطه به نقطه دیگر هدایت می کند و نحوه واکنش در هنگام بروز شرایط اضطراری را کنترل می کند. تیم اطلاعاتی مرسدس بنز وسیله نقلیه شما را در سه مرحله برنامه ریزی مسیر طی می کند.</span><br />
<span style="font-size: 14pt;">ابتدا روشهای مبتنی بر مدل و داده محور را برای پیش بینی نحوه رفتار سایر وسایل نقلیه در جاده اعمال خواهید کرد. سپس شما یک ماشین حالت محدود برای تصمیم گیری در مورد اینکه کدام یک از مانورهای مختلف وسیله نقلیه شخصی شما را انجام می دهد ، می سازید. سرانجام ، یک مسیر ایمن و راحت برای اجرای آن مانور ایجاد خواهید کرد.</span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h2 style="text-align: center;">دوره 7: کنترل</h2>
<p style="text-align: justify;"><span style="font-size: 14pt;">در نهایت ، یک اتومبیل خودران هنوز یک ماشین است و ما باید دستورات فرمان ، گاز و ترمز را ارسال کنیم تا ماشین در جاده حرکت کند. Uber ATG شما را در ساخت کنترل کننده های متناسب-انتگرال-مشتق (PID) و مدل های کنترل کننده پیش بینی راهنمایی می کند. بین این الگوریتم های کنترل ، با تکنیک های اساسی و پیشرفته برای تحریک خودرو آشنا خواهید شد.</span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h2 style="text-align: center;">دوره 8: یکپارچه سازی سیستم</h2>
<p style="text-align: justify;"><span style="font-size: 14pt;">هر چی در طول این آموزش یاد خواهید گرفت را با هم ترکیب می کنیم.</span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p style="text-align: center;"><a href="https://iran-matlab.ir/product/%d8%af%d9%88%d8%b1%d9%87-%d9%be%db%8c%d8%b4%d8%b1%d9%81%d8%aa%d9%87-%d9%88-%d8%ac%d8%a7%d9%85%d8%b9-%d9%85%d9%87%d9%86%d8%af%d8%b3%db%8c-%d9%85%d8%a7%d8%b4%db%8c%d9%86-%d9%87%d8%a7%db%8c-%d8%a8%d8%af/" target="_blank" rel="noopener"><span style="font-size: 36pt;">لینک سفارش</span></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>.</p>
<p>نوشته <a href="https://matlab1.ir/%d8%af%d9%88%d8%b1%d9%87-%d9%be%db%8c%d8%b4%d8%b1%d9%81%d8%aa%d9%87-%d9%88-%d8%ac%d8%a7%d9%85%d8%b9-%d9%85%d9%87%d9%86%d8%af%d8%b3%db%8c-%d9%85%d8%a7%d8%b4%db%8c%d9%86-%d9%87%d8%a7%db%8c-%d8%a8%d8%af/">دوره پیشرفته و جامع مهندسی ماشین های بدون راننده</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://matlab1.ir/%d8%af%d9%88%d8%b1%d9%87-%d9%be%db%8c%d8%b4%d8%b1%d9%81%d8%aa%d9%87-%d9%88-%d8%ac%d8%a7%d9%85%d8%b9-%d9%85%d9%87%d9%86%d8%af%d8%b3%db%8c-%d9%85%d8%a7%d8%b4%db%8c%d9%86-%d9%87%d8%a7%db%8c-%d8%a8%d8%af/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 cannot be installed to this disk The selected disk is of the GPT partition style FIX خیلی از سایت ها روش های زیادی [&#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 loading="lazy" 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="auto, (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>معرفي يك سايت يادگيري زبان</title>
		<link>https://matlab1.ir/%d9%85%d8%b9%d8%b1%d9%81%d9%8a-%d9%8a%d9%83-%d8%b3%d8%a7%d9%8a%d8%aa-%d9%8a%d8%a7%d8%af%da%af%d9%8a%d8%b1%d9%8a-%d8%b2%d8%a8%d8%a7%d9%86/</link>
					<comments>https://matlab1.ir/%d9%85%d8%b9%d8%b1%d9%81%d9%8a-%d9%8a%d9%83-%d8%b3%d8%a7%d9%8a%d8%aa-%d9%8a%d8%a7%d8%af%da%af%d9%8a%d8%b1%d9%8a-%d8%b2%d8%a8%d8%a7%d9%86/#respond</comments>
		
		<dc:creator><![CDATA[ایران متلب]]></dc:creator>
		<pubDate>Thu, 30 Jul 2020 04:55:35 +0000</pubDate>
				<category><![CDATA[آلمان]]></category>
		<guid isPermaLink="false">https://matlab1.ir/?p=14423</guid>

					<description><![CDATA[<p>يك سايت خوب براي يادگيري تلفظ كلمات و نحوه استفاده از آنها براي زبان انگليسي https://youglish.com/ &#160; https://dictionary.video/ &#160; &#160; براي زبان آلماني https://youglish.com/german &#160; نكته جالب اين سايت در اين است كه شما بعد از جستجوي يك كلمه، تعداد زيادي ويدئو به عنوان نتيجه جستجو آورده مي شود. در اين ويدئوها قسمتي كه اين [&#8230;]</p>
<p>نوشته <a href="https://matlab1.ir/%d9%85%d8%b9%d8%b1%d9%81%d9%8a-%d9%8a%d9%83-%d8%b3%d8%a7%d9%8a%d8%aa-%d9%8a%d8%a7%d8%af%da%af%d9%8a%d8%b1%d9%8a-%d8%b2%d8%a8%d8%a7%d9%86/">معرفي يك سايت يادگيري زبان</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></description>
										<content:encoded><![CDATA[<p><span style="font-size: 18pt;">يك سايت خوب براي يادگيري تلفظ كلمات و نحوه استفاده از آنها</span></p>
<p><span style="font-size: 18pt;">براي زبان انگليسي</span></p>
<p><span style="font-size: 18pt;"><a href="https://youglish.com/" target="_blank" rel="noopener noreferrer">https://youglish.com/</a></span></p>
<p>&nbsp;</p>
<p><span style="font-size: 18pt;"><a href="https://dictionary.video/" target="_blank" rel="noopener">https://dictionary.video/</a></span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="font-size: 18pt;">براي زبان آلماني</span></p>
<p><span style="font-size: 18pt;"><a href="https://youglish.com/german" target="_blank" rel="noopener noreferrer">https://youglish.com/german</a></span></p>
<p>&nbsp;</p>
<p><span style="font-size: 18pt;">نكته جالب اين سايت در اين است كه شما بعد از جستجوي يك كلمه، تعداد زيادي ويدئو به عنوان نتيجه جستجو آورده مي شود.</span></p>
<p><span style="font-size: 18pt;">در اين ويدئوها قسمتي كه اين كلمه گفته مي شود انتخاب شده است و شما بعد از كليك بر روي play ، آن كلمه را در يك جمله مي شنويد و در قسمت زيرنويس مي بينيد.</span></p>
<p>&nbsp;</p>
<p><span style="font-size: 18pt;">اين سايت به شما كمك مي كند كه تنها معني لغوي يك كلمه را ياد نگيريد بلكه يك كلمه را در جمله ياد بگيريد تا بهتر بتوانيد زبان مورد نظر خود را ياد بگيريد.</span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>نوشته <a href="https://matlab1.ir/%d9%85%d8%b9%d8%b1%d9%81%d9%8a-%d9%8a%d9%83-%d8%b3%d8%a7%d9%8a%d8%aa-%d9%8a%d8%a7%d8%af%da%af%d9%8a%d8%b1%d9%8a-%d8%b2%d8%a8%d8%a7%d9%86/">معرفي يك سايت يادگيري زبان</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://matlab1.ir/%d9%85%d8%b9%d8%b1%d9%81%d9%8a-%d9%8a%d9%83-%d8%b3%d8%a7%d9%8a%d8%aa-%d9%8a%d8%a7%d8%af%da%af%d9%8a%d8%b1%d9%8a-%d8%b2%d8%a8%d8%a7%d9%86/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>بسته آموزشی جامع پیش بینی بورس با هوش مصنوعی</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-%d9%be%db%8c%d8%b4-%d8%a8%db%8c%d9%86%db%8c-%d8%a8%d9%88%d8%b1%d8%b3-%d8%a8%d8%a7-%d9%87%d9%88%d8%b4-%d9%85%d8%b5/</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-%d9%be%db%8c%d8%b4-%d8%a8%db%8c%d9%86%db%8c-%d8%a8%d9%88%d8%b1%d8%b3-%d8%a8%d8%a7-%d9%87%d9%88%d8%b4-%d9%85%d8%b5/#comments</comments>
		
		<dc:creator><![CDATA[ایران متلب]]></dc:creator>
		<pubDate>Wed, 29 Jul 2020 06:20:47 +0000</pubDate>
				<category><![CDATA[آموزش python]]></category>
		<category><![CDATA[هوش مصنوعی]]></category>
		<category><![CDATA[یادگیری عمیق]]></category>
		<category><![CDATA[یادگیری ماشین در پایتون]]></category>
		<category><![CDATA[بورس تهران]]></category>
		<category><![CDATA[پیش بینی بورس]]></category>
		<category><![CDATA[خرید بهترین سهام]]></category>
		<category><![CDATA[سهام بورس هوش مصنوعی]]></category>
		<category><![CDATA[شبکه عصبی و بورس]]></category>
		<category><![CDATA[فرابورس]]></category>
		<category><![CDATA[کارگزاری هوش مصنوعی]]></category>
		<category><![CDATA[یادگیری ماشین بورس]]></category>
		<guid isPermaLink="false">https://matlab1.ir/?p=14418</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-%d9%be%db%8c%d8%b4-%d8%a8%db%8c%d9%86%db%8c-%d8%a8%d9%88%d8%b1%d8%b3-%d8%a8%d8%a7-%d9%87%d9%88%d8%b4-%d9%85%d8%b5/">بسته آموزشی جامع پیش بینی بورس با هوش مصنوعی</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></description>
										<content:encoded><![CDATA[<h2></h2>
<h2></h2>
<h2><strong><span style="color: #ff6600;">چرا این آموزش ؟</span></strong></h2>
<p style="text-align: justify;"><span style="font-size: 16pt;">در سالهای اخیر سیل علاقه مندان بسیار زیادی وارد <a href="https://tse.ir/" target="_blank" rel="noopener noreferrer">بورس</a> شده اند و برخی از آنها سودهای میلیاردی نصیب خود کرده اند. برخی از آنها به تحلیل های اقتصادی و تکنیکال بورس آشنایی دارند و می توانند روند تغییر قیمت در بورس را پیش بینی کنند. اما همه این دانش و توانایی را ندارند.</span></p>
<p style="text-align: justify;"><span style="font-size: 16pt;"><a href="https://edition.cnn.com/2019/02/17/investing/artificial-intelligence-investors-machine-learning/index.html" target="_blank" rel="noopener noreferrer">خبری در سایت CNN</a> امده است که غول فناوری دنیا IBM ، یک سخت‌افزار ویژه برای استفاده از هوش مصنوعی در علم اقتصاد طراحی کرده است که نشان می دهد هوش مصنوعی چقدر می تواند به فعالین بورس کمک کند. </span></p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full" src="https://media.lesechos.com/api/v1/images/view/5d14737c8fe56f63c2439d9d/1280x720/2206844-bourse-de-premiers-fonds-dedies-a-lintelligence-artificielle-web-tete-0302276666667.jpg" width="1280" height="720" /></p>
<p style="text-align: justify;"><span style="font-size: 16pt;">یکی از ابزارهای بسیار پرکاربرد و مفید در جهان، <a href="https://iran-matlab.ir/%D9%87%D9%88%D8%B4-%D9%85%D8%B5%D9%86%D9%88%D8%B9%DB%8C/" target="_blank" rel="noopener noreferrer">هوش مصنوعی</a> می باشد. هم اکنون ماشین های بدون راننده با کمک الگوریتم های هوش مصنوعی در خیابان های تعدادی از کشورهای دنیا در حال رفت و آمد هستند که نشان دهنده قدرت و کاربردی بودن <a href="https://iran-matlab.ir/product-category/%d9%87%d9%88%d8%b4-%d9%85%d8%b5%d9%86%d9%88%d8%b9%db%8c/" target="_blank" rel="noopener noreferrer">هوش مصنوعی</a> دارد. گروه ایران متلب بنا به تجربه طولانی خود با مدلهای مختلف هوش مصنوعی، تصمیم گرفت این آموزش منحصربفرد را تهیه و عرضه کند. برای تهیه این آموزش چندین پایان‌نامه ارشد و دکتری در رشته های اقتصاد و مهندسی و کامپیوتر مطالعه شده است.</span></p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-25589" src="https://iran-matlab.ir/wp-content/uploads/2020/07/learning.jpg" alt="" width="900" height="555" /></p>
<h2><span style="color: #ff6600;">سرفصل های آموزش :</span></h2>
<p>(با توجه به انحصاری بودن این آموزش، سرفصل ها حذف شد، در آموزش اصلی که برای شما ارسال می شود، سرفصل ها کامل وجود دارند)</p>
<p>&nbsp;</p>
<p><span style="font-size: 16pt;">ما در قسمت برنامه نویسی هم از متلب و هم از پایتون استفاده کرده ایم.</span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p style="text-align: center;"><a href="https://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-%d9%be%db%8c%d8%b4-%d8%a8%db%8c%d9%86%db%8c-%d8%a8%d9%88%d8%b1%d8%b3-%d8%a8%d8%a7-%d9%87%d9%88%d8%b4-%d9%85%d8%b5/" target="_blank" rel="noopener noreferrer"><span style="font-size: 36pt;">لینک سفارش</span></a></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-%d9%be%db%8c%d8%b4-%d8%a8%db%8c%d9%86%db%8c-%d8%a8%d9%88%d8%b1%d8%b3-%d8%a8%d8%a7-%d9%87%d9%88%d8%b4-%d9%85%d8%b5/">بسته آموزشی جامع پیش بینی بورس با هوش مصنوعی</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-%d9%be%db%8c%d8%b4-%d8%a8%db%8c%d9%86%db%8c-%d8%a8%d9%88%d8%b1%d8%b3-%d8%a8%d8%a7-%d9%87%d9%88%d8%b4-%d9%85%d8%b5/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>نصب PHP و composer در ویندوز 10</title>
		<link>https://matlab1.ir/%d9%86%d8%b5%d8%a8-php-%d9%88-composer-%d8%af%d8%b1-%d9%88%db%8c%d9%86%d8%af%d9%88%d8%b2-10/</link>
					<comments>https://matlab1.ir/%d9%86%d8%b5%d8%a8-php-%d9%88-composer-%d8%af%d8%b1-%d9%88%db%8c%d9%86%d8%af%d9%88%d8%b2-10/#respond</comments>
		
		<dc:creator><![CDATA[ایران متلب]]></dc:creator>
		<pubDate>Wed, 15 Jul 2020 08:19:38 +0000</pubDate>
				<category><![CDATA[دسته‌بندی نشده]]></category>
		<guid isPermaLink="false">https://matlab1.ir/?p=14402</guid>

					<description><![CDATA[<p>نصب PHP Visual C ++ Redistributable for Visual Studio 2015 را نصب کنید — این در نوار جانبی صفحه پی اچ پی برای ویندوز بارگیری پیوند دارد ، اما نوعی پنهان است. اگر این کار را نکنید ، به یک پیغام خطای نسبتاً رمزنگاری خواهید رسید ، VCRUNTIME140.DLL پیدا نشد و دستورات php کار نمی [&#8230;]</p>
<p>نوشته <a href="https://matlab1.ir/%d9%86%d8%b5%d8%a8-php-%d9%88-composer-%d8%af%d8%b1-%d9%88%db%8c%d9%86%d8%af%d9%88%d8%b2-10/">نصب PHP و composer در ویندوز 10</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">نصب PHP</p>



<ol class="wp-block-list"><li><a aria-label="undefined (در یک زبانه جدید باز می‌شود)" href="http://www.microsoft.com/en-us/download/details.aspx?id=48145" target="_blank" rel="noreferrer noopener">Visual C ++ Redistributable for Visual Studio 2015</a> را نصب کنید — این در نوار جانبی صفحه پی اچ پی برای ویندوز بارگیری پیوند دارد ، اما نوعی پنهان است. اگر این کار را نکنید ، به یک پیغام خطای نسبتاً رمزنگاری خواهید رسید ، VCRUNTIME140.DLL پیدا نشد و دستورات php کار نمی کنند.</li><li><a aria-label="undefined (در یک زبانه جدید باز می‌شود)" href="https://windows.php.net/download/" target="_blank" rel="noreferrer noopener">PHP را برای ویندوز</a> بارگیری کنید. من ترجیح می دهم از 7.4.x (نسخه فعلی) استفاده کنم ، بنابراین آخرین نسخه 64 بیتی غیر موضوع را با امنیت 7.1.x بارگیری کردم. نسخه فایل .zip نسخه VC14 x64 Non Thread Safe را با عنوان PHP 7.1 بارگیری کردم.</li><li>فایل zip را در مسیر C: \ PHP7 گسترش دهید. شما می توانید در هر مسیری که خواستید آنرا قرار دهید. لزومی بر این مسیر نیست.</li><li>پیکربندی پی اچ پی را برای اجرای صحیح در سیستم خود پیکربندی کنید:</li></ol>



<p class="wp-block-paragraph">در پوشه C: \ PHP7 پرونده php.ini-develop را به php.ini تغییر دهید.<br>پرونده php.ini را در یک ویرایشگر متن ویرایش کنید (به عنوان مثال Notepad ++ ، Atom یا Sublime Text).</p>



<p class="wp-block-paragraph">در پوشه C: \ PHP7 پرونده php.ini-develop را به php.ini تغییر دهید.<br>تنظیمات زیر را در پرونده تغییر داده و پرونده را ذخیره کنید:<br>حافظه را از 128M به 1G تغییر دهید (زیرا composer می تواند از حافظه زیادی استفاده کند!)<br>خطی زیر را فعال کنید :</p>



<p class="has-text-align-center wp-block-paragraph">; extension_dir = &#8220;ext&#8221;</p>



<p class="wp-block-paragraph">; را از اول خط حذف کنید تا این خط فعال شود.</p>



<p class="wp-block-paragraph">اگر می خواهید یک افزونه بارگیری شود ، از موارد زیر استفاده کنید<br>نحو:</p>



<p class="wp-block-paragraph">پسوند = نام ماژول</p>



<p class="wp-block-paragraph">extension=modulename</p>



<p class="wp-block-paragraph">مثلا:</p>



<p class="wp-block-paragraph">extension = mysqli</p>



<p class="wp-block-paragraph">در قسمتی که دسته ای از extension= lines وجود دارد ، خطوط زیر را لغو کنید:</p>



<p class="has-text-align-center wp-block-paragraph">extension=gd2</p>



<p class="has-text-align-center wp-block-paragraph">extension=mbstring</p>



<p class="has-text-align-center wp-block-paragraph">extension=openssl</p>



<p class="has-text-align-center wp-block-paragraph">extension=pdo_mysql</p>



<p class="has-text-align-center wp-block-paragraph">extension=curl</p>



<p class="has-text-align-center wp-block-paragraph">extension=pdo_sqlite</p>



<p class="wp-block-paragraph">این کاملا به شما بستگی دارد که چه extension های نصب شود. متناسب با کاربردتون.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1000" height="429" src="https://matlab1.ir/wp-content/uploads/2020/07/PHP-install-composer-windows-10-.jpg" alt="نصب PHP ویندوز composer" class="wp-image-14409" srcset="https://matlab1.ir/wp-content/uploads/2020/07/PHP-install-composer-windows-10-.jpg 1000w, https://matlab1.ir/wp-content/uploads/2020/07/PHP-install-composer-windows-10--300x129.jpg 300w, https://matlab1.ir/wp-content/uploads/2020/07/PHP-install-composer-windows-10--768x329.jpg 768w" sizes="auto, (max-width: 1000px) 100vw, 1000px" /></figure>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">C: \ PHP7 را به مسیر سیستم Windows خود اضافه کنید</p>



<p class="wp-block-paragraph">کنترل پنل سیستم را باز کنید.<br>روی &#8220;تنظیمات پیشرفته سیستم&#8221; کلیک کنید.<br>بر روی دکمه &#8220;متغیرهای محیط …&#8221; کلیک کنید.<br>بر روی سطر مسیر در زیر &#8220;متغیرهای سیستم&#8221; کلیک کرده و روی &#8220;ویرایش …&#8221; کلیک کنید.<br>بر روی &#8220;New&#8221; کلیک کرده و ردیف C: \ PHP7 را اضافه کنید.<br>روی OK ، سپس OK ، سپس OK ، کلیک کنید و از کنترل پنل System خارج شوید.</p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">برای تست نصب در cmd دستور زیر را وارد کنید:</p>



<p class="wp-block-paragraph">php -v</p>



<p class="wp-block-paragraph">اگر نصب درست باشد نسخه PHP نصب شده را نشان می دهد. در غیراینصورت نصب را درست انجام ندادید.</p>



<h2 class="wp-block-heading">نصب Composer</h2>



<p class="wp-block-paragraph"><a href="https://getcomposer.org/download/" target="_blank" aria-label="undefined (در یک زبانه جدید باز می‌شود)" rel="noreferrer noopener">Windows Installer for Composer</a> را دانلود کنید و آن را اجرا کنید.</p>
<p>نوشته <a href="https://matlab1.ir/%d9%86%d8%b5%d8%a8-php-%d9%88-composer-%d8%af%d8%b1-%d9%88%db%8c%d9%86%d8%af%d9%88%d8%b2-10/">نصب PHP و composer در ویندوز 10</a> اولین بار در <a href="https://matlab1.ir">ايران متلب</a>. پدیدار شد.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://matlab1.ir/%d9%86%d8%b5%d8%a8-php-%d9%88-composer-%d8%af%d8%b1-%d9%88%db%8c%d9%86%d8%af%d9%88%d8%b2-10/feed/</wfw:commentRss>
			<slash:comments>0</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>
	</channel>
</rss>
