回覆列表
-
1 # nohlz322
-
2 # 使用者2330099431147
你可以先構造特徵值,使得最大特徵值除以最小特徵值為1000,再隨機的生成正交矩陣作為特徵向量矩陣,從而重構出所要的矩陣。如下所示,構造了個3*3的矩陣,其條件數為1000:
>> V = diag([1000 20 1]); % 只要最大除最小等於1000即可
>> U = orth(randn(3, 3));
>> A = U*V*U^-1;
>> cond(A)
ans =
1000.0000
下次問程式設計類問題選擇問題分類為程式設計吧,這樣可以貼程式碼。
思路:第一步,把90個0,3個1,7個2按照順序寫出來;第二步,將這些數字的排列順序隨機打亂;第三步,寫成10*10矩陣的形式。matlab程式:A=[0*ones(1,90),1*ones(1,3),2*ones(1,7)];%第一步inx=randperm(100);B=A(inx);%第二步C=reshape(B,[1010]);%第三步