انجمن سایت کلیدستان


رتبه موضوع:
  • 1 رای - 5 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
براکت

براکت

#1
سلام
ببخشید اگه 1 معادله داشته باشیم که داخل معادله براکت استفاده شده باشه , با متلب چی چوری حل میشه؟؟؟
ممنونHuh
پاسخ

براکت

#2
سلام .
معادلتون دقیقا چیه ؟
معدله دیفرانسیل ، معادله درجه 2 یا ... ؟
bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ

براکت

#3
6=[7.5x]-[5x-0.8]
ممنون از راهنمایتون,
ببخشید در مسائلی که تابع هدف به همراه چند محدودیت هست(بهینه یابی) چگونه متلب حل میشه؟؟؟
پاسخ

براکت

#4
سلام .
معمولا دستور solve در متلب برای حل معادلات به کار میره . این دستور برای معادلات شامل یک سری توابع مثل sin و cos و ... نیز می تواند به کار رود .
برای براکت ، باید دستور floor در متلب را به کار ببریم که درواقع عدد اعشاری را به سمت منفی بینهایت گرد می کند . اما هنگامی که این دستور را درون معادله می نویسیم و سپس معادله را به دستور solve می دهیم ، دستور solve پیام خطا می دهد .
من راه حلی که به ذهنم رسید به این صورت می باشد :

کد:
clear all
close all
clc

step=0.01;
x=-10:step:10;
x_length=length(x);
x_answer=0;
p=0;
for nn=1:x_length
    if (floor(vpa(7.5*x(nn)))-floor(vpa(5*x(nn)-0.8))-6==0)
        p=p+1;
        x_answer(p)=x(nn);
    end
end
x_answer

چون براکت در معادله وجود دارد ، بنابراین پاسخ به صورت یک بازه از مقادیر x می باشد . بنابراین ما ابتدا حدس زده ایم که این بازه درون محوده 10- تا 10 قرار داشته باشد بنابراین نمونه هایی از این بازه را درون یک حلقه for تست می کنیم که آیا در معادله صدق می کنند یا خیر و مقادیری که در معادله صدق کنند را در x_answer ذخیره می کنیم . برای داشتن دقت بیشتر ، می توان step را کوچکتر گرفت و یا اگر هیچ پاسخی پیدا نشود ، باید بازه 10- تا 10 را بزرگتر کنیم و مقادیر بیشتری را تست کنیم .
دستور length برای تعیین طول یک بردار به کار می رود . سه خط اول برنامه هم برای عدم تداخل برنامه فعلی با برنامه های قبلی اجرا شده در نرم افزار متلب می باشد .
نکته مهم دیگر اینکه حتما باید از دستور vpa استفاده شود وگرنه تعدادی جواب غلط نمایش داده می شود . اینکه چرا در صورت عدم استفاده از دستور vpa درون پرانتز دستور floor ، به جواب غلط می رسیم را باید از سازندگان نرم افزار متلب بپرسیم !!! Cool

نتیجه اجرای کد متلب بالا به صورت زیر می باشد :

کد:
x_answer =

  Columns 1 through 9

    1.7400    1.7500    1.8700    1.8800    1.8900    1.9000    1.9100    1.9200    1.9300

  Columns 10 through 18

    1.9400    1.9500    2.0000    2.0100    2.0200    2.0300    2.0400    2.0500    2.0600

  Columns 19 through 27

    2.0700    2.0800    2.0900    2.1000    2.1100    2.1200    2.1300    2.1600    2.1700

  Columns 28 through 36

    2.1800    2.1900    2.2000    2.2100    2.2200    2.2300    2.2400    2.2500    2.2600

  Columns 37 through 40

    2.3600    2.3700    2.3800    2.3900

بنابراین بازه بین 1.74 تا 2.39 همان پاسخ های قابل قبول برای x می باشند .
bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ

براکت

#5
(۱۳۹۱/۱۲/۲۹, ۰۱:۱۲ ب.ظ)mohsen نوشته: ببخشید در مسائلی که تابع هدف به همراه چند محدودیت هست(بهینه یابی) چگونه متلب حل میشه؟؟؟
یک راه ، استفاده از دستور ga است که برای الگوریتم بهینه سازی ژنتیک به کار میره .
bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ

براکت

#6
(۱۳۹۱/۱۲/۲۹, ۰۲:۴۳ ب.ظ)admin نوشته:
(۱۳۹۱/۱۲/۲۹, ۰۱:۱۲ ب.ظ)mohsen نوشته: ببخشید در مسائلی که تابع هدف به همراه چند محدودیت هست(بهینه یابی) چگونه متلب حل میشه؟؟؟
یک راه ، استفاده از دستور ga است که برای الگوریتم بهینه سازی ژنتیک به کار میره .

مرسی و ممنون
بازم مزاحم میشمBig Grin
پاسخ

براکت

#7
خوشحال میشم بتونم کمکتون کنم . Smile
bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ
 سپاس شده توسط شماره مجازی امارات


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان