如何将matlab数组循环赋值给另外一组数组

题目说的不是很清楚,附程序
function for_rnd()
m=[1200,700,650,1300,600,630]
n=[100,50,50,80,100,80]
%产生均值,方差分别为m(i),n(i)的随机数200个
for i=1:6
r=normrnd(m(i),n(i),1,200)
d(i)=r %想把数组r的值依次赋值给数组d1,d2,……,d6,但提示这出错,意思是d的长度只有i,r中有200个元素;所以我应该是误用了,那请问怎样才能实现我的想法。。。
end

万分感谢!

%很明显i=1:6,因此循环后d只有六个元素,而 r=normrnd(m(i),n(i),1,200)为200个元素,当然不可以了,你的意思是把每次产生的r赋给d中的元素是不。可以这样
function for_rnd()
m=[1200,700,650,1300,600,630];
n=[100,50,50,80,100,80];
%产生均值,方差分别为m(i),n(i)的随机数200个
d=cell(1,6);%用单元数组
for i=1:6
r=normrnd(m(i),n(i),1,200);
d{i}=r;
end
%d{1}就是第一个1X200 的随机数,可以用d{1}(1)引用第一个1X200 的随机数的第一个元素。
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-11-08
max函数为:求最大值
ceil函数为:取整函数,负数取整数部分,正数进位
C = max(A),如果A是一个矩阵, max(A)返回每一列的矩阵的最大值
ceil(max(max(w1))),假定w1为一个N*M的矩阵,求它中数组最大值,并且取整
第2个回答  推荐于2016-04-15
对于一个矩阵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]
第3个回答  2015-11-25
什么意思?一个赋值给另一个不就
本来是a[m][n]的数组
那for i=0:m
for j=0:n

b[i][j]=a[i][j];

这样不行么?

如何将matlab数组循环赋值给另外一组数组
很明显i=1:6,因此循环后d只有六个元素,而 r=normrnd(m(i),n(i),1,200)为200个元素,当然不可以了,你的意思是把每次产生的r赋给d中的元素是不。可以这样 function for_rnd()m=[1200,700,650,1300,600,630];n=[100,50,50,80,100,80];产生均值,方差分别为m(i),n(i)的随机数...

matlab中A中数组如何赋值给B中数组?
答案2:: 可以直接赋值吧你要是想把B数组添加到A中,这样写试试A=[A1,B]这样就把B的值添到A值后面了。

matlab数组循环赋值
首先,创建一个 3x3 零矩阵A。接着,采用嵌套循环遍历矩阵元素,执行计算或赋值操作。此处,每个元素值被设置为行号乘以列号。最终,使用 disp 函数展示更新后的矩阵 A。循环赋值灵活多变,根据具体需求修改循环体内代码,实现不同元素的赋值操作。此示例说明如何遍历与赋值数组元素。下面提供 MATLAB 数组循...

Matlab中怎么把循环中得到的几个矩阵分别赋值给元胞数组的元素呢,具体...
C{i+1,1}=A;end

哎matlab中如何把一组数据存入另外一个数组或者矩阵中
若是每一次循环得到的impixel都是一列的话,只需每次计算出后写a(:,i)=impixel,若是一行:a(i,:)=impixel,若impixel得大小不定,你就在for外预定义一个元组a=cell(N,1);然后每次写a{i}=impixel,最后所有的impixel都存在a里,当然你也可以定义一个结构体,不过我觉得元组更容易操作一些 ...

求助大神 如何在matlab中循环打开txt文件并赋值给不同数组
a=cell(m,1);for i=1:mdn=strcat('data',int2str(i),'.txt');a{i}=load(dn);end

matlab 中如何将三维数组中的部分赋值到二维数组中
a(:,:,1)=[1 2 3;4 5 6;7 8 9];a(:,:,2)=[0 0 1;0 1 0;1 0 0];a(:,:,3)=3 for j=1:3 k=a(j,:,:);k=reshape(k,3,3);%更改位置,3,3按照自己的矩阵变化,但要保证数目相同 [x,y]=eig(k);%x:特征向量;y:特征值。后期自己再改正哈程序 end ...

matlab中如何把一个大数组中的一部分数选择复制到另一个小数组中
posA=find(A==maxA)那里posA会变成inf吧,因为你A(POS)=inf。你可以直接把A(POS)删掉,写:A(POS)=[];话说用得着这么麻烦么。。。直接这样啊:A=rand(1,70);B=sort(A,'descend');B=B(1:40);

matlab中如何将一个数组放入另一个数组?
不太理解你说的情况 不过我觉得这种情况可以接一个判断即可 这是我写的一短小代码 z=zeros(4,1);if length(a)==3 %判断是否是三个元素 b(1:3)=a; %即在b的第一个元素补0,如果在最后位置补0:b(2:4)=a else b=a;end 不知道对不对,可以继续讨论哈~~...

matlab中怎样批量提取文件中数据并赋值给新数组,并另外存储新生成的数...
如果是取连续的一些数据,比如说 B(m,:)=A(i,:)取A的第i行存放在B的第m行中 但是如果不连续 ,而是离散的一些数据就必须知道它的下标了 B(m,n)=A(i,j)讲A的第i行,第j列存放在B(m,n)位置上。

相似回答