آموزش متلب

حل معادله پواسون-3

حل معادله پواسون

  • روش ماتریسی

در کوتاه ترین جمله متلب یعنی هنربکارگیری ماتریسها. در بسیاری از موارد از نظر ریاضی ((جدا از مسئله سخت افزاری) امکان جایگزینی روشهای ماتریسی با حلقه های تکرار وجود دارد و بدون شک متلب بهترین محیط برای این کار است. با بکارگیری قواعد ماتریسی و توابع آماده ماتریسی در متلب امکان نوشتن برنامه هایی عموما کوتاهتر وصد البته بسیار سریعتر (در همگرایی و دقت) را خواهیم داشت. در این قسمت می خواهم به حل ماتریسی معادله پواسون در یک بعد بپردازم. در اینصورت همانگونه که خواهیم دید باید دو ماتریس ایجاد شود. یکی ماتریس ضرایب و دیگری ماتریس معلومها. تشکیل ماتریس ضرایب روی کاغذ و نیز نوشتن برنامه ای برای ایجاد آن در متلب نباید برایتان مشکل باشد و در حقیقت کار ساده ای است. اما هدف من نشان دادن این موضوع است که چگونه با استفاده از توابع و قابلیت های موجود در متلب حداکثر استفاده را برای ایجاد آنچه در ذهن داریم نماییم.

به معادله پواسون باز می گردیم و مجددا با استفاده از تقریب مشتق مرتبه دو روابط مورد نیاز برای مشخص کردن ماتریس ضرایب، ماتریس معلومها و آنچه که نهایتا بدنبالش هستیم یعنی ماتریس مجهولات (پتانسیل در هر نقطه) را استخراج مینماییم.

همانگونه که پیداست ماتریس ضرایب (ماتریس اول از سمت چپ) یک ماتریس مربعی سه قطری است که درایه های روی قطر اصلی آن -2 و درایه های روی دو قطر دیگر 1 می باشد. چنین ماتریسیهایی را در متلب به اسانی می توان با استفاده از تابع diag خلق نمود. اگر تعداد مشها با درنظرگرفتن نقاط مرزی برابر با N با شد آنگاه دستور زیر این ماتریس  (N-2)*(N-2) را خلق می کند،

A=-2*diag(ones(1,N-2))+diag(ones(1,N-3),1)+diag(ones(1,N-3),-1);

 

جمله اول عناصر روی قطر اصلی، جمله دوم عناصر بالای قطر اصلی و سومین جمله عناصر پایین قطر اصلی را تولید می کند. با این توضیحات می توانیم اسکریپت مورد نظر را برای مثال قبلی بنویسیم،

clc

clear all

% 1-D poisson equation solution matrix method based finite diffrence

N=100;

x=linspace(0,2,N);

dx=x(2)-x(1);

phi1=-1;

phiN=1;

A=-2*diag(ones(1,N-2))+diag(ones(1,N-3),1)+diag(ones(1,N-3),-1);

gx=x;

B=dx^2*gx(2:end-1)’;

B(1)=B(1)-phi1;

B(end)=B(end)-phiN;

phi=A\B;

phi=[phi1 phi’ phiN];

plot(x,phi)

در مورد معادله لاپلاس کافیست قرار دهیم،

gx=zeros(1,N);

مقاله متلب,مطلب,متلب,مقاله برق,مقاله قدرت,مقاله مطلب,مقاله سیمولینک,دانلود متلب,دانلود مقاله متلب,مقالهmatlab ,آموزش متلب,مطلب,متلب,آموزش برق,آموزش قدرت,آموزش مطلب,آموزش سیمولینک,دانلود متلب,دانلود آموزش متلب,آموزشmatlab ,پروژه متلب,مطلب,متلب,پروژه برق,پروژه قدرت,پروژه مطلب,پروژه سیمولینک,دانلود متلب,دانلود پروژه متلب,پروژهmatlab ,

سعید عربعامری
من سعید عربعامری نویسنده کتاب 28 گام موثر در فتح متلب مدرس کشوری متلب و سیمولینک و کارشناس ارشد مهندسی برق قدرتم . بعد از اینکه دیدم سایتهای متعدد یک مجموعه کامل آموزش متلب و سیمولینک ندارند به فکر راه اندازی این مجموعه شدم
http://sim-power.ir

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *