Nokhbegane Oloum

Nokhbegane Oloum

Share

دانلود،آموزش نرم افزار و مشاوره و انجام پروژه های نرم افزاری
www.1proje.ir
[email protected]

Photos 01/06/2014

انتشار اصلاحیه های اوراكل همزمان با سه شنبه اصلاحیه مایكروسافت

اوراكل قصد دارد تا 47 محصول خود را اصلاح نماید. در این اصلاحیه ها 147 آسیب پذیری برطرف خواهند شد كه 85 آسیب پذیری می توانند از راه دور و بدون احراز هویت مورد سوء استفاده قرار گیرند.

شركت اوراكل قصد دارد تا همزمان با سه شنبه اصلاحیه مایكروسافت، بسته های به روز رسانی جاوا را منتشر نماید.

به گزارش ایتنا از مرکز ماهر، این گروه از به روز رسانی ها ۴۷ محصول اوراكل را تحت تاثیر قرار می دهد. در این به روز رسانی، ۱۴۷ آسیب پذیری برطرف خواهند شد. ۴۷ اصلاحیه مربوط به آسیب پذیری هایی است كه می توانند از راه دور و بدون احراز هویت مورد سوء استفاده قرار بگیرند. هم چنین ۳۶ اصلاحیه برای محصولات Java ۷ SE خواهد بود.

فهرست زیر محصولاتی كه تحت تاثیر این آسیب پذیری ها قرار دارند آمده است:

Oracle Database ۱۱g Release ۱, version ۱۱.۱.۰.۷

Oracle Database ۱۱g Release ۲, versions ۱۱.۲.۰.۳, ۱۱.۲.۰.۴

Oracle Database ۱۲c Release ۱, version ۱۲.۱.۰.۱

Oracle Fusion Middleware ۱۱g Release ۱, versions ۱۱.۱.۱.۶, ۱۱.۱.۱.۷

Oracle Fusion Middleware ۱۱g Release ۲, versions ۱۱.۱.۲.۰, ۱۱.۱.۲.۱

Oracle Fusion Middleware ۱۲c Release ۲, version ۱۲.۱.۲

Oracle Containers for J۲EE, version ۱۰.۱.۳.۵

Oracle Enterprise Data Quality, versions ۸.۱, ۹.۰.۸

Oracle Forms and Reports ۱۱g, Release ۲, version ۱۱.۱.۲.۱

Oracle GlassFish Server, version ۲.۱.۱, Sun Java Application Server, versions ۸.۱, ۸.۲

Oracle HTTP Server ۱۱g, versions ۱۱.۱.۱.۶, ۱۱.۱.۱.۷

Oracle HTTP Server ۱۲c, version ۱۲.۱.۲

Oracle Identity Manager, versions ۱۱.۱.۱.۵, ۱۱.۱.۱.۷, ۱۱.۱.۲.۰, ۱۱.۱.۲.۱

Oracle Internet Directory, versions ۱۱.۱.۱.۶, ۱۱.۱.۱.۷

Oracle iPlanet Web Proxy Server, version ۴.۰

Oracle iPlanet Web Server, versions ۶.۱, ۷.۰

Oracle Outside In Technology, versions ۸.۴.۰, ۸.۴.۱

Oracle Portal, version ۱۱.۱.۱.۶

Oracle Reports Developer, versions ۱۱.۱.۱.۶, ۱۱.۱.۱.۷, ۱۱.۱.۲.۱

Oracle Traffic Director, versions ۱۱.۱.۱.۶, ۱۱.۱.۱.۷

Oracle WebCenter Portal versions ۱۱.۱.۱.۶.۰, ۱۱.۱.۱.۷.۰, ۱۱.۱.۱.۸.۰

Oracle WebCenter Sites versions ۱۱.۱.۱.۶.۱, ۱۱.۱.۱.۸.۰

Hyperion Essbase Administration Services, versions ۱۱.۱.۲.۱, ۱۱.۱.۲.۲, ۱۱.۱.۲.۳

Hyperion Strategic Finance, versions ۱۱.۱.۲.۱, ۱۱.۱.۲.۲

Oracle E-Business Suite Release ۱۱i, version ۱۱.۵.۱۰.۲

Oracle E-Business Suite Release ۱۲i, versions ۱۲.۰.۶, ۱۲.۱.۱, ۱۲.۱.۲, ۱۲.۱.۳

Oracle Agile Product Lifecycle Management for Process, versions ۶.۰, ۶.۱, ۶.۱.۱

Oracle AutoVue Electro-Mechanical Professional, versions ۲۰.۱.۱, ۲۰.۲.۲

Oracle Demantra Demand Management, versions ۷.۳.۱, ۱۲.۲.۱, ۱۲.۲.۲, ۱۲.۲.۳

Oracle Transportation Management, versions ۵.۵.۰۶, ۶.۰, ۶.۱, ۶.۲, ۶.۳, ۶.۳.۱, ۶.۳.۲

Oracle PeopleSoft Enterprise HRMS, versions ۹.۱.۰, ۹.۲.۰

Oracle PeopleSoft Enterprise HRMS Human Resources, versions ۹.۱, ۹.۲

Oracle PeopleSoft Enterprise PeopleTools, versions ۸.۵۲, ۸.۵۳

Oracle PeopleSoft Enterprise SCM Services Procurement, version ۹.۲

Oracle Siebel Core, versions ۸.۱.۱, ۸.۲.۲

Oracle Siebel Life Sciences, versions ۸.۱.۱, ۸.۲.۲

Oracle iLearning, version ۶.۰

Oracle FLEXCUBE Private Banking, versions ۱.۷, ۲.۰, ۲.۰.۱, ۲.۲.۰.۱, ۳.۰, ۱۲.۰.۱, ۱۲.۰.۲

Oracle JavaFX, versions ۲.۲.۴۵ and earlier

Oracle Java JDK and JRE, versions ۵.۰u۵۵ and earlier, ۶u۶۵ and earlier, ۷u۴۵ and earlier

Oracle Java SE Embedded, versions ۷u۴۵ and earlier

Oracle JRockit, versions R۲۷.۷.۷ and earlier, R۲۸.۲.۹ and earlier

Oracle Solaris versions ۸, ۹, ۱۰, ۱۱.۱

Oracle Secure Global Desktop, versions ۴.۶۳.x, ۴.۷۱.x, ۵.۰.x, ۵.۱۰

Oracle VM VirtualBox, versions prior to ۳.۲.۲۰, ۴.۰.۲۲, ۴.۱.۳۰, ۴.۲.۲۰, ۴.۳.۶

Oracle MySQL Enterprise Monitor, versions ۲.۳, ۳.۰

Oracle MySQL Server, versions ۵.۱, ۵.۵, ۵.۶

Photos 01/06/2014

معرفی ویژوال استادیو - (بخش دوم)

Visual Studio یک مجموعه از برنامه‌هایی است که ارتباط بسیار نزدیک با هم دارند که مایکروسافت آن را به توسعه دهندگان و برنامه نویسان برنامه‌های کاربردی اهدا نمود تا آنها را وادار نماید در محیطی توسعه یافته بر روی پلت فرم‌های ویندوز و دات نت به ساخت برنامه‌های خود بپردازند .

Visual Studio می‌تواند برای نوشتن برنامه‌های کنسولی، ویندوزی، سرویس‌های ویندوز، برنامه‌های کاربردی موبایل، برنامه‌های کاربردی ASP.NET و سرویسهای وب ASP.NET بنا به انتخاب شما همراه با زبانهایی مانند ++, C #, VB.NET, J استفاده شود . با Visual Studio واقعا چه کارهایی می‌توان انجام داد ؟ در زیر تعدادی از کاربردهایی را که برای تولید آنها می‌توان از Visual Studio استفاده نمود معرفی گردیده اند :

Console applications : این کاربرد برای اجرای خطوط دستور البته بدون محیط گرافیکی استفاده می‌شود که از این کاربرد برای برخی از ابزارهای کوچک یا برای اجرا شدن کدها توسط دیگر کاربردها استفاده می‌شود .این دستور ها در خط فرمان اجرا میشود.به عنوان مثال خط فرمان مایکروسافت داس است.

Windows forms applications : برای برنامه‌های کاربردی ویندوزی که با استفاده از NET framework. نوشته می‌شوند .

Windows services : سرویس‌ها برنامه‌های کاربردی هستند که در پس زمینه ویندوز اجرا می‌شوند .

ASP.NET applications : ASP.NET یک تکنولوژی قدرتمند که برای طراحی و ساخت صفحات وب پویا استفاده می‌شود .

ASP.NET web services : ASP.NET مدل سرویسهای وب را بطور کامل فراهم نموده تا شما براحتی و با سرعت سرویسهای وب را تولید نمایید .

Windows Mobile applications : که می‌تواند بر روی ابزارهایی که شامل framework هستند مانند Pocket PCها و همچنین cell phones هایی که پلت فرم Microsoft Smartphone بر روی آنها اجرا می‌شود، اجرا گردد .

MFC/ATL/Win32 applications : شما همچنان می‌توانید برنامه‌های سنتی MFC ، ATL یا برنامه‌های Win32را با استفاده از ++C ایجاد نمایید . این برنامه‌های برای اجرا به NET framework. نیاز ندارند اما نمی‌توانند از مزایای NET framework. نیز بهره‌ای ببرند .

Visual Studio add-ins : شما می‌توانید از خود ویژوال استودیو برای ساخت توابعی جدید و قابل اضافه شدن به خود ویژوال استودیو استفاده نمایید .

کاربردهای دیگر : ویژوال استودیو همچنین شامل پروژه‌هایی برای توسعه برنامه‌های کاربردی شما، کار با databases، ساخت گزارشها و ... می‌باشد .

Photos 01/06/2014

معرفی ویژوال استادیو - (بخش اول)

نرم‌افزار Visual Studio، نرم‌افزاری توسعه یافته برای برنامه نویسان کامپیوتر است که توسط شرکت نرم‌افزاری MicroSoft تولید شده است .

تمرکز اصلی این نرم‌افزار از اولین نسخه‌های آن تا کنون بر روی خصوصیت IDE بودن آن است که به برنامه نویس اجازه می‌دهد تا برنامه‌های کاربردی مستقل، برنامه‌های کاربردی وب و یا سرویس‌های وب را که بر روی تعدادی از PlatFormهای پشتیبانی شده توسط Microsoft .NET Framework ( البته برای تمام نسخه‌های بعد از ویژوال استودیو 6 ) همچنین Platform هایی مانند Microsoft Windows servers and workstations, PocketPC Smartphones و World Wide Web browsers اجرا می‌شوند را براحتی ایجاد نماید .

از جمله قابلیت های اضافه شده که در آخرین ویرایش ها ارائه شده است می توان به Silverlight اشاره کرد که یک Web Application framework بسیار پیشرفته جهت توسعه نرم افزارهای کاربردی تحت وب می باشد .

Photos 01/06/2014

هشدار محققان نسبت به توزیع بدافزار گروگان گیر PowerLocker

گروهی از تولیدكنندگان بدافزار، برنامه گروگان گیر جدیدی را آماده كردند كه فایل ها را بر روی رایانه های آلوده شده رمزگذاری می كند و از قربانی می خواهد برای دسترسی به این فایل ها مبلغی را پرداخت نماید.

این بدافزار جدید را PowerLocker نامگذاری كردند و ایده آن از تروجان گروگان گیر موفق CryptoLocker كه از ماه سپتامبر حدود ۲۵۰۰۰۰ رایانه را آلوده كرد، الهام گرفته شده است.

این بدافزار همانند بدافزار CryptoLocker از یك روش رمگذاری قوی استفاه می كند كه بدون پرداخت پول نمی توان به فایل ها دسترسی یافت. هم چنین از آن جا كه تولیدكنندگان آن اعلام كردند كه قصد دارند این بدافزار گروگان گیر را به مجرمان سایبری بفروشند، این بدافزار بسیار پیچیده و به طور بالقوه بسیار خطرناك می باشد.

با توجه به یافته های یك تولیدكننده بدافزار كه با شناسه آنلاین "gyx" شناسایی می شود، بدافزار PowerLocker شامل یك فایل واحد است كه در فولدر موقت ویندوز قرار می گیرد. زمانی كه برای اولین بار بر روی رایانه ای اجرا شود، تمامی فایل های كاربر را كه بر روی درایوهای داخلی و فایل هایی كه در شبكه به اشتراك گذاشته است به استثنای فایل های اجرایی و سیستمی، رمزگذاری می كند.

هر فایل با یك الگوریتم Blowfish و یك كلید واحد رمز می شود سپس این كلیدها با كلید RSA ۲۰۴۸ بیتی رمز می شود. در واقع رایانه كاربر كلید عمومی را دارد اما كلید خصوصی متناظر با آن كه برای بازگشایی رمز نیاز است را در اختیار ندارد.

امروزه تمامی بدافزارها از طریق سوء استفاده از آُسیب پذیری های موجود در برنامه های محبوبی مانند جاوا، فلش پلیر و ... توزیع می شوند در نتیجه برای اجتناب از آلوده شدن به هر گونه بدافزاری، به روز نگه داشتن تمامی برنامه های كاربردی اهمیت بسزایی دارد.

هم چنین تهیه نسخه پشتیبان از داده های موجود بر روی رایانه ها یك ضرورت است و در صورت آلوده شدن به این بدافزار می توان بدون پرداخت وجهی فایل های مورد نظر را برگرداند.

باید توجه داشت كه نسخه پشتیبان نباید بر روی همان رایانه یا فایل های مربوط به اشتراك گذاری شبكه قرار داشته باشد زیرا این بدافزار می تواند تمامی نسخه های پشتیبان را نیز تحت تاثیر قرار داده و تخریب كند.

31/05/2014

با عرض سلام خدمت دوستان عزيز
قصد دارم در چند قسمت، نحوه كاركردن با Simulink رو به شما آموزش بدم پس اگه تا حالا با Simulink كار نكرديد و يا مشكلاتي در كاركردن با اون داريد مي‌تونيد با من همراه باشيد درصورتي‌كه پاسخ مشكلتون رو دريافت نكرديد مي‌تونيد در قسمت نظرات اون مشكل رو مطرح كنيد، اگه بلد بودم پاسختون رو مي‌دم.
سيمولينك نرم افزاريه كه شما براي شبيه‌سازي سيستم‌هاي ديناميكي، مي‌تونيد از اون استفاده كنيد اين نرم‌افزار زيرمجموعه نرم‌افزار متلبه كه داراي كتابخانه‌هاي زيادي در زمينه رشته‌هاي مختلف از جمله برق و مكانيكه. اگه ما نرم‌افزار متلب رو فصل مشترك رشته‌هاي مهندسي در محاسبات عددي بدونيم نرم‌افزار سيمولينك رو مي‌تونيم فصل مشترك رشته‌هاي مهندسي در زمينه نرم‌افزارهاي شبيه‌ساز قرار بديم.
براي شروع كار با سيموليك ابتدا از مسير File >> New >> Model يك مدل جديد ايجاد كنيد. اين مدل رو در شكل زير مشاهده مي‌كنيد.
حالا شما بايد در اين مدل برحسب مساله‌اي كه مي‌خواهيد حل كنيد عناصر مورد احتياج رو از كتابخانه سيمولينك به مدل مورد نظر انتقال دهيد. براي بازكردن كتابخانه سيمولينك، رو صفحه متلب عبارت simulink رو وارد كنيد و يا به روي دگمه نشان داده شده در شكل زير كه هم در صفحه اصلي متلب و هم در مدل ايجاد شده قرار دارد كليك كنيد.
همون‌طور كه در كتابخانه سيمونيك مشاهده مي‌كنيد كتابخانه‌هاي زيادي وجود داره كه هركس بنا به رشته‌اي كه داره با اين كتابخانه‌ها كار مي‌كنه مثلا كسي كه مكانيك خونده با قسمت مخابرات اون كاري نداره ولي آنچه كه مشترك بين كليه كاربران هستش يادگيري بلوك‌هاي كتابخانه اصلي سيموليكه كه من تا جائيكه بتونم سعي مي‌كنم با مثال‌هاي متنوع، بلوك‌هايي رو كه بيشتر به كار ميان براي شما شرح بدم.
براي اولين مثال مي‌خواهيم از يك پالس، مشتق و انتگرال گرفته و روي يك اسكوپ به همراه سيگنال اصلي نمايش بديم بلوك‌هايي رو كه احتياج داريم عبارتند از: مولد پالس، انتگرالگير، مشتقگير، تسهيم كننده و بلوكي بسيار معروف به نام اسكوپ.
اين بلوك‌ها را در مسيرهاي زير مي‌تونيد بيابيد:
Simulink >> Sources >> Pulse Generator
Simulink >> Continuous >> Integrator
Simulink >> Continuous >> Derivative
Simulink >> Signal Routing >> Mux
Simulink >> Sinks >> Scope

نحوه آوردن بلوك‌ها هم بسيار سادس شما مي‌تونيد روي بلوك مورد نظر كليك چپ كرده و بدون رها كردن آن، موس رو به درون مدل مربوطه ببريد و در جائيكه مي‌خواهيد بلوك رو قرار دهيد، موس رو رها كنيد(Drag and Drop) و يا اينكه روي بلوك مورد نظر كليك راست كرده و گزينه Add to untitled رو انتخاب كنيد
در واقع untitled نام پيش فرض مدل شماست كه مي‌تونيد اون رو تغيير بدهيد. پس از اينكه تمامي بلوك‌ها رو به مدل خودتون اضافه كرديد
براي مرتب كردن بلوك‌ها، هم با موس مي‌تونيد جاي اون‌ها رو عوض كنيد هم با كيبورد به اين صورت كه بلوك مورد‌نظر رو انتخاب مي‌كنيد و با كليدهاي جهتي بر روي كيبورد، جاي بلوك رو تغيير مي‌ديد. براي بزرگ كردن اندازه بلوك‌ها از كليد R و براي كوچك كردن آنها از كليد V استفاده كنيد.
حالا بايد تنظيمات لازم رو بر بلوك‌ها انجام دهيم به روي بلوك مولد پالس دوبار كليك كنيد و تغييرات لازم رو اعمال كنيد:
خروجي اين بلوك يك پالس با اندازه 1 و دوره تناوب 1.5 ثانيه و بدون تـاْخير و با پهناي پالس معادل 50 درصد دامنه هست.
(Duty Cycle =50%)
به روي بلوك تسهيم كننده دوبار كليك كرده و تعداد ورودي‌هاي اون رو به 3 تغيير بديد.
در تنظيمات بلوك‌هاي انتگرالگير و مشتقگير و اسكوپ تغييري ايجاد نكنيد.
حال بايد بلوك‌ها رو به يكديگر متصل كنيم براي اينكار ماوس رو به سمت خروجي مولد پالس برده و زماني كه ماوس به شكل + در اومد كليك چپ رو فشار داده و بدون ول كردن آن به سمت ورودي دومي تسهيم كننده حركت كنيد و زماني كه اشاره‌گر ماوس بصورت يك بعلاوه دوخط درآمد آن را ول كنيد تا اتصال ايجاد شود اگر مي‌خواهيد از يك سيگنال انشعابي بگيريد از كليك راست ماوس بايد استفاده كنيد مثلا در مورد اتصال ورودي انتگرالگير بايد ماوس را به سمت سيگنال خروجي مولد پالس برده و با فشردن كليك راست به سمت ورودي انتگرالگير حركت كنيد و زماني كه اشاره‌گر ماوس بصورت يك بعلاوه دوخط درآمد آن را ول كنيد تا اتصال ايجاد شود باقي اتصالات را دقيقا به همين‌صورت انجام دهيد
حالا مدل شما آماده شده و مي‌تونيد اون رو اجرا كنيد البته قبل از اجرا كردن بايد تنظيمات شبيه‌سازي(زمان اجرا، گام حركت، نوع حلگر و ...) رو انجام بديد كه فعلا براي اين مثال نيازي نيست پس مدلتون رو با فشاردادن دگمه استارت، ران كنيد سپس به روي اسكوپ دوبار كليك كنيد شما قاعدتا بايد شكل موج‌ها رو ببينيد
(يادتان باشد كه حتما روي دگمه Autoscale كليك كنيد تا شكل موج‌ها را كامل ببينيد)

31/05/2014

در این بحث قراره که یه ذره در مورد معادلات دیفرنسیل صحبت کنیم
در اینجا ابتدا بحث را از معادلات جبری و غیر جبری شروع می کنیم و سپس به معادلات دیفرانسیل جرئی می رسیم
روند کار به این صورت است که ابتدا تعداد متغییر ها را زیاد می کنیم و بعد مشتق وارد کار می کنیم و بعد مرتبه را بالا
می بریم و آخر کار هم معادلات با هم ترکیب می کنیم و.....
لازم به ذکر است که در اینجا فرض شده که شما جعبه ابزار سمبولیک یا همون symbolic math toolbox بلدید.
اگه بلد هم نیستید اشکالی نداره بعدا سعی می کنم مفصل در موردش بحث کنیم

حل معادله یک متغییره=Algebraic Equations with One Symbolic Variable
برای شروع می خواهیم معادله یه متغییره0= x ^3 - 6* x^2 + 11 *x - 6 را حل کنیم.
اولا x سیمتریک می کنیم بعدش با دستور solve به صورت زیر آن را حل می کنیم
syms x
(solve(x ^3 - 6* x^2 + 11 *x - 6
ans =
1
2
3
می بینیم که معادله درجه ما سه ریشه حقیقی داره
------------------------------ حالا معادلات دیگه رو امتحان کنید
==========================================================
حل معادله چند متغییره=Algebraic Equations with Several Symbolic Variables

syms x y
f = 6*x ^2 - 6* x^2* y + x*y ^2 - x*y + y^3 - y ^2
این خط وارد نکن with respect to a symbolic variable y :
(solve( f,y
ans =
1
2* x
(- 3)*x
دراینجا ما معادله ای بر حسب دو متغییر x ,y را حل میکنیم.برای این کار ابتدا x,y سیمتریک می کنیم
سپس f تعریف میکنیم و بعد دستور (solve( f,y
یعنی معادله را بر حسب y حل کن
==========================================================
حل یک دسته معادله =Systems of Algebraic Equations
در اینجا هم روند کار عین قبله ولی هر معادله رو داخل کوتیشن قرار می دهیم
و با ویگول جدا میکنیم

Syms x y z
[x, y,z] = solve('z = 4 *x', 'x = y ', 'z = x^2 + y^2 ]
x=
0
2
y=
0
2
z=
0
8

Van der Pol oscillator - Wikipedia, the free encyclopedia 31/05/2014

توابع ODE در متلب بمنظور حل معادلات دیفرانسیل معمولی با شرایط اولیه تدارک دیده شده اند ویژگی که برای آنها در راهنمای متلب ذکر شده است،
Solve initial value problems for ordinary differential equations
بسته به نوع اصطلاحا سخت (stiff) و غیر سخت (Nonstiff) معادلات و نیز اهمیت دقت، odeهای متفاوتی بکار می روند. اصطلاح سخت (stiff) برای آندسته از معادلاتی بکار می رود که برای مثال در مقابل متغیر مستقلی همچون t چند متغیر وابسته همچون x وy و ... وجود دارد بگونه ای که اندازه مشتقات متغیرهای وابسته نسبت به متغیر مستقل بطور قابل ملاحظه ای متفاوت است در غیر اینصورت معادله غیرسخت (Nonstiff) نامیده می شود. برای توضیحات بیشتر در مورد ode ها باید به راهنمای متلب مراجعه نمایید. متلب نوع و محل بکارگیر آنها را در جدول زیر خلاصه کرده است.
When to Use
Order of Accuracy
Problem Type
Solver
Most of the time. This should be the first solver you try.
Medium
Nonstiff
ode45
For problems with crude error tolerances or for solving moderately stiff problems.
Low
Nonstiff
ode23
For problems with stringent error tolerances or for solving computationally intensive problems.
Low to high
Nonstiff
Ode113
If ode45 is slow because the problem is stiff.
Low to medium
Stiff
Ode15s
If using crude error tolerances to solve stiff systems and the mass matrix is constant.
Low
Stiff
Ode23s
For moderately stiff problems if you need a solution without numerical damping
Low
Moderately Stiff
Ode23t
If using crude error tolerances to solve stiff systems.
Low
Stiff
Ode23tb


می خواهیم در اینجا به ode45 بپردازیم که برای معادلات غیر سخت تدارک دیده شده و اساس آن روش رانگ کوتاست.
برای آموزش نحوه استفاده از ode45 نوسانگر واندرپل تحت نیروی واداشته را در نظر می گیریم که معادله دیفرانسیل آن بصورت زیر نوشته می شود:


http://en.wikipedia.org/wiki/Van_der_Pol_oscillator
http://mathworld.wolfram.com/vanderPolEquation.html

گام اول- بازنویسی مسئله بشکل مجموعه ای از معادلات مرتبه یک. در مورد نوسانگر واندرپل با تغییر متغیر y1'=y2 دو معادله دیفرانسیل مرتبه یک حاصل می­شود،


گام دوم- کد نمودن ODE های مرتبه یک، پس از بازنویسی معادلات مطابق گام اول باید ان معادلات را برای بکارگیری ode45 کد نماییم. تابع باید بشکل زیر باشد،
dydt=odefun(t,y)
دقت کنید که تابع حتما باید دو آرگومان یکی مربوط به متغیر مستقل (در اینجا t) و دیگری مربوط به متغیرهای وابسته (در اینجا y) داشته باشد حتی اگر هیچکدام در تابع های مرتبه یک ظاهر نشوند. کد زیر سیستم واندپل را تحت عنوان تابع vdp1 نشان می­دهد. y(1) و y(2) ورودی های بردار دوعنصری y هستند.
function dydt=vdp1(t,y)
epsilon=5;
w=2.466;
f=5;
dydt=[y(2) ; epsilon*(1-y(1)^2)*y(2)-y(1)+f*cos(w*t)];

گام سوم- استفاده از یک حل کننده (solver) برای مسئله، همانگونه که گفته شد می­خواهیم از ode45 استفاده نماییم. تابع ode45 سه ورودی یا آرگومان دارد. اولین آرگومان تابعی است که آنرا گام دوم خلق کردیم، دومین آرگومان بازه مربوط به متغیر مستقل است که در مورد مسئله ما همان بازه زمانی t است و نهایتا آرگومان سوم بردار شرایط اولیه است.
در این مثال بازه زمانی [0 100] و مقادیر اولیه y(1)=1.2 و y(2)=0 را مطابق زیر در ode45 قرار می دهیم،
[t,y]=ode45(,[0 100],[1.2 0]);
در این مثال برای پذرفتن vdp1 بعنوان یک تابع ا @ استفاده شده است. خروجی ode45 برداری از زمان t و ماتریس پاسخ y اس. هر سر y مطابق با زمانیست که توسط سطر متناظر در t معرفی می­شود. نخستین ستون y متناظر با y(1) و ستون دوم آن متناظر با y(2) است.
گام چهارم- مشاهده خروجی، اینکار را براحتی با استفاده از plot می توان انجام داد.
plot(y(:,1),y(:,2))
xlabel('y1')
ylabel('y2')
با این توضیحات برنامه vdp1 با فرم نهایی و ساده زیر نوسانگر واندپل را در فضای فاز شبیه سازی می­کند.
function vonerpol
% vonderpole oscilator - ode45
% [email protected]
[t,y]=ode45(,[0 100],[1.2 0]);

plot(y(:,1),y(:,2))
xlabel('y1')
ylabel('y2')

function dydt=vdp1(t,y)
epsilon=5;
w=2.466;
f=5;
dydt=[y(2) ; epsilon*(1-y(1)^2)*y(2)-y(1)+f*cos(w*t)];

Van der Pol oscillator - Wikipedia, the free encyclopedia In dynamics, the Van der Pol oscillator is a non-conservativeoscillator with non-lineardamping. It evolves in time according to the second order differential equation:

31/05/2014

معادلات دیفرانسیل معمولی – مسایل مقدار اولیه
Ordinary Differential Equation - initial value problems
(IVPs)
با سلام خدمت تمامی دوستان. قصد دارم بتدریج به یکسری از مسایل برنامه نویسی عمومی که غالبا با آن سرو کار داریم بپردازم. اولین گام ( به شرطی که با مقدمات برنامه نویسی در Matlab خصوصا کار با توابع، ماتریسها آشنا باشید) می­تواند حل معادلات دیفرانسیل معمولی باشد.
معادلات دیفرانسیل معمولی به آندسته از معادلات دیفرانسیل اطلاق می شود که تمامی متغیرهای وابسته ( بعنوان مثال x، y و z ) تنها تابعی از یک متغیر مستقل (برای مثال t) می باشند. مثال آشنا در این مورد می­تواند معادله نوسانگر هارمونیک باشد که در آن مکان نوسانگر تنها تابعی از زمان است. در مقابل معادله دیفرانسیل معمولی معادلات دیفرانسیل جزیی قرار می گیرند که نمونه بسیار آشنای آن معادله شرودینگر است که در آن تابع موج (متغیر وابسته) تابعی از مختصات مکانی و زمان (یعنی متغیرهای مستقل ) می باشد.
ابتدا به حل مسایل مقدار اولیه (IVP) با معرفی سه روش اویلر (Euler’s method)، رانگ کوتا (Runge–Kutta method) و تابع آماده در متلب بانام ode45 می پردازیم.
1- روش اویلر
این ساده ترین روش است. با استفاده از تقریب مشتق عددی پیشرو الگوریتم تکرار بسادگی بدست می آید :

که در آن h طول گام است. کافست با توجه به معادله دیفرانسیل تابع f(x,t) مشخص گردد و در رابطه تکرار بالا جایگذاری شود. مثال ساده زیر را در نظر بگیرید.
dy/dt+5y=6 , y(t=0)=2
با توجه به معادله بالا خواهیم داشت : f(x,t)=dy/dt=6-5y
بنابراین رابطه تکرار بصورت زیر خواهد بود،

نهایتا برنامه کوتاه زیر را می­توان نوشت :
clc,clear all
h=.01;
t0=0;
tf=2;
t=t0:h:tf;
y(1)=2;
N=length(t);
for i=1:N-1
y(i+1)=y(i)+h*(6-5*y(i));
end
plot(t,y)

باید توجه داشته باشیم که هر سه روش بکار گرفته در حل مسایل
مقدار اولیه مبتنی بر حل معادله دیفرانسیل مرتبه یک می باشند در حالیکه بسیاری از معادلات دیفرانسیل مهم در فیزیک مرتبه دو هستند. در چنین مواردی با استفاده از تغییر متغیر هر معادله دیفرانسیل مرتبه دو به دو معادله دیفرانسیل مرتبه یک شکافته می شود و هر کدام از این دو معادله بصورت جداگانه با توجه به شرایط اولیه با استفاده از روش اویلر حل می­شود. بعنان مثال :

نوسانگر هارمونک ساده
با این توضیحات می­توانیم به حل یک مسئله استاندارد یعنی معادله حرکت نوسانگر هارمونیک بپردازیم. جسمی با جرم معین متصل به فنر تحت تاثیر نیروی بازگردانده در یک بعد حرکت نوسانی انجام می دهد با صرفنظر از نیروهای اتلافی (این مورد در روش رانگ کوتا بررسی می شود) معادله حرکت بشکل زیر است :

با تغییر متغیر v=dx/dt جفت روابط زیر خواهیم داشت،

و بنابراین روابط تکرار مطابق مثال قبلی بدست می آیند،

اگر فرض کنیم که نوسانگر در لحظه t=0 بیشترین فاصله از نقطه تعادل را دارد می توانیم شرایط اولیه زیر را در نظر بگیریم،

برنامه زیر (Oscilator1) معادله نوسانگر هارمونیک ساده را به روش اویلر حل می کند. نمودارها x و v برحسب زمان رسم می­شوند و در پایان حرکت واقعی نوسانگر نیز بصورت انیمیشن نمایش داده می­شود.

function Oscilator1
% simple harmonic Oscilator- Euler's method
% by saeed babanezhad - solid state physics
close all
k=1;
m=1;
w=sqrt(k/m);
h=.1; % time step
t0=0; % initial time
tf=20; % final time
t=t0:h:tf; % time interval
N=length(t);
x=zeros(1,N); % specify size of x matrix
v=zeros(1,N); % specify size of v matrix
x(1)=1; % initial condition for position
v(1)=0; % initial condition for speed
for i=1:N-1
x(i+1)=x(i)+h*v(i);
v(i+1)=v(i)-h*w^2*x(i);
end
figure(1)
subplot(3,1,1)
plot(t,x)
ylabel('x')
subplot(3,1,2)
plot(t,v)
ylabel('y')
% animation
subplot(3,1,3)
% difine spring
spring=line('lineStyle','none','Marker','d',...
'MarkerSize',15,'Color','b','Xdata',[],'ydata',[]);
% difine body
body=line('Marker','s','MarkerSize',30,...
'MarkerFaceColor','r','xdata',[],'ydata',[]);
xlim([min(x) max(x)])
for i=1:N
set(body,'XData',x(i),'YData',0)
set(spring,'XData',linspace(min(x),x(i),20)...
,'YData',zeros(1,20))
drawnow
end

31/05/2014

روش PSO یا به لاتین (Particle swarm optimization) یک روش سراسری کمینه‌سازی است که با استفاده از آن می‌توان با مسائلی که جواب آنها یک نقطه یا سطح در فضای n بعدی می‌باشد، برخورد نمود. در اینچنین فضایی، فرضیاتی مطرح می‌شود و یک سرعت ابتدایی به آنها اختصاص داده می‌شود، همچنین کانال‌های ارتباطی بین ذرات درنظر گرفته می‌شود. سپس این ذرات در فضای پاسخ حرکت می‌کنند، و نتایج حاصله بر مبنای یک «ملاک شایستگی» پس از هر بازه‌ٔ زمانی محاسبه می‌شود. با گذشت زمان، ذرات به سمت ذراتی که دارای ملاک شایستگی بالاتری هستند و در گروه ارتباطی یکسانی قرار دارند، شتاب می‌گیرند. علی رغم اینکه هر روش در محدوده ای از مسائل به خوبی کار می کند، این روش در حل مسائل بهینه سازی پیوسته موفقیت بسیاری از خود نشان داده است.
-----------------------------
جهت انجام پروژه و پايان نامه خود با استفاده از الگوريتم PSO با ما تماس بگيريد.
09127339469

31/05/2014

الگوریتم ژنتیک (Genetic Algorithm - GA) تکنیک جستجویی در علم رایانه برای یافتن راه‌حل تقریبی برای بهینه‌سازی و مسائل جستجو است. الگوریتم ژنتیک نوع خاصی از الگوریتمهای تکامل است که از تکنیکهای زیست‌شناسی فرگشتی مانند وراثت و جهش استفاده می‌کند. این الگوریتم برای اولین بار توسط جان هلند معرفی شد.
در واقع الگوریتم‌های ژنتیک از اصول انتخاب طبیعی داروین برای یافتن فرمول بهینه جهت پیش‌بینی یا تطبیق الگو استفاده می‌کنند.الگوریتم‌های ژنتیک اغلب گزینه خوبی برای تکنیک‌های پیش‌بینی بر مبنای رگرسیون هستند. مختصراً گفته می‌شود که الگوریتم ژنتیک (یا GA) یک تکنیک برنامه‌نویسی است که از تکامل ژنتیکی به عنوان یک الگوی حل مسئله استفاده می‌کند.مسئله‌ای که باید حل شود ورودی است و راه‌حلها طبق یک الگو کد گذاری می‌شوند که تابع fitness نام دارد هر راه حل کاندید را ارزیابی می‌کند که اکثر آنها به صورت تصادفی انتخاب می‌شوند.
این الگوریتم‌ها از بخش های زیر تشکیل می‌شوند : تابع برازش - نمایش – انتخاب – تغییر
.......................
جهت انجام پروژه و پايان نامه خود با استفاده از الگوريتم ژنتيک با ما تماس بگيريد.
09127339469

Want your school to be the top-listed School/college in Tehran?

Click here to claim your Sponsored Listing.

Location

Category

Telephone

Address

Tehran