matlab中循环处理的问题

作者&投稿:卜行 (若有异议请与网页底部的电邮联系)
matlab中for循环问题~

用while 吧。
i=1;
while ...
do
if ...
i=1;
end
i=i+1;
end

  一、解决方法:

  for i=1:3
for j=1:3
一段代码……
……
if m<1 %达到要求
break
end
end
if m<1 %达到要求
break
end
end


  二、MATLAB的简单介绍:
  MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
  MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。

假设你的文件为形如d:\0001.txt的形式,共有m=3个文件,要取每个文件中的第j=2列,得到矩阵a。

a=[];
j=2;%你要取的第2列
m=3;%文件数m
for i=1:m
tmp=dlmread(strcat('d:\',sprintf('%04d',i),'.txt'));
a=[a,tmp(:,j)];
end
然后你就可以对a再进一步处理了

你问题补充的和原问题已经完全不同了,而且我也看不太明白,比如一百万行如何变为1000*1000的,对应关系如何没说,还有均值是按行求还是按列求也没说清楚,你可以根据这个程序自己改。

使用三维矩阵
输入存放在1000*3*m矩阵b0中
输出存放在m*1000*k矩阵b中

输入时
for i=1:m
b(:,:,i)=当前输入矩阵;
end

处理时
for i=1:k
...
a=b0(:,2,:);取出所有第二列构成1000*1*m三维矩阵(实际是一个1000*m)
a=a(:,1:m);把三维矩阵转换成二维的
a=a';转置
...处理过程
结果b
b1(:,:,i)=b;
end
======================================
其中提取第二列合并为1000*m矩阵的两步:
a=b0(:,2,:);a=a(:,1:m);
可能还有更直接的实现方法,再自己试试看吧

仅供参考


ATLAB模糊系统设计图书目录
1.2.2 M文件介绍:详细讲解了MATLAB的脚本和函数编写。 1.2.3 使用命令:列举了常用命令及其功能。 1.2.4 输入与输出函数:说明了数据的输入和输出方法。 1.3 矩阵运算与向量运算:展示了MATLAB在这些领域的应用实例。1.4 控制语句:包括循环语句和条件转移语句,强调编程逻辑的构建。1....

问几个matlab的题!
3)MATLAB既具有结构化的控制语句(如for循环,while循环,break语句和if语句),又有面向对象编程的特性。4)程序限制不严格,程序设计自由度大。例如,在MATLAB里,用户无需对矩阵预定义就可使用。5)程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行。6)MATLAB的图形功能...

简述idl功能?idl 与matlab有何异同点
matlab和IDL的精神都是矩阵,一切都是矩阵,一个常数也是1*1的矩阵,一个向量是1*n的矩阵,一切的一切都是矩阵。所以用m www.hbbz08.com atlab做计算的时候,需要思维上把需要循环的程序改成矩阵运算,这就是matlab的长项了。IDL也是这样,矩阵操作比matlab逊色,但也是基于矩阵的。我的经验觉得IDL...

地层厚度校正
framethick=zeros(n,1);%水层序骨架厚度,产生0数组,在循环中赋值 fori=1:n-1 ficfun(b(i),a(i),a(i+1))framethick(i)=aaa;%在循环中调用ficfun函数来通过样条积分计算小层序的骨架厚度 e n s=sum(framethick);%该地层所有层序骨架厚度的累加值 H=s*bz\/0.39+s*(...

新人求助matlab安装包做毕设要用
1、下载解压缩,得到iso格式的matlab 2014b文件;2、安装DVDFab Virtual Drive虚拟光驱,并将iso文件装载到虚拟光驱中;3、打开“setup.exe”文件开始安装,选择“不使用internet安装”;4、选择“是”接受许可协议;5、安装密钥随意20个数字,11111111111111111111,就可以;6、安装路径,小编更改为D:\\...

潜江市13965363482: 关于matlab的循环问题 -
撒林利福: 你可以这样改一下,主要的问题是要正确使用数值运算和点运算符.可以不用循环语句来处理.u=100*rand(1,10); %这里为了说明问题,随意取的向量组 v=rand(1,10); %这里为了说明问题,随意取的向量组 g=pi/9;m=pi/9;a=100;p=2.125; x=u....

潜江市13965363482: 一道关于matlab循环的问题,求大神帮忙解决 -
撒林利福: 1、他们都可以执行死循环 比如 do{}while(1);for(;1;);while(1);2、do{}while循环是先执行一次 即do一次 出循环体时候 判断while条件是否为真 真,跳到do继续循环;假,退出循环,执行下一行代码3、for循环一般有三个语句 比如for(i = 0; i 4、while...

潜江市13965363482: matlab处理循环特别慢的问题 -
撒林利福: 与电脑有关的,高配置的电脑当然运行快,但是应该从程序本身解决问题,你说用了两个for循环就这样,应该是循环内部代码的问题或者是循环处理的数据太大,建议修改程序

潜江市13965363482: matlab循环中遇到的问题 -
撒林利福: clear;clcl1=0.4;l2=0.14;k=[0]; for i=1:12;k=[k,k(end)+30]; %也试过用k=k+30的 if k(i)>90 && k(i)<270 %计算j4,即ψ4.j4(i)=pi+atan((l1+l2*sin(k(i)*pi/180))/(l2*cos(k(i)*pi/180))); else j4(i)=atan((l1+l2*sin(k(i)*pi/180))/(l2*cos(k(i)*pi/180))); s1(i)=l2*...

潜江市13965363482: Matlab中一个循环计算问题 -
撒林利福: 在matlab中执行循环迭代的方法: a是一个由nk个数组成的数组 对应的y也应该是由nk个数组成的数组 a=某数组; b=某常数; d=某常数; for k=1:1:nk c=1; n=0; errf=1; while errf>1e-8&n<100%计算结果精度要求1e-8,如果迭代超过100次还不收敛,退出循环. y(k)=a(k)*b*c; c1=y*d; errf=(c1-c)/c1; c=c1; n=n+1; end

潜江市13965363482: matlab 关于循环问题 : -
撒林利福: 按你现在的程序结构,主函数一共调用了temp1三次,返回三个xyz(只不过前两个实际上没有起任何作用),第三次调用时i=3,也就是对xyz的第3行赋值,前两行没有赋值,就会以0填充.

潜江市13965363482: matlab写循环语句问题 -
撒林利福: 其实一句话就行了. 假设你已经给a和t赋值了,即a=1;t=2; 而且你已经得到了k,如果只有一行的话,那就没必要k(1,i),只需要k(i)就行,而且matlab里边这个不用循环,这样就行:result=sum(4*sin(a*k/(1+a)).*sin(a*k/(1+a)).*sin(k*t)./(2*k+sin(2*k)));下边是我测试的图

潜江市13965363482: matlab简单的循环问题 -
撒林利福: for i=1:length(y)if y(i)~=0f=y(i)ibreakelsecontinueendend注意:matlab的矩阵的标记从1开始,而不是0,这和C语言不一样.

潜江市13965363482: MATLAB循环计算的问题 -
撒林利福: 看看这样对不对,把resutlt1=0和result2=0放到循环里面 %%%%ex1-17-2%%格式改进版本(自动运算并生成表单)disp('Numerical analysis char I ex17')disp('***********************************************')for N=[10^2 10^3 10^4] result1=0;result2=0;for ...

潜江市13965363482: matlab循环效率问题为什么matlab的循环效率很低???
撒林利福: matlab是解释语言,C是编译语言, 编译语言的速度更快一些.另个matlab是面向矩阵的编程, 写成矩阵形式比用循环的效率更高一些.

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