View Full Version : چند سوال در رابطه با تابع contour
حسین علوی
شنبه 11 اردیبهشت 1395, 03:42 صبح
سلام خدمت دوستان
چند سوال در مورد تابع contour داشتم
1)در خط 166 فایل ضمیمه از تابع contour بصورت
contour(X,Y,ZZ',[0 0])استفاده شده است . کاربرد [0 0]، و علامت ' چیست؟ مگر بعد از متغییر x,y,zz نباید تعداد منحنی های کانتور آورده شود؟
2)در این پروژه آیا می توان هر دو نمای contour و mesh را با هم رسم کرد؟
3)چطور می توان منحنی های رسم شده توسط تابع contour را ضخیمتر رسم کرد؟
آیا تابع contour دقیقا برشهایی از سطح مورد نظر را در صفحه xy تصویر می کند؟
با تشکر و سپاس
rahnema1
یک شنبه 12 اردیبهشت 1395, 06:40 صبح
سلام
تعجب می کنم این تاپیک تا حالا حدود 60 بازدید کننده داشته یه نفر هم تا حالا جواب نداده ! با اینکه سوال ساده ای هم هست
سوال ۱ :
ببینید این سوال نشون می ده شما مقدمات متلب را هنوز شروع به یادگیری نکرده اید
خب از [] برای ایجاد یک بردار یا ماتریس استفاده می شه که از مطالب دروس مقدماتی متلب هستش
علامت ' هم برای ترانسپوز کردن استفاده می شه
در متلب ممکنه یک دستور چندین طریقه نوشتن داشته باشه مثلا همین دستور contour را به ۱۰ روش می شه نوشت که داخل help مربوط به متلب کاملا توضیح داده یا مثلا در لینک زیر توضیح داده
http://www.mathworks.com/help/matlab/ref/contour.html
یکی از اونها بعد از x,y,z می شه ارتفاع کنتور ها را به صورت یک بردار گذاشت که هر عنصر بردار در واقع ارتفاع اون خط کنتور هست حالا وقتی که یک بردار باشه که هر دو تا یک عدد باشن باشن توی همون هلپ توضیح داده که موجب می شه یک کنتور با مقدار همون عدد ترسیم بشه یعنی اینجا که هر دو صفر هستند یک کنتور با ارتفاع صفر ترسیم می شه
سوال ۲:
بله می تونید از دستور meshc استفاده کنید
سوال ۳ :
برای اندازه خط می تونید از 'LineWidth' استفاده کنید مثلا
contour(X,Y,ZZ',[0 0],'b','LineWidth',2)
یعنی اندازه خط ۲ باشه
* یه پیشنهاد هم دارم که اگه بتونید یه جزوه مقدماتی آموزش متلب را پیدا کنید و مطالعه کنید بعضی مطالب توی اینترنت هم دستورات مهم را خلاصه گذاشتند شما عبارتهایی مثل matlab quickref یا matlab cheat sheet را جستجو کنید این مطالب را به دست می آرید
حسین علوی
یک شنبه 12 اردیبهشت 1395, 11:37 صبح
با تشکر از لطف شما (اولین فرصت پیشنهاد شما رو عملی می کنم).
من می خواهم رویه سه بعدی رو همراه با contour ها رسم کنم از دستور زیر استفاده کردم ولی رویه سه بعدی رسم نمیشه. فقط کنتورها رسم میشن. مشکل از کجاست؟(مثلا برای N=1)
meshc(X,Y,ZZ',[0 0])
لطفا راهنمایی بفرمایید.
rahnema1
دوشنبه 13 اردیبهشت 1395, 03:52 صبح
تنها کاری که لازمه بکنید اینه که قبل از hold on که در خط 162 قرار داره دستور زیر را بذارید
mesh(X, Y, Z')
حسین علوی
سه شنبه 14 اردیبهشت 1395, 00:03 صبح
تنها کاری که لازمه بکنید اینه که قبل از hold on که در خط 162 قرار داره دستور زیر را بذارید
mesh(X, Y, Z')
باز هم ممنون، این برنامه یک سری خطوط اضافه عمودی در حالت سه بعدی می زنه(روی دو وجه جانبی محورها). چطو می تونم این خطوط رو حذف کنم؟
rahnema1
سه شنبه 14 اردیبهشت 1395, 02:00 صبح
قبل از دستور mesh این دستورات را بذارید
X = X(2:end-1);
Y = Y(2:end-1);
Z = Z(2:end-1, 2:end-1);
حسین علوی
سه شنبه 14 اردیبهشت 1395, 12:28 عصر
ممنون؛
در ضمن اینکه چرا در ابتدا تمام درآیه های ماتریس Z را صفر در نظر گرفته؟ در مورد ساختار بردارهای X,Y هم اگر ممکن است توضیحی بفرمایید.(آیا همان مختصات نقاط شبکه با طول hx و hy است؟)
با تشکر
rahnema1
سه شنبه 14 اردیبهشت 1395, 17:01 عصر
اون خطهایی که در کنار ایجاد می شه فکر کنم به خاطر اینه که کنتورها داره باز در حاشیه ها تکرار می شه. خب می شه مقدار بیشتری از حاشیه ها را حذف کرد به شکل زیر
X = X(5:end-4);
Y = Y(5:end-4);
Z = Z(5:end-4, 5:end-4);
معمولا برای اینکه یک ماتریس خالی ایجاد کنیم از zeros استفاده می شه حالا مهم نیست که مقادیر داخل اون صفر باشه چون بعدا در برنامه در هر خانه ماتریس عددهای مناسب قرار می گیرند
مقدار X , Y هم در حلقه for مقدار دهی شه که دز خطهای بین ۱۴۱ تا ۱۵۵ دیده می شه
حسین علوی
چهارشنبه 15 اردیبهشت 1395, 11:29 صبح
X,Y در این برنامه بردار هستند یا ماتریس؟ به نظر بردار باید باشند، با فرض اینکه بردار باشند آن وقت چگونه تابع کنتور می تواند با داشتن دو بردار و یک ماتریس مثل Z، شکل را رسم کند؟
با تشکر
rahnema1
چهارشنبه 15 اردیبهشت 1395, 12:21 عصر
در مثال زیر مشخصه
یکی محور X و اون یکی هم Y و مربع وسط هم Z
| 1 2 3 4 5 6
___|_________________
3 | 3 8 0 9 1 5
6 | 7 3 2 3 7 2
9 | 2 6 1 2 3 8
12 | 8 5 7 7 8 0
15 | 6 3 6 2 6 1
حسین علوی
پنج شنبه 16 اردیبهشت 1395, 06:04 صبح
ممنون از پاسخ شما
در این برنامه مگر Z و ZZ دو ماتریس مجزا نیستند؟ پس چطور منحنی های کنتوری Z و ZZ یکی میشوند؟
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.