matlab 연습 프로그램 (3 단계 장 량 T - QR 분해)
10651 단어 matlab
다음은 제 가 본 논문 의 장 량 상승 과 분해 방법 입 니 다. 그녀의 이론 도 정확 하지 않 을 수 있 지만 이런 새로운 분 야 는 모두 가 탐색 하고 있 습 니 다.
논문 은 여기 있 습 니 다. http://www.cs.tufts.edu/tech_reports/reports/2010-5/report.pdf 그 가 주로 소개 한 것 은 T - svd 입 니 다. T - svd 가 분 해 된 후에 합성 한 것 은 원 장 량 의 비슷 한 결과 일 뿐 T - QR 은 정확 한 결 과 를 얻 을 수 있 기 때문에 저 는 T - QR 을 사 용 했 습 니 다.Matlab 각도 에서 볼 때 T - SVD 와 T - QR 의 코드 는 사실 매우 유사 하 다.
main.m
clear all;
close all;
clc;
n1=3;
n2=3;
n3=3;
A(:,:,1)=[10 23 34;43 55 63;72 85 96];
A(:,:,2)=[24 17 35;52 36 55;81 94 75];
A(:,:,3)=[65 16 52;21 47 78;92 33 43];
%A=imread('s.jpg');
D=fft(A,[],3);
for i=1:n3
[q r]=qr(D(:,:,i));
%[u s v]=svd(D(:,:,i));
Q(:,:,i)=q;
R(:,:,i)=r;
%S(:,:,i)=s;
end
Q=ifft(Q,[],3);
R=ifft(R,[],3);
%S=ifft(S,[],3);
B(:,:,1)=eye(n1,n2);
B(:,:,2)=zeros(n1,n2);
B(:,:,3)=zeros(n1,n2);
%c=mul(mul(U,S),transpos(V));
c=mul(Q,R);
논문 7 페이지 3.3 의 그 공식
function c=mul(a,b)
[a_n1 a_n2 a_n3]=size(a);
[b_n1 b_n2 b_n3]=size(b);
c=zeros(a_n1,b_n2,a_n3);
A=cell(a_n3,1);
B=cell(b_n3,1);
for i=1:a_n3
A{i}=a(:,:,i);
B{i}=b(:,:,i);
end
index_up=zeros(1,a_n3);
index_down=zeros(1,a_n3);
for i=1:a_n3
index_up(i)=a_n3-i+1;
index_down(i)=i;
end
s=cell(a_n3,a_n3);
for i=1:a_n3
for j=1:a_n3
if i==j
s{i,j}=A{1};
end
if j>i
s{i,j}=A{index_up(j-i)};
end
if j<i
s{i,j}=A{index_down(i-j+1)};
end
end
end
re=cell(a_n3,1);
for i=1:a_n3
re{i}=zeros(a_n1,b_n2);
end
for i=1:a_n3
for j=1:a_n3
for k=1:1
re{i,k}=re{i,k}+s{i,j}*B{j,k};
end
end
end
for i=1:a_n3
c(:,:,i)=re{i};
end
end
transpos.m 장 량 구 옮 김, 논문 10 페이지 example 3.15 의 공식
function a=transpos(b)
[n1 n2 n3]=size(b);
a=zeros(n2,n1,n3);
for i=1:n3
a(:,:,i)=b(:,:,i)';
end
end
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【MATLAB】변수를 스크립트에 저장MATLAB에서 계산 결과를 저장할 때 MAT 파일, Excel 등의 파일에 저장하는 것이 좋을 것이라고 생각하지만 변수의 유형에 따라 스크립트에 내보낼 수 있습니다. MATLAB을 사용해 10년 정도가 됩니다만, ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.