matlab 怎样同时对多个数组计算 每个数组的长度不一样

作者&投稿:储莘 (若有异议请与网页底部的电邮联系)
matlab怎么把多个不同长度的数组放到一个矩阵里?~

把你说的文件分别存为txt,把a矩阵文件放到a.txt,b矩阵文件存为b.txt,然后用matlab调用,命令如下:clc;clear;b=load('b.txt');即可调用这个矩阵文件!
可以把每次计算出的矩阵A保存到一个元胞结构Data中for i = 1:n
A = 你的操作;Data{i} = A;end
下次从Data中取矩阵,可以这么写A = Data{i} ;
矩阵(Matrix)本意是子宫、控制中心的母体、孕育生命的地方。在数学上,矩阵是指纵横排列的二维数据表格,最早来自于方程组的系数及常数所构成的方阵。这一概念由19世纪英国数学家凯利首先提出。矩阵概念在生产实践中也有许多应用,比如矩阵图法以及保护个人帐号的矩阵卡系统(由深圳网域提出)等等。“矩阵”的本意也常被应用,比如监控系统中负责对前端视频源与控制线切换控制的模拟设备也叫矩阵。

如果数组长度不大,可采用循环的方式,每次用 randperm 产生随机排列,然后判断是否与原数相同,直到满足要求为止。

参考代码:
a = [1 2 3];n = length(a);while true p = randperm(n); if all(p-(1:n)), break, endendb = a(p)
从直觉上判断,如果数组元素比较多,这种方式的效率可能会比较低,需要研究更好的做法。不过从实际的测试看,效率似乎并没有受很大影响。你可以试试看,如果确实需要改进再说。

假如你的数组放在了一个data.txt记事本里面,每一个一维数组都是以列存储的。那么可以这么写:
A=load('data.txt'); %载入数据
B=2*A+A.^2; %对于A里面的数据,每一个元素都做相同的运算:2*x+x^2

注:得到的B的每一列就是你要的ri,i=1,2,。。。

for k=1:n
eval(['r' int2str(k) '=2*a' int2str(k) '+a' int2str(k) '.^2']);
end;


邵武市13396666592: matlab 怎样同时对多个数组计算 每个数组的长度不一样
悟谢童康: for k=1:n eval(['r' int2str(k) '=2*a' int2str(k) '+a' int2str(k) '.^2']); end;

邵武市13396666592: matlab怎样同时对多个数组计算每个数组的长度不一样 -
悟谢童康: 如数组A,则length(A)就是求长度

邵武市13396666592: matlab 如何比较多个数组中的数字 -
悟谢童康: 其实最简单的做法就是这个:比如你有一个这样的变量 a={1,2,3,4,5};用语句a(2) = [];结果a是变成{1,3,4,5}.注意不要写成a{2} = [],这样结果a会变成{1,[],3,4,5}.

邵武市13396666592: matlab 怎么求多个数组的交集? -
悟谢童康: 方法1 n=input('n=') z1=intersect(intersect(intersect(M1(n,:),M2(n,:)),M3(n,:)),M4(n,:)); z1=z1(z1~=0) 分别插入行值,就可以求出. 方法2 for i=1:7; z=intersect(intersect(intersect(M1(i,:),M2(i,:)),M3(i,:)),M4(i,:)); z=z(z~=0) end

邵武市13396666592: 怎么用matlab对两个数组求数值微分 -
悟谢童康: 这个如果点列很密集的话,数值微分就是差分 那你就用循环结构咯 for ii=1:mfor jj=1:mdy(ii)=(y(ii+1)-y(ii))/(x(ii+1)-x(ii)); end end dy 这样 每相邻两个点的差分就能知道了 然后 成图 就可以近似认为是微分了,其中m是已知的 看你的数据有多少个了

邵武市13396666592: matlab怎样从一维数列中一次读取多个数 例如 c=[001110111010101] 每次读取3位 第一个读出 001,第二个110
悟谢童康: 可以用for循环 哥今天心情好,直接帮你编: 针对你这个数组C可以如下 c=[0 0 1 1 1 0 1 1 1 0 1 0 1 0 1]; for i=1:3:length(c) a=c(i:i+2) end 还可以做的更一般 可以对你的数组C进行判断,看它是不是3的倍数,就是为了满足每次读出三个数,如果不是可以考虑最后一次读数补数或者直接截断,就是说最后剩什么就读出什么.

邵武市13396666592: matlab怎么来统计数组元素个数 -
悟谢童康: 你得先把数组输入到matlab,比如 >> A=[1 2 3 5]; 然后用命令>> number=length(A) 数组A的元素个数就显示出来了.number = 4 如果A是多行多列的矩阵,则需要计算如下>> [r c]=size(A);>> number=r*c r是行数,c是列数,number是乘积,就是元素数量

邵武市13396666592: matlab 怎么把多个不同长度的数组放到一个矩阵里? -
悟谢童康: 把你说的文件分别存为txt,把a矩阵文件放到a.txt,b矩阵文件存为b.txt,然后用matlab调用,命令如下:clc;clear;b=load('b.txt');即可调用这个矩阵文件!可以把每次计算出的矩阵A保存到一个元胞结构Data中for i = 1:n A = 你的操作;Data{i} = A;...

邵武市13396666592: matlab如何设多个数组 -
悟谢童康: for i=1:901 B(:,i)=A(i:99+i); end

邵武市13396666592: matlab 数组乘除,维度不一样的问题 -
悟谢童康: x3计算中,少了几个点乘.如果不知道怎么弄,可以全部弄成点乘.将x3=-(2^(1/2)*a^2*R.*(2*G^2 + K.*R))./((2*G^2 + 2*K.*R)*(3*G^2*K + 2*R*G^2 + R.*K.^2));改为:x3=-(...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网