91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 2KB
    文件類(lèi)型: .zip
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-06-06
  • 語(yǔ)言: C/C++
  • 標(biāo)簽: 誤差橢圓??

資源簡(jiǎn)介

二維空間協(xié)方差矩陣可視化為一個(gè)誤差橢圓的matlab和C++代碼,C++代碼應(yīng)用到了opencv的庫(kù)函數(shù),所以如果需要運(yùn)行這個(gè)代碼需要配置opencv環(huán)境。

資源截圖

代碼片段和文件信息

clear?all;
close?all;

%?Create?some?random?data
s?=?[2?2];
x?=?randn(3341);
y1?=?normrnd(s(1).*x1);
y2?=?normrnd(s(2).*x1);
data?=?[y1?y2];

%?Calculate?the?eigenvectors?and?eigenvalues
covariance?=?cov(data);
[eigenvec?eigenval?]?=?eig(covariance);

%?Get?the?index?of?the?largest?eigenvector
[largest_eigenvec_ind_c?r]?=?find(eigenval?==?max(max(eigenval)));
largest_eigenvec?=?eigenvec(:?largest_eigenvec_ind_c);

%?Get?the?largest?eigenvalue
largest_eigenval?=?max(max(eigenval));

%?Get?the?smallest?eigenvector?and?eigenvalue
if(largest_eigenvec_ind_c?==?1)
????smallest_eigenval?=?max(eigenval(:2))
????smallest_eigenvec?=?eigenvec(:2);
else
????smallest_eigenval?=?max(eigenval(:1))
????smallest_eigenvec?=?eigenvec(1:);
end

%?Calculate?the?angle?between?the?x-axis?and?the?largest?eigenvector
angle?=?atan2(largest_eigenvec(2)?largest_eigenvec(1));

%?This?angle?is?between?-pi?and?pi.
%?Let‘s?shift?it?such?that?the?angle?is?between?0?and?2pi
if(angle?????angle?=?angle?+?2*pi;
end

%?Get?the?coordinates?of?the?data?mean
avg?=?mean(data);

%?Get?the?95%?confidence?interval?error?ellipse
chisquare_val?=?2.4477;
theta_grid?=?linspace(02*pi);
phi?=?angle;
X0=avg(1);
Y0=avg(2);
a=chisquare_val*sqrt(largest_eigenval);
b=chisquare_val*sqrt(smallest_eigenval);

%?the?ellipse?in?x?and?y?coordinates?
ellipse_x_r??=?a*cos(?theta_grid?);
ellipse_y_r??=?b*sin(?theta_grid?);

%Define?a?rotation?matrix
R?=?[?cos(phi)?sin(phi);?-sin(phi)?cos(phi)?];

%let‘s?rotate?the?ellipse?to?some?angle?phi
r_ellipse?=?[ellipse_x_r;ellipse_y_r]‘?*?R;

%?Draw?the?error?ellipse
plot(r_ellipse(:1)?+?X0r_ellipse(:2)?+?Y0‘-‘)
hold?on;

%?Plot?the?original?data
plot(data(:1)?data(:2)?‘.‘);
mindata?=?min(min(data));
maxdata?=?max(max(data));
Xlim([mindata-3?maxdata+3]);
Ylim([mindata-3?maxdata+3]);
hold?on;

%?Plot?the?eigenvectors
quiver(X0?Y0?largest_eigenvec(1)*sqrt(largest_eigenval)?largest_eigenvec(2)*sqrt(largest_eigenval)?‘-m‘?‘LineWidth‘2);
quiver(X0?Y0?smallest_eigenvec(1)*sqrt(smallest_eigenval)?smallest_eigenvec(2)*sqrt(smallest_eigenval)?‘-g‘?‘LineWidth‘2);
hold?on;

%?Set?the?axis?labels
hXLabel?=?xlabel(‘x‘);
hYLabel?=?ylabel(‘y‘);

?屬性????????????大小?????日期????時(shí)間???名稱(chēng)
-----------?---------??----------?-----??----
?????文件????????2265??2015-05-23?01:00??error_ellipse.m
?????文件????????1785??2015-05-23?01:02??error_ellipse.txt

評(píng)論

共有 條評(píng)論