-
نقل قول: ساخت ماتریس تصادفی
نقل قول:
نوشته شده توسط
rahnema1
متلب شما عدد منفی را برای sortrows قبول نمی کنه این یکی فکر کنم درست بشه
hh1=sortrows([h' u],1);
hh1=hh1(rows(hh1):-1:1,:);
بازم حل نشد!
??? Error using ==> sortrows at 64
COL must be a vector of column indices into X.
Error in ==> pro at 16
hh1=sortrows([h' u],1);
-
نقل قول: ساخت ماتریس تصادفی
این یکی چی؟
h0=[h' u];
hh1=sortrows(h0,1);
hh1=hh1(rows(hh1):-1:1,:);
-
نقل قول: ساخت ماتریس تصادفی
نقل قول:
نوشته شده توسط
rahnema1
این یکی چی؟
h0=[h' u];
hh1=sortrows(h0,1);
hh1=hh1(rows(hh1):-1:1,:);
نه!
??? Error using ==> sortrows at 64
COL must be a vector of column indices into X.
Error in ==> pro at 17
hh1=sortrows(h0,1);
-
نقل قول: ساخت ماتریس تصادفی
اصلا فکر کنم sortrows نداره
u=unique([i;j]);
h=hist([i;j],u);
[ss ii]=sort(h);
hh1=u(ii(numel(ii):-1:1));
rng=[];
dex=1;dex1=1;
while( rows(ij)~=0)
[m n]=find(ij==hh1(dex));
ij(m,:)=[] ;
if (numel(m)>0)
rng(dex1)=hh1(dex);
dex1=dex1+1;
end
dex=dex+1;
end
in(:,rng)=[];
out = data(:,end);
-
نقل قول: ساخت ماتریس تصادفی
نقل قول:
نوشته شده توسط
rahnema1
اصلا فکر کنم sortrows نداره
u=unique([i;j]);
h=hist([i;j],u);
[ss ii]=sort(h);
hh1=u(ii(numel(ii):-1:1));
rng=[];
dex=1;dex1=1;
while( rows(ij)~=0)
[m n]=find(ij==hh1(dex));
ij(m,:)=[] ;
if (numel(m)>0)
rng(dex1)=hh1(dex);
dex1=dex1+1;
end
dex=dex+1;
end
in(:,rng)=[];
out = data(:,end);
sortrows داره مهندس. اینم syntax :
Sort rows in ascending order
syntax
B = sortrows(A)
B = sortrows(A,column)
[B,index] = sortrows(A,...)
Description
B = sortrows(A) sorts therows of A in ascending order. Argument A mustbe either a matrix or a column vector.
For strings, this is the familiar dictionary sort. When A iscomplex, the elements are sorted by magnitude, and, where magnitudesare equal, further sorted by phase angle on the interval https://barnamenevis.org/jar:file:///...f/math_s15.gif.
B = sortrows(A,column) sortsthe matrix based on the columns specified in the vector column.If an element of column is positive, the MATLAB softwaresorts the corresponding column of matrix A in ascendingorder; if an element of column is negative, MATLAB sortsthe corresponding column in descending order. For example, sortrows(A,[2-3]) sorts the rows of A first in ascendingorder for the second column, and then by descending order for thethird column.
[B,index] = sortrows(A,...) alsoreturns an index vector index.
If A is a column vector, then B= A(index). If A is an m-by-n matrix,then B = A(index,:).
Examples
Start with a mostly random matrix, A:
rand('state',0)
A = floor(rand(6,7) * 100);
A(1:4,1)=95; A(5:6,1)=76; A(2:4,2)=7; A(3,3)=73
A =
95 45 92 41 13 1 84
95 7 73 89 20 74 52
95 7 73 5 19 44 20
95 7 40 35 60 93 67
76 61 93 81 27 46 83
76 79 91 0 19 41 1When called with only a single input argument, sortrows basesthe sort on the first column of the matrix. For any rows that haveequal elements in a particular column, (e.g., A(1:4,1) forthis matrix), sorting is based on the column immediately to the right,(A(1:4,2) in this case):
B = sortrows(A)
B =
76 61 93 81 27 46 83
76 79 91 0 19 41 1
95 7 40 35 60 93 67
95 7 73 5 19 44 20
95 7 73 89 20 74 52
95 45 92 41 13 1 84When called with two input arguments, sortrows basesthe sort entirely on the column specified in the second argument.Rows that have equal elements in the specified column, (e.g., A(2:4,:),if sorting matrix A by column 2) remainin their original order:
C = sortrows(A,2)
C =
95 7 73 89 20 74 52
95 7 73 5 19 44 20
95 7 40 35 60 93 67
95 45 92 41 13 1 84
76 61 93 81 27 46 83
76 79 91 0 19 41 1
This example specifies two columns to sort by: columns 1 and7. This tells sortrows to sort by column 1 first,and then for any rows with equal values in column 1, to sort by column7:
D = sortrows(A,[1 7])
D =
76 79 91 0 19 41 1
76 61 93 81 27 46 83
95 7 73 5 19 44 20
95 7 73 89 20 74 52
95 7 40 35 60 93 67
95 45 92 41 13 1 84Sort the matrix using the values in column 4 this time and inreverse order:
E = sortrows(A, -4)
E =
95 7 73 89 20 74 52
76 61 93 81 27 46 83
95 45 92 41 13 1 84
95 7 40 35 60 93 67
95 7 73 5 19 44 20
76 79 91 0 19 41 1
حالا اینو جایگزین کردم این پیغام رو میده :
??? Undefined function or method 'rows' for input arguments of type 'double'.
Error in ==> pro at 20
while( rows(ij)~=0)
-
نقل قول: ساخت ماتریس تصادفی
به جای( row(ij از این استفاده کنید ببینیم چی میشه
size(ij)(1)
-
نقل قول: ساخت ماتریس تصادفی
??? Error: File: pro.m Line: 20 Column: 13
()-indexing must appear last in an index expression.
-
نقل قول: ساخت ماتریس تصادفی
از ij یک خروجی بگیر ببینیم چیه
-
نقل قول: ساخت ماتریس تصادفی
نقل قول:
نوشته شده توسط
rahnema1
از ij یک خروجی بگیر ببینیم چیه
Empty matrix: 0-by-2
-
نقل قول: ساخت ماتریس تصادفی
یعنی این
[i j]=find(cc>.9);
ij=[i j]
-
نقل قول: ساخت ماتریس تصادفی
اصلاً u و h که معرفی کردی خروجیش empty هست!
-
نقل قول: ساخت ماتریس تصادفی
نقل قول:
نوشته شده توسط
rahnema1
یعنی این
[i j]=find(cc>.9);
ij=[i j]
ij =
Empty matrix: 0-by-2
-
نقل قول: ساخت ماتریس تصادفی
فکر کنم دستور cor ففط توی octave هست
cc=abs(tril(corrcoef(in)-eye(cols(in))));
-
نقل قول: ساخت ماتریس تصادفی
البته من در راهنمای متلب توی اینترنت نگاه کردم دستور corr وجود داره
-
نقل قول: ساخت ماتریس تصادفی
نقل قول:
نوشته شده توسط
rahnema1
به جای( row(ij از این استفاده کنید ببینیم چی میشه
size(ij)(1)
توی این قسمت برنامه :
while( rows(ij)~=0)
اینو جایگذاری کردم :
while( size(ij)(1)~=0)
پیغام برنامه فعلن اینه : (واسه همین خطه)
??? Error: File: pro.m Line: 20 Column: 13
()-indexing must appear last in an index expression.
-
نقل قول: ساخت ماتریس تصادفی
همون rows درسته فکر کنم مشکل در corr هست
-
نقل قول: ساخت ماتریس تصادفی
نقل قول:
نوشته شده توسط
rahnema1
البته من در راهنمای متلب توی اینترنت نگاه کردم دستور corr وجود داره
هردو توی متلب هست.
corr واسه همبستگی خطی یا همبستگی رنک هست
coeecoef احتمالن واسه همبستگی موثر هست. فکر کنم همون corr واسه همین برنامه باشه!
ولی فعلن خطا از همون قسمتی هست که عرض کردم.
-
نقل قول: ساخت ماتریس تصادفی
-
نقل قول: ساخت ماتریس تصادفی
خروجی cc رو گرفتم. ظاهرن یه ماتریس بالا مثلثی درست میکنه.
-
نقل قول: ساخت ماتریس تصادفی
الان این دستور را وارد کنید
[i j]=find(cc>.9);
ij=[i j]
-
نقل قول: ساخت ماتریس تصادفی
نقل قول:
نوشته شده توسط
rahnema1
الان این دستور را وارد کنید
[i j]=find(cc>.9);
ij=[i j]
نقل قول:
نوشته شده توسط
rahnema1
الان این دستور را وارد کنید
[i j]=find(cc>.9);
ij=[i j]
مهندس به جای size(ij)
دوباره با تعریفی که از rows کردی rows گذاشتم.
برنامه اجرای شد. یعنی خطا نداد.
خروجی ij هم اینه :
ij =
Empty matrix: 0-by-2
-
نقل قول: ساخت ماتریس تصادفی
خب حالا با دیتای خودم اجرا کردم. همون خطایی که قبل از همبستگی کردن میداد رو میده!
??? Error using ==> evalfismex
Illegal parameters in fisGaussianMF() --> sigma = 0
Error in ==> evalfis at 84
[output,IRR,ORR,ARR] = evalfismex(input, fis, numofpoints);
Error in ==> pro at 105
TrainOutputs=evalfis(TrainInputs,fis);
-
نقل قول: ساخت ماتریس تصادفی
این خروجی ij مربوط به اتمام برنامه هست باید ij این خروجی را بده
ij =
5 2
6 2
43 2
8 4
6 5
43 5
43 6
9 7
10 7
38 12
24 23
25 23
25 24
37 36
-
نقل قول: ساخت ماتریس تصادفی
خب پس من اول با داده های فرضی به این جواب ij برسم بعد روی داده های واقعی اجرا کنم.
-
نقل قول: ساخت ماتریس تصادفی
نقل قول:
نوشته شده توسط
coronaa
خب پس من اول با داده های فرضی به این جواب ij برسم بعد روی داده های واقعی اجرا کنم.
این داده های شماست. همون فایل اکسل
-
نقل قول: ساخت ماتریس تصادفی
توی فایل من data.1 داده های فرضی هستن و data.2 داد های واقعی.با داده های فرض که اجرا میکنم خطا نمیده ولی ij رو هم خالی میده.با داد های واقعی که اجرا میکنم همون خطایی که گفتم قبل از همبستگی میداد رو میده و ij هم که نمیده.
-
نقل قول: ساخت ماتریس تصادفی
یه سوال:
من ماتریس ورودی قبل و بعد از نرمالسازی و همبستگی رو میبینم، میبینم که درایه های ماتریس اولیه همه مثبت بودن ولی بعد از نرمال سازی یه سری منفی شدن.
مشکلی بوجود نمیآد؟
-
نقل قول: ساخت ماتریس تصادفی
-
نقل قول: ساخت ماتریس تصادفی
مهندس من هنوز به این جوابم نرسیدم که چطوری میشه دو ماتریس رو با هم مقایسه کرد که سطرهای شبیه به هم ندارن؟کاری به این برنامه ندارم!
-
نقل قول: ساخت ماتریس تصادفی
نقل قول:
نوشته شده توسط
coronaa
مهندس من هنوز به این جوابم نرسیدم که چطوری میشه دو ماتریس رو با هم مقایسه کرد که سطرهای شبیه به هم ندارن؟کاری به این برنامه ندارم!
دقیقا متوجه نمیشم منظورتون چیه
-
نقل قول: ساخت ماتریس تصادفی
دو تا ماتریس داریم a و bهر دو 50 تا سط دارن. حالا چطوری میتونیم تشخیص بدیم که آیا سطرهای شبیه به هم دارن یا نه؟ هر دو سطر مقادیر یکسانی داشته باشه.
-
نقل قول: ساخت ماتریس تصادفی
این خطای چیه؟
??? Error using ==> evalfismex
Illegal parameters in fisGaussianMF() --> sigma = 0
-
نقل قول: ساخت ماتریس تصادفی
گفتم که احتمالا بعد از ستور genfis3 باید پارامترهای تابع عضویت را اصلاح کنید
-
نقل قول: ساخت ماتریس تصادفی
نقل قول:
نوشته شده توسط
coronaa
دو تا ماتریس داریم a و bهر دو 50 تا سط دارن. حالا چطوری میتونیم تشخیص بدیم که آیا سطرهای شبیه به هم دارن یا نه؟ هر دو سطر مقادیر یکسانی داشته باشه.
این دستور را بزنید اگه از 100 کمتر شد سطرهای مشابه دارن
size(unique([a;b],'rows'),1)
حالا اگه این دستور را بزنید سطرهایی از a که در b هم وجود داره را مشخص می کنه یعنی اگه 1 بود معادلش در b وجود داره واگه 0 بود یکتا هست
ismember(a,b,'rows')
-
نقل قول: ساخت ماتریس تصادفی
شما در این برنامه قسمتی رو هم گذاشتین که بگه ماتریس های رندومی که درست میکنه اگه سطرهای مشابه داشت دوباره تولید کنه؟
-
نقل قول: ساخت ماتریس تصادفی
نقل قول:
نوشته شده توسط
coronaa
شما در این برنامه قسمتی رو هم گذاشتین که بگه ماتریس های رندومی که درست میکنه اگه سطرهای مشابه داشت دوباره تولید کنه؟
کدوم برنامه؟
-
نقل قول: ساخت ماتریس تصادفی
همون قسمت ماتریس تصادفی رو که برای برنامه ی من نوشتین.
myfun
-
نقل قول: ساخت ماتریس تصادفی
آره دیگه این شرط while( numel(i1)~=163) همین کار رو می کنه
-
نقل قول: ساخت ماتریس تصادفی
نقل قول:
نوشته شده توسط
rahnema1
آره دیگه این شرط while( numel(i1)~=163) همین کار رو می کنه
آخه از اون دستور استفاده نکردین. فکر کردم نیس! :))
-
نقل قول: ساخت ماتریس تصادفی
نقل قول:
نوشته شده توسط
coronaa
آخه از اون دستور استفاده نکردین. فکر کردم نیس! :))
بازم نگفتین کدوم دستور؟ :)