matlab中怎樣按一定比例生成矩陣

2021-03-04 01:50:05 字數 3946 閱讀 8530

1樓:匿名使用者

比如要生成m*n的0-1矩陣,其中有k個1m=4;n=5;k=6;%自己改

a=zeros(m,n);

a(randperm(m*n)<=k)=1;%a就是你要的矩陣

2樓:匿名使用者

**********=提供

來一種思

源路bai

,還可du

以優zhi化dao*****===

>> clear;

>> m=600000;n=1000*1000-m;

>> a=ones(1,m);

>> b=zeros(1,n);

>> c=[a,b];

>> d=randperm(1000*1000);

>> x=c(d);

>> y=zeros(1000,1000);

>> y(:)=x;

>>

3樓:_漫步_雲端

怎麼個比例?隨機生成?

怎樣用matlab按比例生成隨機矩陣

4樓:小蝦米

思路:第一步,把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,[10 10]);%第三步

5樓:匿名使用者

可以這樣做.

data=[zeros(1,90),ones(1,3),2*ones(1,7)]; %這是100個數

index=randperm(length(data)); %這個是產生一個1到100的一個隨機排列

ok=data(index) %最後再將data中的數按index打亂

matlab如何生成滿足一定條件數要求的隨機矩陣。

6樓:兔子和小強

你可以先構造特徵值,使得最大特徵值除以最小特徵值為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

下次問程式設計類問題選擇問題分類為程式設計吧,這樣可以貼**。

matlab中如何生成所有元素均為1的矩陣?

7樓:匿名使用者

matlab中生成所有元素均為1的矩陣的方法為:使用內建的ones()函式。下面給出具體專的示例:

1、在matlab的命令屬視窗輸入:ones(3) ,表示生成3行3列且所有元素均為1的矩陣 ,輸出結果如下:

2、在matlab的命令視窗輸入:ones(2,4) ,表示生成2行4列且所有元素均為1的矩陣,結果下圖所示:

3、為了演示ones()函式的第三種使用方式,在命令視窗輸入下面兩行**:

a = [1 2;3 4]

ones(size(a))

表示生成一個結構和a一樣,但是所有元素均為1的矩陣,輸出結果如下圖所示:

8樓:子衿悠你心

可以運用ones函式。

ones函式是matlab裡的內建函式,可以建立一個所有元素版全為1的矩陣。權

x = ones(n)產生一個n*n的所

有元素全為1的矩陣。

x = ones(m,n)產生一個m*n的所有元素全為1的矩陣。

舉例:生成一個4*4的所有元素都是1的矩陣

拓展:zeros函式可以建立一個元素全為0的矩陣,用法和ones相同。

x = ones(n)產生一個n*n的所有元素全為0的矩陣。

x = ones(m,n)產生一個m*n的所有元素全為0的矩陣。

eye函式可以建立對角線元素全為1的矩陣,即單位矩陣,用法和ones相同。

x = eye(n)產生一個n*n的單位矩陣。

x = eye(m,n)產生一個m*n的矩陣沿著對角線方向的元素均是1(從最左上角開始)。

9樓:**號

ones(m,n)

生成m*n的矩陣,元素都是1

matlab如何隨機生成矩陣並控制零元素所佔比例

10樓:疏桐青楓

假設需要m*n的矩陣

a=rand(m,n);

a=1*(a>0.3);

求助!!!matlab如何利用小矩陣生成大矩陣

11樓:匿名使用者

使用repmat()函式

來即可實現上述要求,具體

源過程如bai下:

1、建立自定義函式repeat_matrix(a,m,n),保du存為repeat_matrix.m

function y = repeat_matrix(a,m,n)

% 將給定方zhi陣a擴充為m×n的矩陣

n = size(a,1);

rm = floor(m/n); % a在行方向dao重複的次數

rn = floor(n/n); % a在列方向重複的次數

lm = mod(m,n);   % 剩餘行數

ln = mod(n,n);   % 剩餘列數

a1 = repmat(a,rm,rn); % 左上角部分

a2 = repmat(a(:,1:ln),rm,1); % 右上角部分

a3 = repmat(a(1:lm,:),1,rn); % 左下角部分

a4 = a(1:lm,1:ln); % 右下角部分

y = [a1,a2;a3,a4];

2、在命令視窗呼叫

>> e=zeros(5,5);

>> e(1,3)=1;e(2,4)=1;e(3,2)=1;e(4,4)=1;e(5,1)=1;

>> repeat_matrix(e,13,17)

3、顯示效果

12樓:電燈劍客

a = kron(ones(3, 4), e);

a = a(1:13, 1:17);

matlab中怎麼定義一個5*6的矩陣,矩陣元素全為c?

13樓:匿名使用者

實現方法如下:a=ones(5,6)*c;

ones產生

內全1陣列,

容zeros產生全零陣列。

ones(a,b)產生a行b列全1陣列

ones(a)產生a行a列全1陣列

例如:ones(1,3)產生1行3列全1陣列[1 1 1]ones(2)產生 1 11 1

14樓:子衿悠你心

可以bai運用ones函式產生一個du5*6的矩陣,該矩陣元素zhi全為1,然後再將這個矩陣乘以daoc即可實現版目標。

matlab**

為:a=ones(5,6);

b=a*c;

如果權c等於2,上述**在matlab中實現的結果為:

拓展說明:

ones函式能夠生成一個元素全為1的矩陣。

s=ones(n)   生成n*n的元素全為1的矩陣。

s=ones(m,n)   生成m*n的元素全為1的矩陣。

15樓:匿名使用者

a=ones(5,6)*c;

%其中ones(5,6)是產生5*6的全1矩陣

有沒有以按一定順序寫景物的作文按一定順序觀察一處景物寫一篇作文

星期六的下午,我和小叔.姑父一起坐車去人民公園玩耍.那裡風景優美,鮮花盛開,綠樹成蔭,小草青青,真是人間的美景.一進公園大門,首先展現在眼前的是一個大花壇.花壇中間是模擬宇宙飛船.接著我們沿著小道向公園裡走去,道路兩旁花兒正爭奇鬥豔,那鬱金香五顏六色的,有紅的,黃的,粉的,紫的,漂亮極了.接著我們又...

按一定的順序重新排列下面詞語,怎麼按一定的順序重新排列下面的詞語(教師節 兒童節 勞動節 國慶節 元旦

1 以下按公曆時間先後排列 元旦 1.1 婦女節 3.8 勞動節 5.1 兒童節 6.1 建軍節 8.1 國慶節 10.1 2.以下按農曆時間先後排列 春節 1.1 元宵節 1.15 端午節 5.5 中秋節 8.15 重陽節 9.9 除夕 12.30 這個肯定是時間順序 1 元旦 3 8 婦女節 5...

把下列詞語按一定順序排列,把下列詞語按一定順序排列

1.春節 元宵 端午 中秋 重陽 除夕 按時間順序 2.孔子 杜甫 蘇軾 王冕 吳承恩 曹雪芹 按朝代 3.晴空萬里 烏雲密佈 狂風大作 電閃雷鳴 暴風驟雨 水流如注 按下雨的順序 1,除夕 春節 元宵 端午 重陽 中秋 時間順序 2,孔子 杜甫 蘇軾 王冕 吳承恩 曹雪芹 朝代順序 3,晴空萬里 ...