MATLAB如何将一个数组的值分别赋给另一个数组(matlab中如何实现数组给数组赋值)

2026-10-14 百科 26阅读 投稿:汐影浊

1. MATLAB如何将一个数组的值分别赋给另一个数组

对于一个矩阵A,可以连续赋值,如

>> A(1:3)=1:2:5

A =

1 3 5

对于cell数组,连续赋值可以用一下格式

例1:赋以连续数字

>> test=cell(1,3);

>> test(1,1:3)=num2cell(1:3:9)

test =

[1] [4] [7]

cell数组中每一元素都是一个cell结构的,所以可以连续索引cell单元,赋以连续的cell结构的数据。注意不能用内容索引,即大括号{ },如test{1:3},会报错

>> test{1:3}=num2cell(1:3:9)

The right hand side of this assignment has too few values to satisfy

the left hand side.

>> test{1:3}=1:3:9

The right hand side of this assignment has too few values to satisfy

the left hand side.

例2:

>> test(1:3)={1,'b','c'}

test =

[1] 'b' 'c'

例3:赋以相同值

>> test(1:3)={0}

test =

[0] [0] [0]

2. matlab中如何实现数组给数组赋值

1、首先需要打开matlab,对矩阵进行转置操作。输入A',按下回车即可。

2、转置我们还可以用命令来实现,即transpose(A)。按下回车后发现A已经被转置。

3、然后接下来就是数组矩阵的旋转操作,如图所示,用命令rot90(A)来实现。

4、最后,可以看效果了,matlab中这几组数据就是数组给数组赋值的操作。

3. matlab中如何实现

很高兴为你解答,就说说你上面这个例子吧。

B=[1 2 3 4 5]

A[k+1]=B[k]

从上面的例子知道,B有5个元素,A有6个元素,首先可以对A进行初始化,然后按照你给出的规则,为A中的元素赋值。具体示例如下:

A=zeros(1,length(B)+1); %A比B多一个元素,为1行,length(B)+1列的全0向量

for i=1:length(B)

A(i+1)=B(i); % A[k+1]=B[k]

end

matlab中向量编号从1开始的,所以向量A的第一个元素,没有做修改,仍认为初始值0。

希望可以帮助你,祝学习进步!

4. matlab如何使将每次计算生成值赋给数组作为分量

a = 0;

for i = 1:100

a = a + i

b[i] = a

end

就是i 从1 到100, 循环共100次。每次把数值放到b里面存好。

最后每一步的结果都在b里面存着。

a一开始是0,第一次变成了 0 + 1 = 1, 第二次变成了 1 + 2 = 3 第三次变成了3 + 3 = 6, 循环到100结束。

如果要看b的内容,输入

b

就可以了。

5. 用matlab如何给数组赋值

入门的话,这样就可以了。

p=perms(1:5);

p1=p(:,1);

p2=p(:,2);

p3=p(:,3);

p4=p(:,4);

p5=p(:,5);

更深的话:

n=5; %n可以取其它更多的值

p=perms(1:n);

for i=1:n

eval(['p',num2str(i),'=p(:,',num2str(i),');']);

end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

n=5;

p=perms(1:n);

for i=1:length(p)

temp=accumarray([p(i,1),p(i,2);p(i,2),p(i,3);p(i,3),p(i,4);p(i,4),p(i,5)],1,[n,n]); %这里自己加

eval(['pp',num2str(i),'=temp;']);

end