實(shí)驗(yàn)源代碼
//Warshall.cpp #include<stdio.h> void warshall(int k,int n) { int i , j, t; int temp[20][20]; for(int a=0;a<k;a++) { printf("請(qǐng)輸入矩陣第%d 行元素:",a); for(int b=0;b<n;b++) { scanf ("%d",&temp[a][b]); } } for(i=0;i<k;i++){ for( j=0;j<k;j++){ if(temp[ j][i]==1) { for(t=0;t<n;t++) { temp[ j][t]=temp[i][t]||temp[ j][t]; } } } } printf("可傳遞閉包關(guān)系矩陣是:\n"); for(i=0;i<k;i++) { for( j=0;j<n;j++) { printf("%d", temp[i][ j]); } printf("\n"); } } void main() { printf("利用 Warshall 算法求二元關(guān)系的可傳遞閉包\n"); void warshall(int,int); int k , n; printf("請(qǐng)輸入矩陣的行數(shù) i: "); scanf("%d",&k);
四川大學(xué)實(shí)驗(yàn)報(bào)告 printf("請(qǐng)輸入矩陣的列數(shù) j: "); scanf("%d",&n); warshall(k,n); }
標(biāo)簽:
warshall
離散
實(shí)驗(yàn)
上傳時(shí)間:
2016-06-27
上傳用戶(hù):梁雪文以
function [R,k,b] = msc(A)
% 多元散射校正
% 輸入待處理矩陣,通過(guò)多元散射校正,求得校正后的矩陣
%% 獲得矩陣行列數(shù)
[m,n] = size(A);
%% 求平均光譜
M = mean(A,2);
%% 利用最小二乘法求每一列的斜率k和截距b
for i = 1:n
a = polyfit(M,A(:,i),1);
if i == 1
k = a(1);
b = a(2);
else
k = [k,a(1)];
b = [b,a(2)];
end
end
%% 求得結(jié)果
for i = 1:n
Ai = (A(:,i)-b(i))/k(i);
if i == 1
R = Ai;
else
R = [R,Ai];
end
end
標(biāo)簽:
MSC
多元
散射
校正
上傳時(shí)間:
2020-03-12
上傳用戶(hù):15275387185
(1)輸入E條弧<j,k>,建立AOE-網(wǎng)的存儲(chǔ)結(jié)構(gòu) (2)從源點(diǎn)v出發(fā),令ve[0]=0,按拓?fù)渑判蚯笃溆喔黜?xiàng)頂點(diǎn)的最早發(fā)生時(shí)間ve[i](1<=i<=n-1).如果得到的拓樸有序序列中頂點(diǎn)個(gè)數(shù)小于網(wǎng)中頂點(diǎn)數(shù)n,則說(shuō)明網(wǎng)中存在環(huán),不能求關(guān)鍵路徑,算法終止 否則執(zhí)行步驟(3)(3)從匯點(diǎn)v出發(fā),令vl[n-1]=ve[n-1],按逆拓樸排序求其余各頂點(diǎn)的最遲發(fā)生時(shí)間vl[i](n-2>=i>=2). (4)根據(jù)各頂點(diǎn)的ve和vl值,求每條弧s的最早發(fā)生時(shí)間e(s)和最遲開(kāi)始時(shí)間l(s).若某條弧滿(mǎn)足條件e(s)=l(s),則為關(guān)鍵活動(dòng).
標(biāo)簽:
lt
ve
AOE
gt
上傳時(shí)間:
2014-11-28
上傳用戶(hù):fredguo