Artificial Intelligence - هوش مصنوعی

Artificial Intelligence - هوش مصنوعی (http://artificial.ir/intelligence/)
-   نرم افزار MATLAB (http://artificial.ir/intelligence/forum64.html)
-   -   رسم نمودار در مطلب (http://artificial.ir/intelligence/thread10853.html)

laughingrose1 ۰۴-۳-۱۳۹۱ ۰۵:۰۵ بعد از ظهر

رسم نمودار در مطلب
 
سلام
سوال اول: یه ماتریس دارم به اسم yکه حاوی 12 تا عدد است.وقتی دستور plot استفاده می کنم و ماتریس را رسم میکنم میخوام روی محور x اسامی 12 ماه را نوشته باشه، باید چی کار کنم؟
سوال دوم: میخوام روی همین نموداری که رسم کردم میانگین 12 تا عدد را هم (که یک خط مستقیم میشه) رسم کنم، چه دستوری باید استفاده کنم؟

ممنون میشم اگه راهنماییم کنید

mahdiii ۰۴-۳-۱۳۹۱ ۰۷:۵۳ بعد از ظهر

rr=randn(1,12);
m=mean(rr);
plot(rr,'*-r');
hold on;plot([1,12],[m,m],'-k');
set(gca, 'XTick',1:12, 'XTickLabel',{'Jan','Feb','Mar','Apr','May','Jun', 'Jul','Aug','Sep','Oct','Nov','Dec'});
xlim([1,12])
نتیجه رو هم برات گذاشتم.می تونی ببینی

laughingrose1 ۰۴-۶-۱۳۹۱ ۰۵:۲۵ بعد از ظهر

نقل قول:

نوشته اصلي بوسيله mahdiii (پست 24984)
rr=randn(1,12);
m=mean(rr);
plot(rr,'*-r');
hold on;plot([1,12],[m,m],'-k');
set(gca, 'XTick',1:12, 'XTickLabel',{'Jan','Feb','Mar','Apr','May','Jun', 'Jul','Aug','Sep','Oct','Nov','Dec'});
xlim([1,12])
نتیجه رو هم برات گذاشتم.می تونی ببینی


خیلی لطف کردین
با تشکر فراوان

عذر میخوام شما با دستور textread کار کردین؟ من میخوام به کمک مطلب یک فایل متنی را خط به خط و ستون به ستون بخونم و بعد هر وقت به یک کاراکتر خاص رسید بهش بگم یک سری عملیات واسم انجام بده.نمیدونم چطوری باید اینکارو بکنم.شاید هم اصلا نیاز به دستور textread نباشه!! فایل متنیم با پسوند txt هم شامل حروف میشه و هم شامل اعداد.میشه لطفا راهنماییم کنید.از help مطلب هم استفاده کردم ولی موفق نشدم.
ممنون

mahdiii ۰۴-۶-۱۳۹۱ ۰۹:۱۱ بعد از ظهر

بهترینش همونه که از textread استفاده کنین، چون فایلتون متنیه.

str=textread('a.txt','%c');
فایل موردنظر a.txt هست که متنتون توشه. من اونو تو متغیر str ریختم.
حالا شما می تونید با یک حلقه و بررسی اینکه به یک کاراکتر موردنظر رسیدید یا نه عملیاتتونو انجام بدید.

for i=1:length(str)
if(str(i)=='q')
disp('An operation must be here');
end
end
من تو این حلقه گفتم هرموقع به کاراکتر q رسیدی عبارت An operation must be here رو چاپ کن.
این جوری که من نوشتم، فاصله ها رو دور میریزه و فقط کاراکترا رو به غیر از فاصله space تو str میریزه. برای اینکه بتونی دقیقا متنتو بخونی می تونی بنویسی
str2=textread('a.txt','%s','whitespace','')
و برای دسترسی به تک تک کاراکترها باید بنویسی str2{1}(3) که این دستور کاراکتر سومو بهت میده
یه راه دیگش اینه که از دستور fscanf استفاده کنی.
id=fopen('a.txt');
ww=fscanf(id,'%c')
و برای دسترسی به کاراکترها lمثلا کاراکتر سوم می نویسی ww(3)
کلا راه زیاده.امیدوارم تونسته باشم اطلاعات مفیدی بهت بدم
من نمیدونم چرا پرانتزا رو نامرتب میگذاره:دی

mahdiii ۰۴-۶-۱۳۹۱ ۰۹:۱۹ بعد از ظهر

راستی شما گفتین help متلب. help متلب واقعا کامله.شما اگه textread رو تایپ کنین تو help اش. مثالهای متنوعی رو براتون درمورد این تابع میاره به اضافه پارامترهای ورودی و خروجی. فقط باید دقت کنین که پارامتر خروجی از چه نوعی هست.چون بسته به توابع، پارامترهای خروجی می تونه متفاوت باشه مثلا آرایه یا cell . برای دسترسی به عناصر آرایه از پرانتز و برای cell از آکولاد {} استفاده می کنیم.

laughingrose1 ۰۴-۷-۱۳۹۱ ۰۹:۵۳ قبل از ظهر

نقل قول:

نوشته اصلي بوسيله mahdiii (پست 25001)
راستی شما گفتین help متلب. help متلب واقعا کامله.شما اگه textread رو تایپ کنین تو help اش. مثالهای متنوعی رو براتون درمورد این تابع میاره به اضافه پارامترهای ورودی و خروجی. فقط باید دقت کنین که پارامتر خروجی از چه نوعی هست.چون بسته به توابع، پارامترهای خروجی می تونه متفاوت باشه مثلا آرایه یا cell . برای دسترسی به عناصر آرایه از پرانتز و برای cell از آکولاد {} استفاده می کنیم.

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

من یک نمودار رسم کردم که مقادیر واقعی و مقادیر شبیه سازی شده توسط شبکه مصنوعی را نشون میده. میخوام روی محور x نمودار کنار Xlabel مقدار خطایی را که قبلا دستورشو نوشتم و محاسبه کرده به صورت اتوماتیک نشون بده.یعنی مثلا بنویسه RMSE=0.023 . از چه دستوری باید استفاده کنم؟
با تشکر

mahdiii ۰۴-۷-۱۳۹۱ ۰۲:۴۲ بعد از ظهر

xlabel(['RMSE=' num2str(0.023)])
num2str
تابعی هست که یه عددو به رشته تبدیل میکنه برای نمایش و چاپ
str2num
هم داریم که برعکس عمل میکنه

laughingrose1 ۰۴-۷-۱۳۹۱ ۰۶:۲۲ بعد از ظهر

ممنون از لطفتون

simin ghorbani ۰۲-۲۴-۱۳۹۴ ۰۸:۱۵ قبل از ظهر

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

mahdiii ۰۲-۲۴-۱۳۹۴ ۰۳:۳۶ بعد از ظهر

منظورتون چی هست؟
رنج؟
میخواین محور x ,y در محدوده خاصی باشه؟
برای این کار بنویسین
xlim([a,b]) , ylim([a,b])
a,b مقادیر دلخواهند


زمان محلي شما با تنظيم GMT +3.5 هم اکنون ۱۱:۰۱ بعد از ظهر ميباشد.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0 ©2007, Crawlability, Inc.