主頁 >  其他 > Jacobi與SOR迭代法的實作與性能比較及均勻間距與Chebyshev插值的實作、性能分析及二者生成的插值誤差比較

Jacobi與SOR迭代法的實作與性能比較及均勻間距與Chebyshev插值的實作、性能分析及二者生成的插值誤差比較

2021-02-04 07:00:34 其他

  這篇文章給出(1)Jacobi與SOR迭代法的實作與性能比較及(2)均勻間距與Chebyshev插值的實作、性能分析及二者生成的插值誤差比較,給出完整的實作代碼,沒有進行性能優化,僅供參考,

(1)Jacobi與SOR迭代法的實作與性能比較

一、舉例計算

給出線性方程組:

  其中n=100或者n=1000(任選一種,在本報告測驗中,選取了n=100),使用Jacobi迭代法和SOR迭代法(=1,1.25,1.5)解此方程,計算結果精確到小數點后8位,結果輸出小數點后至少12位,報告所需要的步數和誤差(用無窮范數表示),比較計算結果,

二、Jacobi迭代法的實作

2.1、實作環境

MATLAB2018b

2.2、實作原理

  整個Jacobi實作分下面幾步實作:

  首先需要給定這個系統的輸入:矩陣A、向量b及初始向量x0,根據題目A與b是確定的,選定n=100,又矩陣A的是三對角矩陣,實作方式用到了MATLAB的內置函式diag來快速實作,具體實作如下:

  A = diag(2*ones(100,1))+diag(ones(99,1),1)+diag(ones(99,1),-1);

而向量b直接取值即可,初始向量x0給定為:x0= 0.01*ones(100,1);

  在確定好輸入之后,其二需要給出Jacobi的運算方式,而其關鍵是計算向量的各個元素值,依據Jacobi的的計算公式:

來進行運算,撰寫的函式在規定的迭代次數之前進行運算;

  如果在規定的迭代次數之前所計算的誤差精度大于規定的誤差值時,即或者,繼續執行下面的步驟;

  在上一步結束之后?需要更新的值,即的值賦給,更新迭代的次數,之后再轉到第二步繼續回圈運行,如此反復運行,直到結束,

2.3、資料測驗

  在n=100時,在MATLAB輸入如下命令:function [y] = myJocobi(u_x0,u_A,u_b,S_error,N_times);而為了探討經過Jacobi迭代運算之后誤差的計算程序用二范數和無窮范數區別,特地做了實驗來進行說明,當采用二范數時,計算結果如如圖1所示:

1 Jacobi迭代結果(誤差精度計算采用二范數)

  當誤差精度計算采用無窮范數時,計算結果如如圖2所示:

 

2 Jacobi迭代結果(誤差精度計算采用無窮范數)

2.4、資料分析

  當n=100時,在實作精度等要求的前提下,誤差精度計算采用二范數和無窮范數的Jacobi迭代的次數均達到3萬多次,分別為34541及30536次,可以預測當n值取得很大的時候,Jacobi迭代效率會很低,

三、SOR迭代法的實作

3.1、實作環境

MATLAB2018b

3.2、實作原理

  整個SOR迭代演算法實作分下面幾步實作:

  首先需要給定這個系統的輸入:矩陣A、向量b及初始向量x0,根據題目A與b是確定的,選定n=100,又矩陣A的是三對角矩陣,而相對于Jacobi迭代,SOR迭代多了一個超松弛因子w(w=1,1.25,1.5),三對角矩陣A實作方式用到了MATLAB的內置函式diag來快速實作,具體實作如下:

A = diag(2*ones(100,1))+diag(ones(99,1),1)+diag(ones(99,1),-1);

而向量b直接依題取值即可,初始向量x0給定為:x0= 0.01*ones(100,1);

  在確定好輸入之后,其二需要給出SOR迭代的運算函式,而其關鍵是計算向量x的各個元素值xi,依據SOR的的計算公式:

來進行運算,撰寫的函式在規定的迭代次數之前進行運算;

  如果在規定的迭代次數之前所計算的誤差精度大于規定的誤差值時,即,繼續執行下面步驟;

  在上一步結束之后?需要更新的值,即的值賦給,更新迭代的次數,之后再轉到第二步繼續回圈運行,如此反復運行,直到結束,

3.3、資料測驗

  在n=100時,在MATLAB輸入如下命令:

  [x_result,final_error] = mySOR(x0,A,b,1e-8,50000,1);

  而為了探討經過SOR迭代運算程序中超松弛因子w值不同對迭代的影響,現進行了w=1,1.25,1.5三次測驗,測驗結果如下:

n=100,超松弛因子=1時,SOR迭代結果如圖3所示:

 

3 超松弛因子=1時,SOR迭代結果

n=100,超松弛因子=1.25時,SOR迭代結果如圖4所示:

 

4 超松弛因子=1.25時,SOR迭代結果 

n=100,超松弛因子=1.5時,SOR迭代結果如圖5所示:

 

5 超松弛因子=1.5時,SOR迭代結果

3.4、資料分析

  n=100時,在實作精度等要求的前提下,誤差精度計算采用無窮范數的SOR迭代的次數在超松弛因子w分別取1、1.25、1.5時分別為12115、7584及4411次,可以看到,SOR迭代的整體速度較快,而在選取不同的超松弛因子值時,帶來的最終結果卻相差較大,因此可以預測當n值取得很大的時候,SOR迭代效率會比較高,且在選取合適的超松弛因子w時,效率提高會有數量級的提高,

四、JacobiSOR迭代法的運算結果比較

  在前提條件相同的基礎上,n=100時,Jacobi的迭代次數為34541及30536次,而SOR迭代的次數為12115、7584及4411次,誤差精度計算采用無窮范數時,最大的次數比為30536/4411,比例約為7點多,可以看到Jacobi相比與SOR迭代在效率上差很多,而且隨著n的增大,兩者之間的效率會相差越來越明顯,

 

(2)均勻間距與Chebyshev插值的實作、性能分析及二者生成的插值誤差比較

一、舉例計算

  令f(x)=exp(|x|),通過同時在區間[-1,1]上畫出兩種型別的n階多項式,其中n(N)=10,20,比較均勻間距的插值和Chebyshev插值,對于均勻間距的插值,左右插值的基點為-1和1,以0.01的步長采樣,對每種插值型別生成插值誤差,并畫出來進行比較,在這個問題里看是否能看到Runge現象,

二、均勻間距插值的實作

2.1、實作環境

MATLAB2018b

2.2、實作原理

  在實驗中,采用的是Lagrange來實作均勻間距插值和Chebyshev插值,實驗中首先需要實作的就是Lagrange演算法插值,對于n次的Lagrange插值,構造的基函式為:

即得到滿足插值條件:

得到插值函式為:

  為了實作n=10,20的均勻間距插值,即對區間[-1,1]進行劃相應的等分,核心實作為Lagrange函式,而Lagrange函式介面輸入引數有三個,其一為[-1,1]區間中0.01步長得到的u_x,其二為經過均勻間距的變數值xhk,其三為將劃分的變數值經過函式y=exp(|x|)得到的輸出值yhk(hk =11對應n=10或者12對應n=20),在Lagrange函式中,通過使用上文已經構造好的基函式及插值函式公式來進行計算,最后得到經過均勻間距插值的資料結果,

2.3、資料測驗

  在資料進行測驗時,在MATLAB分別輸入如下命令:

  Ln1 = myLagrange(x11,y11,u_x);

  Ln2 = myLagrange(x12,y12,u_x);

  其中,x11與y11均為均勻間隔插值N(n)=10時,x12與y12均為均勻間隔插值N(n)=20時對資料的處理,最后得到結果如圖6和圖7所示,其中圖6為將原函式與均勻間隔插值N(n)=10及均勻間隔插值N(n)=20影像分開比較,圖7為三者一同進行比較:

圖6 均勻間隔插值與原函式進行比較-1

圖7 均勻間隔插值與原函式進行比較-2

2.4、資料分析

  從測驗結果可以看到,使用均勻間隔插值的時候時可以逼近原函式的,但是存在當n太小的時候,插值函式整體上與原函式有一定的區別,但是在n增大的情況下,插值函式中間段部分與原函式逼近,但是兩端出現了震蕩,即出現了Runge現象,

三、Chebyshev插值的實作

3.1、實作環境

MATLAB2018b

3.2、實作原理

  對于Chebyshev插值,其插值區間必須為[-1,1],而題目是剛好吻合的,所以能夠直接使用Chebyshev插值,而對于Chebyshev插值,選取的插值節點以如下公式進行計算:

而在MATLAB中,向量的索引值從1開始,所以需要對公式進行變形,即:

  為了實作n=10,20的Chebyshev插值,即通過上面所列寫的公式取節點值,同樣Lagrange函式介面輸入引數有三個,其一為[-1,1]區間中0.01步長得到的,其二為通過上面所列寫的公式所取節點值xhk,其三為將所取得節點值經過函式y=exp(|x|)得到的輸出值yhk(hk =21對應n=10或者22對應n=20),在Lagrange函式中,通過使用上文已經構造好的基函式及插值函式公式來進行計算,最后得到經過Chebyshev插值的資料結果,

3.3、資料測驗

  在資料進行測驗時,在MATLAB分別輸入如下命令:

  Ln3 = myLagrange(x21,y21,u_x);

  Ln4 = myLagrange(x22,y22,u_x);

  其中,x21與y21均為Chebyshev插值N(n)=10時,x22與y22均為Chebyshev插值N(n)=20時對資料的處理,最后得到結果如圖8和圖9所示,其中圖8為將原函式與Chebyshev插值N(n)=10及Chebyshev插值N(n)=20影像分開比較,圖9為三者一同進行比較:

 

圖8 Chebyshev插值與原函式進行比較-1

 

圖9 Chebyshev插值與原函式進行比較-2

3.4、資料分析

  從測驗結果可以看到,使用Chebyshev插值的時候時可以更快地逼近原函式的,且當n比較小的時候,插值函式整體上與原函式區別不大,隨著n的增大,插值函式與原函式越來越逼近,在誤差允許情況下,能夠很好的替換原函式,且避免了均勻間隔插值兩端出現震蕩的情況(Runge現象),

四、均勻間距插值與Chebyshev插值誤差比較

  為了進行均勻間隔插值與Chebyshev插值誤差比較,需要計算誤差余項,通過對誤差余項的定義得到余項的運算式:

  通過對誤差余項的化簡可以得到:

而在本次實驗中f(x)=exp(|x|),通過對化簡,得到余項公式:

  均勻間隔插值與Chebyshev插值通過計算化簡后的余項即進行比較,其中在N(n)=10時,輸入Rn_1 = myRn_solve(u_x,x11);

Rn_3 = myRn_solve(u_x,x21);

得到當前N(n)值時,間隔與Chebyshev插值誤差,結果如圖10所示:

10 n=10時,插值誤差(余項)的對比 

  在N(n)=20時,輸入Rn_2 = myRn_solve(u_x,x12);

           Rn_4 = myRn_solve(u_x,x22);

得到當前N(n)值時,均勻間隔與Chebyshev插值誤差,結果如圖11所示:

11 n=20時,插值誤差(余項)的對比

  通過測驗結果可以看出,在同一基礎條件下,均勻間隔插值與Chebyshev插值的誤差主要是在兩端點處相差較大,而且隨著n的增大,端點出的相差程度會更明顯,從這也反映了均勻間隔插值帶來的Runge現象影響,

附錄

(1)Jacobi與SOR迭代法的實作代碼

math_test.m

 1 %Jacobi迭代計算
 2 %function [y] = myJocobi(u_x0,u_A,u_b,S_error,N_times) 
 3 % [x_result,final_error] = myJacobi(x0,A,b,1e-8,50000);
 4 % 
 5 % if abs(final_error) < 1e-8
 6 %     fprintf('final_error*10^8=%f\n',abs(final_error)*1e8);
 7 % end
 8 
 9 
10 
11 
12 
13 %SOR迭代計算
14 %function [xx,y] = mySOR(u_x0,u_A,u_b,S_error,N_times,u_w)
15 [x_result,final_error] = mySOR(x0,A,b,1e-8,50000,1);
16 
17 if abs(final_error) < 1e-8
18     fprintf('final_error*10^8=%f\n',abs(final_error)*1e8);
19 end

 

myJacobi.m

 1 function [xx,y] = myJacobi(u_x0,u_A,u_b,S_error,N_times)
 2 %S_error 為規定的需要達到誤差值
 3 %N_times 為規定的最大迭代次數
 4     u_count = 1; 
 5     u_error = 1; %初始化默認誤差為1
 6     
 7     u_x = zeros(100,1); %初始化
 8     u_ax_toal = 0;
 9     
10     while(abs(u_error) > S_error)
11         
12        
13         
14         for i=1:100
15             
16             for j=1:100
17                 if j ~= i  %如果 cnt不等于i
18                     u_ax = u_A(i,j)*u_x0(j);
19                     u_ax_toal = u_ax_toal + u_ax;
20                 end
21             end
22             
23             u_x(i) = (u_b(i) - u_ax_toal)/u_A(i,i);
24             u_ax_toal = 0;
25         end
26         
27         
28         %u_error = norm(u_x-u_x0,2);   %求二范數
29         u_error = norm(u_x-u_x0,inf);   %求無窮范數
30         
31         u_x0 = u_x;
32         
33         if u_count>=N_times
34             break;
35         end
36         
37         fprintf('u_error  %d: %16.14f\n',u_count,u_error);
38         
39         u_count = u_count + 1;
40     end
41     
42     y = u_error;
43     xx = u_x0;
44 end

 

mySOR.m

 1 function [xx,y] = mySOR(u_x0,u_A,u_b,S_error,N_times,u_w)
 2    
 3 %S_error 為規定的需要達到誤差值
 4 %N_times 為規定的最大迭代次數
 5     u_count = 1; 
 6     u_error = 1; %初始化默認誤差為1
 7     
 8     u_x = zeros(100,1); %初始化
 9     u_ax_toal_last = 0;
10     u_ax_toal_now = 0;
11      
12     
13     while(abs(u_error) > S_error)
14         
15         for i=1:100
16             if i==1
17                 for j=2:100
18 
19                         u_ax = u_A(i,j)*u_x0(j);
20                         u_ax_toal_last = u_ax_toal_last + u_ax;
21                 end
22                 
23                 u_x(i) = (1-u_w)*u_x0(i) + u_w*((u_b(i) - u_ax_toal_last)/u_A(i,i));
24                 
25                 u_ax_toal_last = 0;
26             end
27             
28             if i>=2 && i<=99
29                 for j=1:i-1
30 
31                         u_ax = u_A(i,j)*u_x(j);
32                         u_ax_toal_now = u_ax_toal_now + u_ax;
33                 end
34 
35                 for j=i+1:100
36 
37                         u_ax = u_A(i,j)*u_x0(j);
38                         u_ax_toal_last = u_ax_toal_last + u_ax;
39                 end
40                 
41                 u_x(i) = (1-u_w)*u_x0(i) + u_w*((u_b(i) - u_ax_toal_last - u_ax_toal_now)/u_A(i,i));
42                 
43                 u_ax_toal_last = 0;
44                 u_ax_toal_now = 0;
45             end
46             
47             
48             if i==100
49                 for j=1:99
50 
51                         u_ax = u_A(i,j)*u_x(j);
52                         u_ax_toal_now = u_ax_toal_now + u_ax;
53                 end
54                 
55                 u_x(100) = (1-u_w)*u_x0(100) + u_w*((u_b(100) - u_ax_toal_now)/u_A(100,100));
56                 
57                 u_ax_toal_now = 0;
58             end
59             
60             
61         end
62         
63         
64         %u_error = norm(u_x-u_x0,2);   %求二范數
65         u_error = norm(u_x-u_x0,inf);   %求無窮范數
66         
67         u_x0 = u_x;
68         
69         if u_count>=N_times
70             break;
71         end
72         
73         fprintf('u_error  %d: %16.14f\n',u_count,u_error);
74         
75         u_count = u_count + 1;
76     end
77     
78     y = u_error;
79     xx = u_x0; 
80 end

 

three_matrix.m

1 A = diag(2*ones(100,1))+diag(ones(99,1),1)+diag(ones(99,1),-1);
2 
3 x0 = 0.01*ones(100,1);
4 
5 
6 b = zeros(100,0);
7 b(1) = 1;
8 b(100) = -1;
9 b = b';

 

 

(2)均勻間距與Chebyshev插值的實作

math_test_plot_Ln.m

 1 u_x = -1:0.01:1;
 2 u_y = exp(1).^abs(u_x);  % y = e^|x|
 3 
 4 
 5 
 6 % %均勻間距插值,使用等間距節點作為插值節點
 7 % % title('均勻間距插值')
 8 % 
 9 % %subplot(3,1,1);
10 % plot(u_x,u_y,'-.b')
11 % hold on
12 % %title('原函式')
13 % title('均勻間距插值')
14 % 
15 % 
16 % %subplot(3,1,2);
17 % x11 = -1:0.2:1; %n=10
18 % y11 = exp(1).^abs(x11);
19 % Ln1 = myLagrange(x11,y11,u_x);
20 % % Rn_1 = exp(1)*myRn_solve(u_x,x11);
21 % Rn_1 = myRn_solve(u_x,x11);
22 % plot(u_x,Ln1,'-k')
23 % % title('均勻間距插值 N = 10')
24 % hold on
25 % 
26 % %subplot(3,1,3);
27 % x12 = -1:0.1:1; %n=20
28 % y12 = exp(1).^abs(x12);
29 % Ln2 = myLagrange(x12,y12,u_x);
30 % Rn_2 = myRn_solve(u_x,x12);
31 % plot(u_x,Ln2,'-r')
32 % % title('均勻間距插值 N = 20')
33 % hold on
34 % 
35 % legend('原函式','均勻間距插值 N = 10','均勻間距插值 N = 20')
36 
37 
38 
39 
40 % %切比雪夫插值,使用切比雪夫節點作為插值節點
41 % subplot(3,1,1);
42 % 
43 plot(u_x,u_y,'-.b')
44 % title(' 原函式 ')
45 hold on
46 title('Chebyshev插值 N=10');
47 
48 % subplot(3,1,2);
49 x21 = myChebyshev(10);%n=10
50 y21 = exp(1).^abs(x21);
51 Ln3 = myLagrange(x21,y21,u_x);
52 Rn_3 = myRn_solve(u_x,x21);
53 plot(u_x,Ln3,'-r');
54 % title('Chebyshev插值 N=10');
55 hold on
56 
57 % subplot(3,1,3);
58 x22 = myChebyshev(20);%n=20
59 y22 = exp(1).^abs(x22);
60 Ln4 = myLagrange(x22,y22,u_x);
61 Rn_4 = myRn_solve(u_x,x22);
62 plot(u_x,Ln4,'-b');
63 % title('Chebyshev插值 N=20');
64 
65 legend('原函式','Chebyshev插值 N=10','Chebyshev插值 N=20')

 

math_test_plot_Rn.m

 1 u_x = -1:0.01:1;
 2 u_y = exp(1).^abs(u_x);  % y = e^|x|
 3 
 4 
 5 
 6 % 均勻間距插值
 7 
 8 x11 = -1:0.2:1; %n=10
 9 y11 = exp(1).^abs(x11);
10 Ln1 = myLagrange(x11,y11,u_x);
11 % Rn_1 = exp(1)*myRn_solve(u_x,x11);
12 Rn_1 = myRn_solve(u_x,x11);
13 
14 
15 
16 x12 = -1:0.1:1; %n=20
17 y12 = exp(1).^abs(x12);
18 Ln2 = myLagrange(x12,y12,u_x);
19 Rn_2 = myRn_solve(u_x,x12);
20 
21 
22 
23 
24 
25 % 切比雪夫插值,使用切比雪夫節點作為插值節點
26 
27 x21 = myChebyshev(10);%n=10
28 y21 = exp(1).^abs(x21);
29 Ln3 = myLagrange(x21,y21,u_x);
30 Rn_3 = myRn_solve(u_x,x21);
31 
32 
33 
34 x22 = myChebyshev(20);%n=20
35 y22 = exp(1).^abs(x22);
36 Ln4 = myLagrange(x22,y22,u_x);
37 Rn_4 = myRn_solve(u_x,x22);
38 
39 
40 
41 %繪制插值余項的最大值
42 plot(u_x,Rn_1,'-k',u_x,Rn_3,'-r');
43 title('N=10時 插值誤差(余項)的對比');
44 legend('均勻間距插值','Chebyshev插值');
45 
46 % %繪制插值余項的最大值
47 % plot(u_x,Rn_2,'-k',u_x,Rn_4,'-r');
48 % title('N=20時 插值誤差(余項)的對比');
49 % legend('均勻間距插值','Chebyshev插值');

 

myChebyshev.m

1 function x = myChebyshev(n)
2    
3 x = zeros(1,n+1);
4 for k = 1:n+1
5     x(k) = cos(((2*k-1)*pi)/(2*(n+1)));  %此處從1開始,所以是2*k-1,否則為2*k+1
6 end

 

myLagrange.m

 1 function y = myLagrange(x0,y0,x)
 2 %f11 = myLagrange(x11,y11,u_x);
 3 % x11 = -1:0.2:1; %n=10
 4 % y11 = exp(1).^abs(x11);
 5 
 6 
 7 u_N=1:length(x0); 
 8 
 9 
10 
11 y=zeros(size(x));
12 
13 for i=u_N
14     u_ij=find(u_N~=i);   
15     y1=1;
16     for j=1:length(u_ij)
17         y1=y1.*(x-x0(u_ij(j)));  
18     end
19     
20     y2=1;
21     for j=1:length(u_ij)
22         y2=y2.*(x0(i)-x0(u_ij(j)));  
23     end
24     
25     y=y+y0(i)*y1/y2;
26 
27 end

 

myRn_solve.m

 1 function u_Rn = myRn_solve(x,x0)
 2 
 3 % x11 = -1:0.2:1; %n=10
 4 % y11 = exp(1).^abs(x11);
 5 % f11 = myLagrange(x11,y11,u_x);
 6 % Rn_1 = exp(1)*myRn_solve(u_x,x11);
 7 
 8 u_Wn = zeros(1,length(x));
 9 u_Rn = zeros(1,length(x));
10 for i = 1:length(x)
11     u_Wn(i) = prod(x(i)*ones(1,length(x0))-x0);
12 end
13 
14 u_Rn = u_Wn*exp(1)/factorial(length(x0));
15 end

 

 

 

 

 

 

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/256221.html

標籤:其他

上一篇:不動點及牛頓法迭代工程實作

下一篇:我憑借這份999頁Java面試pdf!拿下了美團、螞蟻金服、騰訊、位元組跳動offer

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more