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




