⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 untitled18.m

📁 利用矩阵分析的方法对线性方程组进行求解分析
💻 M
字号:
%用来画图,SVD值,与W,B都有关,并且与采样点,采样范围有关\
w=10;
B=1;
row1=10;%采样区间采样点数
t1=linspace(-pi/60,pi/60,row1);
A1=matrixA(row1,10,t1);%定义一个15*7大的A矩阵,用于解Ax=G
[U S V]=svd(A1);% 对A进行svd分解,得到   U S V
G1=matrixG(row1,t1);  %定义一个15*1大的G矩阵,
%S(1,1)=0;
%S(2,2)=0;
%S(3,3)=0;
%S(4,4)=0.0001;
%S(5,5)=0;
%S(6,6)=0;
%S(7,7)=0;%matlab中有此函数(对奇异值进行取舍的函数),博库书城查《matlab数值计算范例教程》
%t=linspace(pi/(60*B),pi/2,15);
%t=linspace(-pi,pi,20);
%X=V'\(S\(U\G1))
%X=[2.7629e-011 +6.5475e-014i;2.7857e-022 -5.0676e-023i;5.3233e-009 +1.7116e-008i;-6.5046e-023 -1.1954e-023i;-1.3534e-006 -3.4581e-006i]
%for i=1:5
    %if S(i,i)>0
        %S(i,i)=1/S(i,i);
        % end
        %end
C1=niA(10,10,U,S,V);
X=C1*G1;  
%X=SVD_equation(10,10,A1,G1);
%X=V*(S\(U'*G1));         
%X=(V')'*pinv(S)*(U)'*G1; 
%X=inv(V')*pinv(S)*inv(U)*G1 %svd中已去掉两个小的奇异值。分别为S(6,6)=0,S(7,7)=0
row2=300;%比较范围所取点数
t2=linspace(-3*pi,3*pi,row2);
A2=matrixA(row2,10,t2);
A3=xiuzhengA(A2,row2,10);
p=A3*X;
%subplot(1,2,1);
%t=linspace(-pi,pi,20);
plot(t2,p,'r');
hold on
t=linspace(-3*pi,3*pi,3000);
y=(2/pi)*((sin((B*t)/2)./t).^2).*cos(w*t);
plot(t,y);
%G2=matrixG(500,t2)
%plot(t2,G2)
%subplot(1,2,2);
%title('不经过SVD后的原来的图形')

%plot(t,p,'r',t,y)
xlabel('t');
ylabel('y值');
title('在(-pi/60,pi/60)之间采样20个点,在(-3*pi,3*pi)之间比较')
hold off

%legend('红:SVD值,绿:原方程值')

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -