رفتن به مطلب

دوستانی که به MATLAB تسلط دارن لطفا راهنمایی کنن - تفاوت در اجرای یک دستور درنسخه های Matlab


AtAgAmEr
 اشتراک گذاری

Recommended Posts

  • کاربر ویژه

سلام

0ywoym1dqnbr_t.jpg

 

خطای دستور بالا در نسخه های 2015 و 2017

pleaqxwh3idw_t.jpg

qkx6rzz6um8m_t.jpg

 

به صورت زیر دارای جواب هست و خطا نمیده ولی جوابش با نسخه 2011 متلب فرق داره، جالب اینجاست که این دستور در نسخه 2011 جواب میده!!!

c5lzqwts7w46_t.jpg

6eihptj7k4d5_t.jpg

 

منتظر راهنمایی و جواب این هستم ، شاید من اشتباه میکنم ؟؟!!

لینک به دیدگاه
Share on other sites

سلام

عزیز بنظر بنده جواب نسخه 2015 و 17 درسته عزیز..

دستور تیلور بسط تابع رو حول نقطه مینویسی تا یه مرتبه معلومی . برای مثال شما تو مثال بالا بسط تیلور تابع رو حول x=14 نوشتی...و اون هم ضرایب بسط تیلور و تابع نهایی اش رو که فقط و فقط حول اون نقطه معتبر هست رو بهتون داده

اگه با ezplot اون تابع رو پلات کنید... فقط و فقط باید انتظار داشته باشید حول نقطه x=14 بسط تیلورتون به جواب اصلی که همون sin(x) است نزدیک بشه نه تو تمام نقاط (مثل جواب ورژن قدیمی)... در واقع اون جواب اولیه معلوم نیست چیه که متلب قدیمیتون داره میده..

لینک به دیدگاه
Share on other sites

  • کاربر ویژه
در 4 دقیقه قبل، hosseinskandari گفته است :

سلام

عزیز بنظر بنده جواب نسخه 2015 و 17 درسته عزیز..

دستور تیلور بسط تابع رو حول نقطه مینویسی تا یه مرتبه معلومی . برای مثال شما تو مثال بالا بسط تیلور تابع رو حول x=14 نوشتی...و اون هم ضرایب بسط تیلور و تابع نهایی اش رو که فقط و فقط حول اون نقطه معتبر هست رو بهتون داده

اگه با ezplot اون تابع رو پلات کنید... فقط و فقط باید انتظار داشته باشید حول نقطه x=14 بسط تیلورتون به جواب اصلی که همون sin(x) است نزدیک بشه نه تو تمام نقاط (مثل جواب ورژن قدیمی)... در واقع اون جواب اولیه معلوم نیست چیه که متلب قدیمیتون داره میده..

نسخه 2011 درسته به نظر من. همه نسخه ها دستور یکی هست . اولی برای sin(x) و دومی حول نقطه 14 . یعنی در نقطه 14 به نمودار اصلی sin(x) نزدیک شده. این در نسخه 2011 اتفاق افتاده ولی در 2015 و 2017 نه!! حتی وقتی اون دستور نسخه 2011 رو در نسخه 2015 و 2017 میدی خطا میده برات !!!

ویرایش شده توسط AtAgAmEr
لینک به دیدگاه
Share on other sites

من الان تو 2016 دارم میزنم.. اینجوری بنویس و پلات کن. میبینی که حول نقطه 0 و حدودا تا 45 درجه جواب تیلو ر دقیق هست اما از یجایی به بعد شرو به خطا میکنه. دلیلشم اینه که تابع بسط تیلور رو تا یه درجه محدود مینویسه.. اگه تنظیمش کنی که درجه رو بالاتر ببره. دقت هم بیشتر میشه.

در ضمن این دستور رو تو help بزن. میبین که تغییر کرده و به اون فرمت قدیمی taylor(f,a) کار نمیکنه. باید بزنی taylor(f,x,a)

clear all
clc
close all

syms x
f1=sin(x)
f2=taylor(f1,x,0)
F1=matlabFunction(f1)
F2=matlabFunction(f2)

X1=-pi/2:0.001:pi/2;
plot(X1,F2(X1))
hold on
plot(X1,F1(X1))

لینک به دیدگاه
Share on other sites

علت تفاوت دو تا جواب متلب هم همینه.. تو متلب قدیمی وقتی بزنی تیلور تا 15 درجه تقریب میزنه ولی تو متلب جدید تا مرتبه 5.

به تابعی که بعنوان بسط تیلور معرفی میکنه دقت کن.. یکی ایکس به نمای 5 ه... یکی تا ایکس به نمای 15 داره تو بسط اش... احتمالا دیدن خیلی بار محاسباتی الکی وارد میشه.. بصورت پیشفرض گذاشتن که تا مرتبه 5 تقریب بزنه

لینک به دیدگاه
Share on other sites

  • کاربر ویژه

اینکه نمیشه !! نسخه 2006 هم با نسخه 2011 یکی ولی با این فرق میکنه

جواب خیلی فرق داره !! وقتی میزنی برا هر دو حول 14 نباید یک جواب و یک نمودار بده ؟؟!!!

خود taylor(f,x,a)  در نسخه 2011 جواب میده و کار میکنه ولی باز هم متفاوت از نسخه های بالاتر

لینک به دیدگاه
Share on other sites

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .
توجه: مطلب ارسالی شما پس از تایید مدیریت برای همه قابل رویت خواهد بود.

مهمان
ارسال پست در این تاپیک...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

 اشتراک گذاری

×
  • اضافه کردن...