سلام
سوال اول: یه ماتریس دارم به اسم yکه حاوی 12 تا عدد است.وقتی دستور plot استفاده می کنم و ماتریس را رسم میکنم میخوام روی محور x اسامی 12 ماه را نوشته باشه، باید چی کار کنم؟
سوال دوم: میخوام روی همین نموداری که رسم کردم میانگین 12 تا عدد را هم (که یک خط مستقیم میشه) رسم کنم، چه دستوری باید استفاده کنم؟
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])
نتیجه رو هم برات گذاشتم.می تونی ببینی
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 مطلب هم استفاده کردم ولی موفق نشدم.
ممنون
بهترینش همونه که از 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)
کلا راه زیاده.امیدوارم تونسته باشم اطلاعات مفیدی بهت بدم
من نمیدونم چرا پرانتزا رو نامرتب میگذاره:دی
راستی شما گفتین help متلب. help متلب واقعا کامله.شما اگه textread رو تایپ کنین تو help اش. مثالهای متنوعی رو براتون درمورد این تابع میاره به اضافه پارامترهای ورودی و خروجی. فقط باید دقت کنین که پارامتر خروجی از چه نوعی هست.چون بسته به توابع، پارامترهای خروجی می تونه متفاوت باشه مثلا آرایه یا cell . برای دسترسی به عناصر آرایه از پرانتز و برای cell از آکولاد {} استفاده می کنیم.
راستی شما گفتین help متلب. help متلب واقعا کامله.شما اگه textread رو تایپ کنین تو help اش. مثالهای متنوعی رو براتون درمورد این تابع میاره به اضافه پارامترهای ورودی و خروجی. فقط باید دقت کنین که پارامتر خروجی از چه نوعی هست.چون بسته به توابع، پارامترهای خروجی می تونه متفاوت باشه مثلا آرایه یا cell . برای دسترسی به عناصر آرایه از پرانتز و برای cell از آکولاد {} استفاده می کنیم.
سلام
ممنونم.واقعا خیلی کمک کردین.حالا میرم ببینم با این دستوری که گفتین میتونم کاری که میخوام انجام بدم. اگه نه که بازم مجبورم مزاحمتون بشم.
یه سوال ازتون داشتم.فقط امیدوارم که از دستم کفری نشده باشین.شایدم الان پشیمونید که چرا از همون اول جوابمو دادین!!
من یک نمودار رسم کردم که مقادیر واقعی و مقادیر شبیه سازی شده توسط شبکه مصنوعی را نشون میده. میخوام روی محور x نمودار کنار Xlabel مقدار خطایی را که قبلا دستورشو نوشتم و محاسبه کرده به صورت اتوماتیک نشون بده.یعنی مثلا بنویسه RMSE=0.023 . از چه دستوری باید استفاده کنم؟
با تشکر