رفتن به مطلب

تاپیک رفع اشکال و بحث پیرامون یادگیری متلب در تابستان 92


M!Zare

ارسال های توصیه شده

چون دنباله ای که تشکیل میشه بازگشتی هست دو راهکار دارید...یا دو تا حلقه تکرار تو در تو بنویسید یا اینکه جمله اول رو به صورت آفست در خارج این حلقه تکرار محاسبه کنید. من روش دوم رو رفتم چون نخواستم حلقه تو در تو داشته باشم. از این ایده استفاده کردم که تفاضل دو جمله متوالی ضریب ثابتی از یک سری مجموع مشخص هست. اون جمله مجموع که مشخص هست رو با S تو کد زیر نشون دادم. اینم کد:

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

حس کردم که ماتریس سطری ۱۱ عنصره F_n برای ما مشخص است و قبل از این حلقه محاسبه شده. جملاتی که بالا نوشتید رو به ترتیب F_B(1) و F_B(2) و همین طور تا F_B(11) در نظر گرفتم.

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

لینک به دیدگاه
  • پاسخ 119
  • ایجاد شد
  • آخرین پاسخ

بهترین ارسال کنندگان این موضوع

بهترین ارسال کنندگان این موضوع

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

 

 

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

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

مورد دوم رو هم متوجه نشدم. نفهمیدم مشکل کجاست. ایده کد رو که عرض کردم خدمتتون. شما دو جمله متوالی ای که برای من نوشتید رو از هم کم کنید متوجه میشید که یه ضریب ثابت 0.15 تو یه سری عدد متوالی که جمع شدن ضرب شده. من اول اون مجموع رو ساختم و تو 0.15 ضرب کردم بعد اسمشو گذاشتم S. بعد به جمله قبلی اینو اضافه کردم که جمله جدید به دست بیاد

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

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

مورد دوم رو هم متوجه نشدم. نفهمیدم مشکل کجاست. ایده کد رو که عرض کردم خدمتتون. شما دو جمله متوالی ای که برای من نوشتید رو از هم کم کنید متوجه میشید که یه ضریب ثابت 0.15 تو یه سری عدد متوالی که جمع شدن ضرب شده. من اول اون مجموع رو ساختم و تو 0.15 ضرب کردم بعد اسمشو گذاشتم S. بعد به جمله قبلی اینو اضافه کردم که جمله جدید به دست بیاد

متشکرم:icon_gol:

من 12 تا المان دارم ولی المان 12 صفر هست. کدش رو اینجوری دوست دارم بنویسم..ولی قسمت sum رو نمیدونم چی بزارم.

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

لینک به دیدگاه
متشکرم:icon_gol:

من 12 تا المان دارم ولی المان 12 صفر هست. کدش رو اینجوری دوست دارم بنویسم..ولی قسمت sum رو نمیدونم چی بزارم.

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

بله متوجه شدم.این کد پیشنهادی منه

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

دیدگاهش همونه اما حافظه رو از انتها به ابتدا پر میکنه...

لینک به دیدگاه
  • 2 هفته بعد...

ی سری سوال هم از چند جمله ای ها دارم

 

( collect(f,x

ب چ کار اید :ws3:

 

سوال دیگه اینکه

تفاوت ezplot

plot

چیه؟

 

سوال سوم اینکه

factor(g

ب چ کار اید:ws3:

 

 

expand(f)

چی میگه؟

 

simplify(p

هم هست :ws3:

لینک به دیدگاه
وقتی تابع رو با این لاین تعریف می کنیم، نمی تونیم از دستور سابز برا تعیین متغییرها استفاده کنیم؟

:ws38:

 

njmjy975wgo2un9vrw95.jpg

 

سلام

دستور subs برای متغیر های سیمبولیک هست و تا تابع شما به صورت سیمبولیک تعریف نشده باشه نمیتونید از این دستور استفاده کنید. یه مثال ساده از تعریف تابع تو فضای سیمبولیک

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

اما وقتی دارید تابع خودتونو به صورت inline تعریف میکنید یه دیگه حالت سیمبولیک نداره تو این حالت برای مقدار دهی مثل ریاضیات دبیرستان باهاش رفتار میکنیم. اونجا میگفتیم f(2) یعنی منظورمون این بود که جای x بیا عدد دو رو بذار. حالا اینجا هم یه چیزی شبیه به این گفتار باید براش کد بزنیم

 

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

اینم جوابش با قبلیه یکی میشه اما خوب چرا متلب اومده برای تعریف تابع ریاضی چن تا روش در نظر گرفته؟؟؟ به خاطر کاربردهاش هست. روش اول که سیمبولیک هست هم تو مقدار دهی و هم تو محاسبات یه کم کند تر از روش دوم هست اما قدرت تحلیل رو به متلب میده!!! یعنی میتونه متلب روش ساده سازی ریاضی و اینا انجام بده اما تو روش دوم متلب مثل یه ماشین حساب میمونه و قدرت تحلیل نداره!!! فقط ورودی میگیره و خروجی تحویل میده!!! حالا تو سوال پست بعدی شما کامل متوجه میشید که میگم قدرت تحلیل داره یعنی چی!!!

 

کلا روش های تعریف تابع تع متلب خیلی زیاد هست یکیشم استفاده از هندل فانکشن هست که اگه دوست داشتید بگید من یه توضیح کوچیک از اون هم براتون میذارم:w16:

لینک به دیدگاه
ی سری سوال هم از چند جمله ای ها دارم

 

( collect(f,x

ب چ کار اید :ws3:

 

سوال دیگه اینکه

تفاوت ezplot

plot

چیه؟

 

سوال سوم اینکه

factor(g

ب چ کار اید:ws3:

 

 

expand(f)

چی میگه؟

 

simplify(p

هم هست :ws3:

 

 

اکثر اون بخش هایی که سوال کردید مربوط میشه به همون تعریف تابع به روش سیمبولیک!!! همه این هایی هم که سوال کردید همون قدرت تحلیلی هست که گفتم متلب نسبت به این نوع متغیر داره خوب من به ترتیبی که سوال پرسیدید جواب میدم

 

۱-دستور collect

 

فرض کنید یه تابع در اختیار دارید حالا نه لزوما به صورت تک متغیره، بلکه به صورت چند متغیره. مثلا یه تابع دارید که هم تابع x هست و هم تابع y. این دستور کمک میکنه تابع سیمبولیکی که به این صورت تعریف کردید رو نسبت به یه متغیر و توان های نزولی اون مرتب کنید. یه مثال ساده از این دستور

 

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

این یه تابع بود که یه بار بر حسب y مرتب شد یه بار بر حسب x. کد رو اگر اجرا کنید کاملا این قسمت رو متوجه میشید. این دستور کاربردهای دیگه ای هم داره اما مهمترین و پرکابرد ترینشو من اینجا گفتم به شما:a030:

 

۲- تفاوت ezplot با plot

 

هر دو دستور برای رسم توابع استفاده میشه و اونجا کاربرد داره اما دیدگاهشون برای رسم توابع متفاوته. تو دستور ezplot به متلب میگی مثلا سهمی y=x^2 رو برای من بکش. متلب هم تو یه بازه مناسب که معمولا اگه تنظیم نشه خودش تشخیصش میده اون تابع رو رسم میکنه. اما دیدگاه plot به صورت نقطه دهی به تابع و نقطه گذاری تو اون هست. یعنی شما نقطه به تابع میدید و اون تابع رو براتون رسم میکنه. حالا این خودش یه مزیت و یه مشکلاتی داره. مزیتش اینه که شما میتونید تو هر بازه دلخواه و با دقتی اون تابع رو رسم کنید اما مشکلش اینه که اگه خوب نقطه دهی نکنید شکل خوبی دستگریتون نمیشه... یه نمونه ساده از مقایسه این دو تا تابع:

 

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

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

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

۳- factor

 

چن تا تابع به این اسم تو متلب هست که هر کدومشون یه کار میکنه... ورودی هاشون فرق میکنه خروجی هاشونم با هم متفاوته اما اینجا من یه توضیح از مهمترین هاش میدم

 

اولین تابع factor ورودیش یه عدد طبیعی هست که وقتی اون عدد رو بهش میدی خروجیش میشه اعداد اولی که فاکتور های اون عدد هستن.... مثلا اگه اینجور کد بزنیم

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

جوابش میشه اعداد {2,2,2,3} که همون حاصل از تجزیه به عوامل اول عدد ۲۴ هست... این تابع رو توضیح دادم اما از بقیه سوالای شما مشهوده که این مد نظرتون نیست... برای همون میرم سراغ تابع دوم factor.

 

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

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

 

۴- expand

 

این تابع دقیقا عملی عکس عمل تابع factor رو انجام میده...اگه یه چند جمله ای بسته به صورت ضرب چند فاکتور رو به اون بدید خروجی رو به صورت باز شده اون حاصل ضرب مینویسه

 

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

۵- simplify

 

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

حالا اگه از فضای چند جمله ای فاصله بگیریم میبینیم این دستور خیلی خوب و به درد بخوره تو توابع کسری... ممکنه یه کسر صورت و مخرجش قابل ساده سازی باشه اگه این ممکن باشه این دستور اون کار رو انجام میده!!! حالا یه مثال من اینجا میذارم تا درکش راحت تر بشه

 

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

یه دستور دیگه هم من اینجا معرفی میکنم.....دستور pretty

این دستور وقتی که دارید تو محیط سیمبولیک ولی با توابع کسری کار میکنید خیلی به درد بخوره.. چون زبون های برنامه نویسی کسر ها رو خوب نمیتونه نشون بدن (معمولا با / نشون میدن که زیاد چشم نواز نیست) اگه از این تابع استفاده کنید باعث میشه که نتیجه رو بتونید بهتر ببینید و روی کاغذ برای خودتون بیارید یه مثال از این دستور و دستور simplify تو محیط توابع کسری

 

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

البته اینو بگم که این توضیحاتی که دادم همه کاربرد های این توابع نبودن و ممکنه بعضی هاشون کاربرد های دیگه ای هم داشته باشن اما اینجا من مهمترین و پرکابردترین هاشون رو از نظر خودم گفتم

لینک به دیدگاه
ipcyw6j7kcppwz2jyysl.jpg

 

سری تیلور حل نمی شه چرا :ws38:

 

 

اگر به این صورت بنویسید حل میشه:

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

منظورتونو از اون 8 ای که نوشتید نفهمیدم.. اگه منظورتون اینه که خطا رو از اون اردر تعریف کنید باید اینجوری بنویسید

 

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

اگه بخوایم به صورت ریاضی بحث کنیم این کد تضمین میکنه که تابعی که این سری به شما بر میگردونه از خطایی از نوع O(x^8) هست. یعنی اینکه جملات مرتبه هشت به بالا تو این تقریب سری تیلر برش خوردن....

اما اگه منظورتون از اون ۸ اینه که این بسط رو حول ۸ بنویسید راستش من اینو نمیدونم اما میتونید با یه شیفت دیسی که تو تابع خودتون میدید کاری کنید که تابع ۸ تا شیفت پیدا کنه دوباره اونو حول صفر بنویسید[/font]:w16:[/font]

لینک به دیدگاه
اگر به این صورت بنویسید حل میشه:

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

منظورتونو از اون 8 ای که نوشتید نفهمیدم.. اگه منظورتون اینه که خطا رو از اون اردر تعریف کنید باید اینجوری بنویسید

 

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

اگه بخوایم به صورت ریاضی بحث کنیم این کد تضمین میکنه که تابعی که این سری به شما بر میگردونه از خطایی از نوع O(x^8) هست. یعنی اینکه جملات مرتبه هشت به بالا تو این تقریب سری تیلر برش خوردن....

اما اگه منظورتون از اون ۸ اینه که این بسط رو حول ۸ بنویسید راستش من اینو نمیدونم اما میتونید با یه شیفت دیسی که تو تابع خودتون میدید کاری کنید که تابع ۸ تا شیفت پیدا کنه دوباره اونو حول صفر بنویسید:w16:

 

مرسی مهندس.

راستش من از صفر شروع کردم ب کار.

با ی کتاب عالی ک اسی خدابیارمز گذاشته بود تو انجمن.

 

این کتاب یکی از کامل ترین کتاب های آموزش matlab به زبان فارسی است که بیشتر مباحث کاربردی را پوشش می دهد و برای دانشجویان بسیار مناسب می باشد.

 

 

لینک دانلود :

 

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

اینم ی قسمتی از کتاب ه ک سری تیلور رو میخاد در نقطه 8

 

http://www.noandishaan.com/upload/images/5gmtjy02c48slj2pmug.jpg

لینک به دیدگاه
مرسی مهندس.

راستش من از صفر شروع کردم ب کار.

با ی کتاب عالی ک اسی خدابیارمز گذاشته بود تو انجمن.

 

 

 

اینم ی قسمتی از کتاب ه ک سری تیلور رو میخاد در نقطه 8

 

http://www.noandishaan.com/upload/images/5gmtjy02c48slj2pmug.jpg

 

بله دیدم لینکو...کاتب خوبی هست برای شروع.... درست میگید قابل محاسبه است اما اینی که شما گذاشتید همون برش سری تیلر در مرتبه کمتر از هشت هست که قبلا توضیح دادم خدمتتون نه بسط اون تابع حول نقطه هشت در واقع اگه بسط اونو دقت کنید میبید هنوز حول صفره چون مقدار ثابت اون یک نهم هست...:w16:

 

تاجایی که میدونستم ورژن های قبلی اصلن قادر به محاسبه حول نقطه دیگه ای نبودن اما این امکان تو روژنهای جدید مثل اینکه اضافه شده و الان داشتم هلپ رو میخوندم که به نتیجه رسیدم!!!:ws3:

 

الان اینجوری بنویسید محاسبه میکنه حول نقطه هشت بسط رو محاسبه میکنه:

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

که البته خود این بسط هم قابل برش نسبت به هر مرتبه دلخواهیه:a030:

لینک به دیدگاه

متشکرم یاسر عزیز.

اره. دقیقا همین مورد اخر بود ک گفتید.

 

ی سوال دیگه اینکه علامت کوتیشن چ کار می کنه. متن نوشته بود تابع رو پارامتریک معرفی میکنه. خوب من سیمز زدم اولش دیگه.

ypc3i4bc54m7xdlrqqix.jpg

 

الان تو مورد (3) ریشه ها رو درست داده. مورد (2) نمی فهمم چی داده اصلا :دی

مورد (1) چی چیه؟

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

نماد {} و یا [] و یا () کلا معنای خاصی دارن؟

لینک به دیدگاه
متشکرم یاسر عزیز.

اره. دقیقا همین مورد اخر بود ک گفتید.

 

ی سوال دیگه اینکه علامت کوتیشن چ کار می کنه. متن نوشته بود تابع رو پارامتریک معرفی میکنه. خوب من سیمز زدم اولش دیگه.

ypc3i4bc54m7xdlrqqix.jpg

 

الان تو مورد (3) ریشه ها رو درست داده. مورد (2) نمی فهمم چی داده اصلا :دی

مورد (1) چی چیه؟

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

نماد {} و یا [] و یا () کلا معنای خاصی دارن؟

 

سلام

خب توی مورد اول هم اگه اینجوری بدی، جواب درست میده:

 

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

اما توی حالت اول اومدی x رو سمبولیک تعریف کردی، توی خط بعدش اومدی x رو یه عبارت بر حسب x تعریف کردی، خب متلب هم همینو در نظر می گیره دیگه، یعنی الان x همون عبارت دوم هست، خروجیش رو ببین:

 

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

درجه ش 9 میشه دیگه، برای همین 9 تا جواب پیدا کرده.:ws3:

 

----

 

() ----> برای ورودی فانکشن ها استفاده میشه، یعنی ورودی ها باید داخلش گذاشته بشه.

[] ----> برای نمایش ماتریس بکار میره، توی متغیرهای سمبولیک هم میشه آرایه ای تعریف کرد، برای همین بالا اروری نداد که چرا استفاده کردی:

 

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

{} ----> هم برای Cell Array به کار میره، تقریبا همه چی میشه داخلش گذاشت، برای کنار هم قرار دادن متغیرها با نوع های مختلف یا ماتریس ها و بردارهایی که ابعاد برابری ندارن میشه استفاده کرد.

لینک به دیدگاه

مرسی مهندس.

باز هم سوال :ws3:

wejre8d3fmgtn7khq0qf.jpg

 

 

1- علامت مساوی رو چ دوتا بزارم چ یکی جفتش یکی ه؟

ی جا خوندم باید دوتا بزارم ک!

 

2- اون دایره ای ک کشیدم دور ایکس، نشون می ده ک متغیر معادله چیه دیگه درسته؟ اگ نزارمش باز هم جواب می ده.

چ جوابی میده اگه نزارم؟

 

 

 

v62z2fsud7dq7c3mqyfw_thumb.jpg

 

الان این معادله رو پریتی گرفتم.

اینا ک نوشته یعنی چی :دی

این بیشتر آگلی شده تا پریتی :دی

 

 

پیش پیش برا وقتی ک می زارین متشکرم.

 

اینم ی نمونه دیگه از پریتی ناحوره

p52facp7rxlp8du5kks_thumb.jpg

 

 

 

 

سوال 3 اینکه

اینجا چون خیلی طولانی بوده جواب، متلب خطا داده؟

drnl1ajr4yfexkhj7ewy_thumb.jpg

حرف حسابش چیه؟

لینک به دیدگاه

علاوه بر سوالهای قبلی اینا هم هست :ws3:

 

1- چرا جواب من با جواب کتاب تیپش فرق می کنه؟ البته یکی هست از لحاظ ریاضی. ولی اون ی طور دیگه نوشته.

 

ujdnu84uhsplb6p1uh8_thumb.jpg

 

 

i4if5sc7tb9hm2n37yt9_thumb.jpg

 

 

2- تو این مدل، اگر "وای" رو هم در سیسمز معرفی نکنم بازهم جواب درست می ده. چ لزومی داره معرفی کردنش؟

 

pt86jm7sr1ws9v16500m_thumb.jpg

 

پیش پیش مرسی :icon_gol:

لینک به دیدگاه
مرسی مهندس.

باز هم سوال :ws3:

wejre8d3fmgtn7khq0qf.jpg

 

 

1- علامت مساوی رو چ دوتا بزارم چ یکی جفتش یکی ه؟

ی جا خوندم باید دوتا بزارم ک!

 

2- اون دایره ای ک کشیدم دور ایکس، نشون می ده ک متغیر معادله چیه دیگه درسته؟ اگ نزارمش باز هم جواب می ده.

چ جوابی میده اگه نزارم؟

 

 

 

v62z2fsud7dq7c3mqyfw_thumb.jpg

 

الان این معادله رو پریتی گرفتم.

اینا ک نوشته یعنی چی :دی

این بیشتر آگلی شده تا پریتی :دی

 

 

پیش پیش برا وقتی ک می زارین متشکرم.

 

اینم ی نمونه دیگه از پریتی ناحوره

p52facp7rxlp8du5kks_thumb.jpg

 

 

 

 

سوال 3 اینکه

اینجا چون خیلی طولانی بوده جواب، متلب خطا داده؟

drnl1ajr4yfexkhj7ewy_thumb.jpg

حرف حسابش چیه؟

 

سلام

کدو بذار، چرا عکس می گیری:ws3:

وقتی به صورت string معادله رو وارد می کنی، یه علامت مساوی کافیه، ولی وقتی به صورت string نباشه برای تساوی باید باید از دو تا علامت استفاده بشه، وگرنه ارور میده:

 

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

منطقی هم هست دیگه، مثلا یک مساوی 2 که نمی تونیم بنویسیم، وقتی مساوی باشه طرف راست رو می خواد تو چپ قرار بده که امکان پذیر نیست، ولی احتمالا وقتی به صورت رشته وارد می کنیم خودش معادله رو به صورت اصلاح می کنه، یعنی به نظرم جای مساوی رو پیدا می کنه، تبدیل به دو معادله می کنه، یا اینکه اگه یه مساوی باشه، یه مساوی دیگه کنارش اضافه می کنه تا موقعی که از رشته میارتش بیرون از نظر منطقی مشکل نداشته باشه:

 

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

خب در مورد اینکه اگه X هم نذاری جواب میده هم اینو تو هلپ گفته:

 

When representing eqn as a string, use the letter D to indicate differentiation. By default, dsolve assumes that the independent variable is t. Thus, Dy means dy/dt. You can specify the independent variable. The letter D followed by a digit indicates repeated differentiation. Any character immediately following a differentiation operator is a dependent variable. For example, to solve y''(x) = x*y(x), enter:

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

or

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

نه بابا اونقدرا هم بد نیست:ws3:، واسه من اینشکلی میده، می خواد پرانتز بکشه دیگه:

 

ofgryh3qy8pdaybbbiw9.png

 

سوال 3 هم به نظرم نتونسته حل کنه، اومده جواب رو بر اساس یه معادله دیگه بهت داده. شاید به خاطر اینه که تو مخرج هم متغیر داری، واسه solve فکر کنم اینجوری بود تا درجه سوم رو به صورت دیفالت حل می کرد، بالاتر از اونو بر حسب یه معادله دیگه میداد، البته این سه رو هم میشد تغییر داد، تو این زمینه ها خیلی با متلب کار نکردم، معادله دیفرانسیل که تقریبا صفر.

یه بار هم پروژه یه درسی (فازی) داخلش حتما بایست معادله دیفرانسیل هم حل میشد، هر چی با ode سعی کردم، نتونستم جواب بگیرم، تهش معادله رو بردم تو سیمولینک با بلوک های سیمولینک ساختم، خیلی تمیز جواب داد.:ws3:

لینک به دیدگاه
علاوه بر سوالهای قبلی اینا هم هست :ws3:

 

1- چرا جواب من با جواب کتاب تیپش فرق می کنه؟ البته یکی هست از لحاظ ریاضی. ولی اون ی طور دیگه نوشته.

 

ujdnu84uhsplb6p1uh8_thumb.jpg

 

 

i4if5sc7tb9hm2n37yt9_thumb.jpg

 

 

2- تو این مدل، اگر "وای" رو هم در سیسمز معرفی نکنم بازهم جواب درست می ده. چ لزومی داره معرفی کردنش؟

 

pt86jm7sr1ws9v16500m_thumb.jpg

 

پیش پیش مرسی :icon_gol:

 

فکر کنم به ورژن متلب بر می گرده، شاید توی ورژن های قبلی تانژانت هایپربولیک تعریف نشده بود، برای منم مثل تو میده.

 

2) کلش رو هم syms تعریف نکنی جواب میده:w02:، داری معادله رو به صورت رشته میدی دیگه، نیازی نیست syms تعریف بشه:

 

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

لینک به دیدگاه
سلام

کدو بذار، چرا عکس می گیری:ws3:

وقتی به صورت string معادله رو وارد می کنی، یه علامت مساوی کافیه، ولی وقتی به صورت string نباشه برای تساوی باید باید از دو تا علامت استفاده بشه، وگرنه ارور میده:

 

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

منطقی هم هست دیگه، مثلا یک مساوی 2 که نمی تونیم بنویسیم، وقتی مساوی باشه طرف راست رو می خواد تو چپ قرار بده که امکان پذیر نیست، ولی احتمالا وقتی به صورت رشته وارد می کنیم خودش معادله رو به صورت اصلاح می کنه، یعنی به نظرم جای مساوی رو پیدا می کنه، تبدیل به دو معادله می کنه، یا اینکه اگه یه مساوی باشه، یه مساوی دیگه کنارش اضافه می کنه تا موقعی که از رشته میارتش بیرون از نظر منطقی مشکل نداشته باشه:

 

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

خب در مورد اینکه اگه X هم نذاری جواب میده هم اینو تو هلپ گفته:

 

When representing eqn as a string, use the letter D to indicate differentiation. By default, dsolve assumes that the independent variable is t. Thus, Dy means dy/dt. You can specify the independent variable. The letter D followed by a digit indicates repeated differentiation. Any character immediately following a differentiation operator is a dependent variable. For example, to solve y''(x) = x*y(x), enter:

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

or

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

نه بابا اونقدرا هم بد نیست:ws3:، واسه من اینشکلی میده، می خواد پرانتز بکشه دیگه:

 

ofgryh3qy8pdaybbbiw9.png

 

سوال 3 هم به نظرم نتونسته حل کنه، اومده جواب رو بر اساس یه معادله دیگه بهت داده. شاید به خاطر اینه که تو مخرج هم متغیر داری، واسه solve فکر کنم اینجوری بود تا درجه سوم رو به صورت دیفالت حل می کرد، بالاتر از اونو بر حسب یه معادله دیگه میداد، البته این سه رو هم میشد تغییر داد، تو این زمینه ها خیلی با متلب کار نکردم، معادله دیفرانسیل که تقریبا صفر.

یه بار هم پروژه یه درسی (فازی) داخلش حتما بایست معادله دیفرانسیل هم حل میشد، هر چی با ode سعی کردم، نتونستم جواب بگیرم، تهش معادله رو بردم تو سیمولینک با بلوک های سیمولینک ساختم، خیلی تمیز جواب داد.:ws3:

 

سلام

دستور subs برای متغیر های سیمبولیک هست و تا تابع شما به صورت سیمبولیک تعریف نشده باشه نمیتونید از این دستور استفاده کنید. یه مثال ساده از تعریف تابع تو فضای سیمبولیک

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

اما وقتی دارید تابع خودتونو به صورت inline تعریف میکنید یه دیگه حالت سیمبولیک نداره تو این حالت برای مقدار دهی مثل ریاضیات دبیرستان باهاش رفتار میکنیم. اونجا میگفتیم f(2) یعنی منظورمون این بود که جای x بیا عدد دو رو بذار. حالا اینجا هم یه چیزی شبیه به این گفتار باید براش کد بزنیم

 

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

اینم جوابش با قبلیه یکی میشه اما خوب چرا متلب اومده برای تعریف تابع ریاضی چن تا روش در نظر گرفته؟؟؟ به خاطر کاربردهاش هست. روش اول که سیمبولیک هست هم تو مقدار دهی و هم تو محاسبات یه کم کند تر از روش دوم هست اما قدرت تحلیل رو به متلب میده!!! یعنی میتونه متلب روش ساده سازی ریاضی و اینا انجام بده اما تو روش دوم متلب مثل یه ماشین حساب میمونه و قدرت تحلیل نداره!!! فقط ورودی میگیره و خروجی تحویل میده!!! حالا تو سوال پست بعدی شما کامل متوجه میشید که میگم قدرت تحلیل داره یعنی چی!!!

 

کلا روش های تعریف تابع تع متلب خیلی زیاد هست یکیشم استفاده از هندل فانکشن هست که اگه دوست داشتید بگید من یه توضیح کوچیک از اون هم براتون میذارم:w16:

 

 

درود

خوب می دونی من کار می کنم. عکس می گیرم. بعد میبینی بعد ی هفته می زارم اینجا. بر همین عکسی ه. ببخشید.

 

پس انگار سوال درست اینکه بپرسم کی استرینگ تعریف کنم کی از سیمز برم؟

بعد انگار همچین هم دستور سیمز یا کلا نحوه معرفی کردن تابع مهم نیست.

این رو ببینین.

qpe6xumgcfarm49rjgu_thumb.jpg

نمونه ی کتاب ه. تی تعریف نشده برا سیمز، مشکل هم پیش نیومده. حالا نمی دونم ب خاطر اینکه ایمان نوشته بود هلپ گفته پیش فرض به تی هست یا نه!

 

صفحه قبل یاسر ی چیزی گفت. انگار سیسمز بزنم، برا قدرت تحلیلی متلب بهتره. درسته؟

 

 

آقا یاسر مختصر ک وقتت گرفته نشه همین روشهای تعریف تابع رو میگی؟ هندل فانکشن هم بگی متشکر می شم.

 

 

ایمان، یعنی سیمولینک یاد بگیرم؟ :ws38: اینطور ک میگی اون راحت تر جواب میده. یا اول باس اینا رو یاد بگیرم بعد بریم سیمولینک؟

لینک به دیدگاه

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

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

مهمان
ارسال پاسخ به این موضوع ...

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

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

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

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

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


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