用MATLAB编程输出符合以下条件的m*n矩阵(m<n):每行有且只有一个1,其余全为零,且每列最多只有一个

如题所述

第1个回答  2011-09-10
因为条件中的矩阵不是唯一的,所以用随机矩阵的形式给出。
m= ; n= ; %m,n自己赋值
A=zeros(m,n);
a=ceil(rand(1,n)*n);
for i=1:n
A(a(i),i)=0;
end
第2个回答  2011-09-11
可以先生成全零矩阵,再每一行随机把1个零变为1呗
第3个回答  2011-09-11
Here are some examples:

>> random01(4,7)

ans =

0 0 0 1 0 0 0
1 0 0 0 0 0 0
0 0 1 0 0 0 0
0 0 0 0 1 0 0

>> random01(4,7)

ans =

0 0 0 0 1 0 0
0 0 1 0 0 0 0
0 0 0 0 0 0 1
0 0 0 1 0 0 0

>> random01(4,7)

ans =

0 0 0 0 1 0 0
1 0 0 0 0 0 0
0 1 0 0 0 0 0
0 0 0 1 0 0 0

Where function random01() is defined as:

function [ M ] = random01( m, n )
t0 = zeros(m, n);
t0(1:m, 1:m) = eye(m);
t1 = t0(randperm(m),:);
M = t1 ( :, randperm(n));
end本回答被提问者采纳

...置换矩阵(就是每行每列有且只有一个1,其余全为0)
-用单位对角阵:eye(n,n)

在matlab中如何判断A的每一行及每一列上有且只有一个1?
if hang==ones(1,m) && lie==ones(1,n)display(‘矩阵A的各个行列有且只有1个1’)end 自定义函数,m文件 其中check为检查是否有1的函数 function rlt=check(x)rlt=0%可能没有1,或者不止1个1 if(length(find(x==1))==1)%如果只有一个1 rlt=1;%有且只有一个1 end end 备注,方...

matlab如何把行向量生成1和0矩阵?
1)等概率地生成一个m*n的矩阵,且矩阵元素只有0和1。MATLAB的表示为:randsrc(m,n,[0,1]);其中,m是行数,n是列数。2)以概率p生成1,(1-p)生成0, MATLAB表示为:randsrc(m,n,[0,1;p,(1-p)]);注意:1)中是2)的特例,即当p=0.5时候。3)以概率[p1,p2,…,pk]生成元...

怎样用matlab解多元高次方程?只有一个方程,我要多组解的那种
也就是最下面一行的元素是方程各项系数的负值,上面对角线以上部分为1,其他为0 设以上矩阵为A 在matlab利用:[T Λ]=eig(A);T和Λ都是矩阵;T是归一化以后的变换矩阵,对于你目前的这个方程,是没有什么用处的;Λ矩阵对角线上的数值,就是你需要的解了,对角线上的数值若有相同的表示方程有重...

matlab 或 c 的高手来,求一个2n*2n矩阵每行每列都取2个元素的问题
首先我构造出保证每行有两个元素,但是每列只有一个元素的矩阵,其大小为n*2n,我给这类取一个名叫半矩阵 那么两个这样的矩阵叠加就是我们想要的矩阵 为了表示方便我用位置向量表示,以n=2为例 [12,34]相当于 1 1 0 0 0 0 1 1 [13,24]相当于 1 0 1 0 0 1 0 1 [14,23]相当于 1...

MATLAB怎么创建m×n的结构数组
借助你的信息,给你举个例子做参考,A{1,1}=s(1);A{1,2}=s(2);A{2,1}=s(3);A{2,2}=s(4);%组建2*2数组 >> A 下面是结果:A = [1x1 struct] [1x1 struct][1x1 struct] [1x1 struct]

MATLAB的m, n分别代表什么意思?
所以N=size(X,2),就是把矩阵X的列数赋值给N。size语法格式:d = size(X)返回数组X每一维的大小,其中d是一个向量,元素个数为ndims(X)。如果X是一个标量(在Matlab也就是一个1行乘以1列的数组),size(X)将返回[1 1]。[m,n] = size(X)返回矩阵X的尺寸信息, 并存储在m、n中。

matlab中,如何快速建立一个行或列矩阵。例如,现在要创立一个只有一行的...
matlab创建矩阵是非常容易的,尤其是特殊矩阵 比如 全零阵 函数 zeros B = zeros(m,n) %生成m×n全零阵 命令 单位阵 函数 eye 格式 Y = eye(m,n) %生成m×n单位阵 命令 全1阵 函数 ones 格式 Y = ones(m,n) %生成m×n全1阵 等等 比如你的一个只有一行的...

怎么使用matlab在矩阵中找到大于1的数并输出
A是原矩阵 [m,n]=size(A);B=ones(m,n);C=find(B==(A>B));A(C)就是所有大于1的数,C是在A里面的位置 例如:在matlab中,可以通过sum函数和条件表达式来统计矩阵中大于或小于某数的元素的zhi个数。具体实现方法可以参考如下程序段:A= [1, 2, 3, 4, 5;2, 3, 4, 5, 6;3, ...

这个matlab程序怎么编?(设计低通滤波器)
2.硬件实验:输入不同频率的正弦信号,观察采样时钟波形、输入信号波形、样点输出波形和滤波输出波形。 1.5 MATLAB参考程序和仿真内容 %***% %f—余弦信号的频率 % M—基2 FFT幂次数 N=2^M为采样点数,这样取值是为了便于作基2的FFT分析 %2. 采样频率Fs %***% function samples(f,Fs,M) N=2^M; % ...

相似回答
大家正在搜