MATLAB中A zeros(2 N,9for i

2020-11-27 17:45:49 字数 6421 阅读 1774

1楼:匿名用户

解释:a=zeros(2*n,9);是指把2*n行9列的0矩阵赋给a。也就是a为2*n行9列的0矩阵。

for i=1:2:2*n-1 j=(i+1)/2;是for循环,i为1,3,5,7……,2*n-1时(也就是i为奇数),循环内求j的值。循环直到i=2*n-1。

2楼:

a是一个2*n行,9列的零矩阵。循环是指从1开始一直到2*n,每两个,就是1,3,5,7,9……求j的值,j的值依次为1,2,3,4,5

matlab中a(1:2,[3,4,5])=zeros(2,3) 是什么意思 请详细解答 5

3楼:师洁师

表示a矩阵的第一行和第二行的3,4,5列数为0;

1:2表示1到2行,[3,4,5]表示3,4,5列;

zeros(2,3)表示一个2行3列的全0矩阵

4楼:伏安筠沙芊

看了一下,应该是写错了或漏写了,应该是:

clear

all;clc;

a=zeros(2,3);

a(:)=1:6;

a=a*(1+i);

a_a=a.'

%表示非共轭转置

5楼:匿名用户

就是把矩阵a的第1-2行、第3-5列这一共6个元素赋值为0.

6楼:匿名用户

>> a=magic(5)

a =17 24 1 8 1523 5 7 14 164 6 13 20 2210 12 19 21 311 18 25 2 9>> a(1:2,[3,4,5])=zeros(2,3)a =17 24 0 0 023 5 0 0 04 6 13 20 2210 12 19 21 311 18 25 2 9

matlab矩阵题 请教 **等 急!!!!!!!

7楼:匿名用户

%%%%%%%%%%%%%这里给出两组程序,一组是一个for都没有的。另一组全部都有for的,你自己选用一组吧。

%%%%一个for都没有的。

%1n=10;

a=diag(50*ones(n,1));

a=a+triu(rand(n)*99,-1)

%2n1=8;

n2=4;

nstart=floor((n1-n2)/2)+1; %中间的起始位置

a=zeros(n1);

a(nstart:nstart+n2-1,nstart:nstart+n2-1)=ones(n2);

%3a=repmat(1:10,10,1);

a=mod(a+a'-1,10)

%4a=100+magic(5)

%53.^[1:15]

%6-100+(100--100)*rand(10)

%%%%%%%%%%%%%%%%%%%%上面全部不用循环完成

%%下面全部用循环来做

%1for i=1:10

for j=1:10

if i=nstart && i<=nstart+n2-1 && j>=nstart && j<=nstart+n2-1

a(i,j)=1;

else

a(i,j)=0;

endend

enda

%3for i=1:10

for j=1:10

a(i,j)=mod(i+j-1,10);

endend

a%4 这个比较难写

n=5; %这里只能取奇数

base=0;

a=zeros(n);

i=1;

j=ceil(n/2);

a(i,j)=1+base;

for **t=2:n*n

ii=i-1;

jj=j+1;

if ii==0

ii=n;

endif jj>n

jj=1;

endif (a(ii,jj)==0)

i=ii;

j=jj;

else

i=i+1;

if i>n

i=1;

endend

a(i,j)=**t+base;

enda

%5base=3;

exp3=base;

for i=2:15

exp3(i)=exp3(i-1)*base;

endexp3

%6for i=1:10

for j=1:10

a(i,j)=-100+200*rand(1);

endend

8楼:

其实很简单的啦

你就for循环随机生成矩阵,用rand函数然后在特定位置用if语句作判定后赋值

例如第二题:

for i=1:10

for j=1:10

if(i = 5 || i = 6)&(j=5 ||j =6)a(i,j) = 0;

end if

a(i,j)= 1;

endend

9楼:红色の新月

前三题没有特殊技巧,主要用for算了。后面的我写下了

4. 将101~125等25个数填入一个5行5列的**中,使其每行每列及对角线的和均为565。

a: 等同于1~25等25个数填入一个5行5列的**中,使其每行每列及对角线的和均为65。因此magic(5)+100就是答案

5. 计算3的x次方,x=1,2,3,…,15

a: 3.^[1:15]

6. 生成一个10x10矩阵,矩阵中的元素为-100到100间的随机整数

a: randint(10,10,[-100,100])

另外告诉楼上几位,在matlab使用for loop是浪费行为啊,不到万不得已不要用的

补充:1. 生成一个10x10矩阵,矩阵中左下三角部分元素为0,对角线元素为50,其它元素为0到99间的随机数

mat1=triu(randint(10,10,[0,99]));

mat1=mat1-diag(diag(mat1))

2. 生成一个10x10矩阵,其中心的4x4方阵元素为0,其余元素为1.

mat3=ones(10,10);mat3(4:7,4:7)=0;

那个第三题估计只能用for了。

满意的话就加分^-^

matlab中怎么取一个矩阵的一部分

10楼:滟丽

1、打开matlab,在命令行窗口中输入a=[1 2 3 4;4 5 6 7;1 2 3 4],按回车键创建一个3行4列的矩阵。

2、如果我们想获取矩阵第2行第3列的数据,输入a(2,3)。

3、想获取矩阵第3列的第一个和第三个,输入a([1 3],3)。

4、想获取矩阵某列的连续数据,可以使用a(1:2,3),获取第3列第1个到第2个数据。

5、使用a(2:end,3)获取第3列,第2个到最后一个数据,根据需要获取矩阵数据即可。

11楼:ieio啊

matlab中要取一个矩阵的一部分,可以参考以下内容:

比如说有一个5×5的矩阵,想取它右下脚3*2的矩阵,应该用命令:

a=zeros(5,5)

b=a(3:5,4:5)%取a的(3-5行,4-5列)

b即为所取

matlab中取一个矩阵的一部分(比如格式a(m,n),用于提取矩阵a中符合m,n要求的部分):

1、提取某个元素,则m,n为数字标量,如a(2,3)为第二行第三列的元素。

2、提取某行某列

a(:,n)提取第n列的所有元素,如a(:,3)提取第三列的所有元素;

a(m,:)提取第m行的所有元素,如a(3,:)提取第三行的所有元素;

3、提取任意的某部分并重新组成新的矩阵,连续或不连续,单调或不单调

数字指定:a([1 2 3 4],[2 3]) 返回1 2 3 4行2 3 列的数据;

步长指定:a(1:2:end,:) a(2:2:end,:)分别提取矩阵a的奇数行和偶数行数据;

a(end:-1:1,:) a(:,end:-1:1)分别返回a矩阵行倒序和列倒序的矩阵

变量指定:a(b(:,1),:),其中b的第一列含有数据,用来指定取矩阵a的哪些行。

4、变量指定,假设一个矩阵x1中存储的是坐标,用矩阵x1的坐标访问矩阵labels_left中对应的元素:

for i = 1:size(x1,1)

x = labels_left(x1(i,2),x1(i,1));%匹配对1在左图中的label数

12楼:摩羯面对现实

matlab中取一个矩

阵的一部分方法如下:

格式a(m,n),用于提取矩阵a中符合m,n要求的部分

1、提取某个元素,则m,n为数字标量,如a(2,3)为第二行第三列的元素。

2、提取某行某列

a(:,n)提取第n列的所有元素,如a(:,3)提取第三列的所有元素;

a(m,:)提取第m行的所有元素,如a(3,:)提取第三行的所有元素;

3、提取任意的某部分并重新组成新的矩阵,连续或不连续,单调或不单调

数字指定:a([1 2 3 4],[2 3]) 返回1 2 3 4行2 3 列的数据;

步长指定:a(1:2:end,:) a(2:2:end,:)分别提取矩阵a的奇数行和偶数行数据;

a(end:-1:1,:) a(:,end:-1:1)分别返回a矩阵行倒序和列倒序的矩阵

变量指定:a(b(:,1),:),其中b的第一列含有数据,用来指定取矩阵a的哪些行。

4、变量指定,假设一个矩阵x1中存储的是坐标,用矩阵x1的坐标访问矩阵labels_left中对应的元素:

for i = 1:size(x1,1)

x = labels_left(x1(i,2),x1(i,1));%匹配对1在左图中的label数

end扩展资料:

matlab中取一个矩阵的一部分的用法:

1、提取大矩阵的一列、一行元素:

一列元素: a(:,j)表示提取a矩阵的第j列全部元素

一行元素: a(i,:)表示提取a矩阵的第i行元素,

于是我们有,a(i, j)表示提取a矩阵的第i行第j列的元素。

2、提取多行多列元素

多行元素: a(i:i+m,:)表示提取a的第i行到第i+m行的元素。

多列元素: a(:,j:j+n)表示提取a的第j列到第j+n列的元素。

提取块: a(i:i+m, j:j+n)表示的是mxn的一个子块的元素。

13楼:du瓶邪

比如原矩阵为a=[1 2 3;4 5 6;7 8 9;10 11 12],现在要生成b=[1 2;4 5;7 8],即提取了原来矩阵的1、2两列和1、2、3三行~

b = a(1:3, 1:2)

即使提取的行列不连续或者次序需要颠倒也可以写成诸如a([1,3,6], [4,3,1,5])这样的形式

14楼:奔三不再二

matlab 矩阵

元素与子矩阵的提取

>> %矩阵元素的提取

>> a=[1 2 3;4 5 6;7 8 9;10 11 12]

a =1 2 3

4 5 6

7 8 9

10 11 12

>> a(3,1)%提取 a 矩阵第 3行,第 1列的元素

ans =

7>>>> %通过元素序号提取元素(矩阵元素序号与它的存储顺序是一一对应的! )

>> a(6)

ans =

5>> %matlab中矩阵元素按列存储,首先是第 1列,其次是第 2列 ......

>>>> %使用函数 find(c)查找符合条件的矩阵元素的行和列

>> %函数 find(c)的使用格式 [row,col]=find(c),c一般为逻辑表达式; row 返回满足条件的元 素的行号, col 返回满足条件的元素的列号。

>> a=[12 34 26 17 21;61 50 89 12 8;25 62 91 23 47]%查找 a 矩阵中大于等于 20、小于等于 60的元素。

a =12 34 26 17 21

61 50 89 12 8

25 62 91 23 47

>> [r,c]=find(a>=20&a<=60);

>> b=find(a>=20&a<=60);

>> disp('符合条件的矩阵元素的行号和列号:'),[r,c]

符合条件的矩阵元素的行号和列号:

matlab中x ones(1,n),以及q zeros

1楼 随便什么名啦啦 x ones 1 n 表示x为全0数组 q zeros 1 n 表示q为全0数组 n length a 表示获得数组a的最大维度。 1 数组的维数 在matlab中,允许标量数据沿行 列 页等方向排列成 长方体 ,而构成数组,而行 列 页等排列方向就分别被 称为行维 列维和页维...