سلام.
کدهای متلب زیر رو می نویسیم :
نتیجه اجرای کد متلب بالا :
فقط شما x رو به صورت ماتریس تعریف کرده بودید، نه بردار. اگر x به صورت دنباله اعداد است، بهتره که به صورت بردار تعریف بشه ولی به هر حال من به صورت همین ماتریس براتون نوشتم. فقط باید چگونگی فراخوانی عناصر ماتریس و اندیس های عناصر رو چک کنید و ببینید همون چیزی که شما انتظار داشتید هست یا نه. چون معمولا افراد از این نوع فراخوانی اطلاعی ندارند و چون ترتیب را نمی دانند، برنامه را هم اشتباه متوجه می شوند.
اگر یک دنباله مد نظرتان بوده، x رو به صورت یک بردار تعریف کنید تا دیگر نگران این موارد نباشید و همین کد بالا برای آن جواب می دهد.
کدهای متلب زیر رو می نویسیم :
کد:
clear all
close all
clc
x=[12 43 34;75 54 64];
x_number=numel(x);
r=0.2;
z_0=0;
z=x;
for t=1:x_number
if (t==1)
z(t)=r*x(t)+(1-r)*z_0;
else
z(t)=r*x(t)+(1-r)*z(t-1);
end
end;
z
نتیجه اجرای کد متلب بالا :
کد:
z =
2.4000 22.1360 29.6070
16.9200 28.5088 36.4856
فقط شما x رو به صورت ماتریس تعریف کرده بودید، نه بردار. اگر x به صورت دنباله اعداد است، بهتره که به صورت بردار تعریف بشه ولی به هر حال من به صورت همین ماتریس براتون نوشتم. فقط باید چگونگی فراخوانی عناصر ماتریس و اندیس های عناصر رو چک کنید و ببینید همون چیزی که شما انتظار داشتید هست یا نه. چون معمولا افراد از این نوع فراخوانی اطلاعی ندارند و چون ترتیب را نمی دانند، برنامه را هم اشتباه متوجه می شوند.
اگر یک دنباله مد نظرتان بوده، x رو به صورت یک بردار تعریف کنید تا دیگر نگران این موارد نباشید و همین کد بالا برای آن جواب می دهد.
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.