1、 输入一组整数a,输出其中奇偶数、奇偶数的和、积以及个数。

m文件代码

clear

clc

n=input('输入数字个数');

for i=1:n

x(i)=input('输入数字:');

end

j=1;k=1;

%y向量存奇数,z向量存偶数

for i=1:n

if mod(x(i),2)

y(j)=x(i);

j=j+1;

else

z(k)=x(i);

k=k+1;

end

end

%输出奇数和偶数

y

z

%输出所有奇数和、所有偶数和

sum(y)

sum(z)

%输出所有奇数连乘积、所有偶数乘积

prod(y)

prod(z)

%输出所有奇数个数、所有偶数个数

length(y)

length(z)

其他方法(下面的方法输入必须是矩阵形式,如:[2 3 4 5 6 7 8],前一个用除法,后一个用find函数)

clear

a=input('input some numbers:')

n=length(a);

j=0;k=0;

for i=1:n

if rem(a(i),2)==0

j=j+1;

b(j)=a(i);

else

k=k+1;

c(k)=a(i);

end

end

a

b,j

c,k

----------------------

a=input('input some numbers:')

b=a(find(rem(a,2)==0))

j=length(b)

c=a(find(rem(a,2)~=0))

k=length(c)

-------------

2、计算s=e-(1/1+1/1!+1/2!+...+1/N!)使得s<10^(-6),求最小的N

m文件代码

clear

clc

s=exp(1);

i=0;

while(1)

s=s-1.0/factorial(i);

if(s<1e-6)

break;

end

i=i+1;

end

i

结果为9

注:阶乘除了可以用factorial(i),还可以用prod(1:i),prod是连乘函数

3、 试计算以下循环语句将进行多少步操作

(1) for i= —32768:32767

(2) for j= 32768:32767

(3) for k=2:4:3

(4) for m=ones(5,5)

m文件代码

count=0;

for i= -32768:32767

count=count+1;

end

count

count=0;

for j= 32768:32767

count=count+1;

end

count

count=0;

for k=2:4:3

count=count+1;

end

count

count=0;

for m=ones(5,5)

count=count+1;

end

count

结果为65536、0、1、5

4、 观察以下循环语句,试计算每个循环次数和循环结束之后ires或x的值

(1) ires=1;

while mod(ires,10)~=0

ires=ires+1;

end

(2) ires=2;

while ires<=200

ires=ires^2;

end

(3) ires=2;

while ires>200

ires=ires^2;

end

(4)x = 500;

while x > 0

if isprime(x)

break;

end

x = x -1;

end m文件代码

ires=1;

while mod(ires,10)~=0

ires=ires+1;

end

ires

ires=2;

while ires<=200

ires=ires^2;

end

ires

ires=2;

while ires>200

ires=ires^2;

end

ires

x = 500;

while x > 0

if isprime(x)

break;

end

x = x -1;

end

x

结果为:10、256、2、449

注:isprime(x)为求素数函数,如果是素数返回1,否则返回0

ISPRIME True for prime numbers.

ISPRIME(X) is 1 for the elements of X that are prime, 0 otherwise.

5、分别用if和switch多分支语句计算税款,用户输入货价,输出相应的税款:

货价<2000,免税;

货价在2000到5000之间,超过2000部分抽税2%;

5000以上,除2%以外,5000以上抽税5%,加收手续费60元。

if语句

m文件代码

clear

clc

price=input('请输入价格:');

taxes=0;

fee=0;

if price<2000

taxes=0;

elseif price<5000

taxes=(price-2000)*0.02;

else

taxes=(5000-2000)*0.02+(price-5000)*0.05;

fee=60;

end

taxes

fee

switch语句

m文件代码

clear

clc

price=input('请输入价格:');

taxes=0;

fee=0;

switch floor(price/1000)

case {0,1}

taxes=0;

case {2,3,4}

taxes=(price-2000)*0.02;

otherwise

taxes=(5000-2000)*0.02+(price-5000)*0.05;

fee=60;

end

taxes

fee

6、分别用if和while做,m=1+2+2^2+...+2^n,直到1000为止,求最大的N

只用if的话,用递归可以实现

保存下面两个m文件

sum2n.m

%matlab递归计算1+2+2^2+...+2^n

function num=sum2n(n)

if n==0

num=1;

else

num=2^n+sum2n(n-1);

endsum2nbigm.m

%判断1+2+2^2+...+2^n是否大于m,参数为m,n的初值(n的初值建议取0)

%对于本题调用方法为sum2nbigm(1000,0)

function num=sum2nbigm(m,n)

if sum2n(n)>m

num=n;

else

num=sum2nbigm(m,n+1);

end

然后调用sum2nbigm(1000,0),结果为9

while循环方法

m文件代码

clear

clc

m=0;

i=0;

while m<1000

m=m+2^i;

i=i+1;

end

n=i-1;

n

7、‘The quick brown fox jumps over the lazy dog’,26个字母至少出现过一次,统计每个字母出现的次数。

逐个遍历即可

方法一:sum函数遍历

m文件代码

%利用sum函数遍历

clear

clc

str='The quick brown fox jumps over the lazy dog';

str=lower(str); %将字符串中的大写转换为小写

for i=1:26

x(i)=sum(str==char('a'-1+i));

end

x

方法二:逐个遍历累加

m文件代码

%逐个遍历累加

clear

clc

str='The quick brown fox jumps over the lazy dog';

str=lower(str);

z=zeros(1,26);

for i=1:length(str)

if(str(i)<='z'&&str(i)>='a')

z(str(i)-'a'+1)=z(str(i)-'a'+1)+1;

end

end

z

8、输入一个字符,如果是大写字母,输出小写;如果是小写字母,输出大写;其他字符,原样输出。

m文件

clear

clc

n=input('请输入一个字符','s');

n=n(1);%即使输入多个字符也只取第一个

if(n>='a'&&n<='z')

n=char(n-32);

elseif(n>='A'&&n<='Z')

n=char(n+32);

else

n=n;

end

n

9、利用rand函数编制一个新的函数rand10,该函数能够产生在[-10,10]之内的随机数。

rand10.m

function num=rand10()

num=rand()*20-10;

end

10、对上题的函数加以修改,使得产生的随机数在[low,high]之间,其中low和high为用户输入参数。

randLowToHigh.m

%调用示例:randLowToHigh(-50,100)

function num=randLowToHigh(low,high)

num=rand()*(high-low)+low;

end

matlab中的while循环语句,Matlab的if语句switch语句for循环while循环语句练习相关推荐

  1. matlab中的timer模块,[转载]Matlab中Timer的使用

    Matlab中Timer的使用 鉴于Matlab中缺乏多线程机制,使用Timer无疑是一个很重要的工具,Matlab中Timer是一个Java对象. (1)Timer 的定义 t=timer(); 设 ...

  2. m 文件 dll matlab 中调用_如何在matlab中调用python程序

    现在python很火,很多代码都是python写的,如果你和我一样,习惯了使用matlab,还想在matlab中调用Python的代码,应该怎么办呢?其中一条思路:首先在matlab中调用系统脚本命令 ...

  3. matlab中m文件是什么,MATLAB中M文件的使用

    运行方法: 使用matlab的时候,可以在"Command Window"内直接书写matlab代码,也可以将代码保存到M文件中,然后运行该文件.使用matlab主界面菜单&quo ...

  4. matlab 如何axis,在matlab中axis是什么意思,matlab中axis的用法

    在matlab中axis是什么意思轴在matlab中是什么意思,matlab中的Axis是指在绘图中通常使用axis函数来设置坐标值的范围,在matlab的命令窗口中输入doc轴或help轴即可获得该 ...

  5. 在MATLAB中使用数学符号,在matlab中怎么输入特殊符号 function在MATLAB中怎么用

    导航:网站首页 > 在matlab中怎么输入特殊符号 function在MATLAB中怎么用 在matlab中怎么输入特殊符号 function在MATLAB中怎么用 相关问题: 匿名网友: 一 ...

  6. 在matlab中ungetfile后,11条Matlab实用小技巧

    2011-02-25 15:36 1.在用循环画很多图时,为了减少对内存的占用,可以设置图像不显示,直接保存起来.其实也很简单,就是在plot等语句前加上一句:figure('visible','of ...

  7. matlab中仿真丢包,使用MATLAB进行误比特率(BER)仿真----转载

    原作者:James E. Gilley 译者:H. X. Xia 1. 引言 由于Matlab 具有简单的描述语言和优秀的数据图形化能力,MATLAB成为进行数字通信系统仿真的理想工具.在数字通信领域 ...

  8. matlab中asix off_遗传算符MATLAB程序-入门必看

    % 下面举例说明遗传算法 % % 求下列函数的最大值 % % f(x)=10*sin(5x)+7*cos(4x) x ∈ [0,10] % % 将 x 的值用一个 10 位的二值形式表示为二值问题,一 ...

  9. matlab中ode的用法,关于matlab 的ode45用法

    3.6.2 龙格- 库塔方法 改进的欧拉法比欧拉法精度高的原因在于,它在确定平均斜率时,多取了一个点的斜 率值.这样,如果我们在[Xi,X(i+1)]上多取几个点的斜率值,然后对它们作线性组合得到平均 ...

  10. matlab中codegen是什么,从 MATLAB 代码生成 C/C++ 代码。 - MATLAB codegen - MathWorks 中国...

    -c生成 C/C++ 代码,但不调用 make 命令. -config:dll使用默认配置参数生成动态 C/C++ 库. -config:exe使用默认配置参数生成静态 C/C++ 可执行文件. -c ...

最新文章

  1. Qt paintevent事件
  2. Sharepoint 2007 用户信息管理总结(2) - 用户信息管理
  3. C/C++、JAVA、Python简单运行速度实验与分析
  4. weblogic jms消息 删除_消息队列与消息中间件概述:消息中间件核心概念与技术选型...
  5. 蒙特卡洛方法_基本理论-蒙特卡洛方法与定积分
  6. YARP+AgileConfig 5分钟实现一个支持配置热更新的代理网关
  7. 李宏毅机器学习(七)Bert and its family
  8. java是纯_让你真正了解Java(纯干货)
  9. Word打开时显示*模板*,删除模板
  10. 小程序成长之路(一)-- 第一个完整demo
  11. java.lang.NoClassDefFoundError: javax/wsdl/extensions/ElementExtensible
  12. r语言 转录本结构及丰度_生信人的R语言视频教程语法篇第三章:数行天下(4)R中的数据——从结构角度划分(数组)...
  13. 2021.10.13 向日葵黑屏驱动卸载方法
  14. Unity商店下载存储地址
  15. 计算机出现假桌面怎么解决办法,win10专业版系统桌面经常假死解决办法
  16. 使用阿里云的ip地址查询服务-购买ip地址查询服务
  17. word如何弄成两竖列_word分栏后成了竖行
  18. 连锁加盟2-3事~实录
  19. python常用工具类
  20. python定义一个dog类 类属性有名字_python 基础 12 初识类,类方法,类属性

热门文章

  1. 大家都是怎么看待STO的?
  2. datawhale pandas 打卡02 pandas基础
  3. 计算机软件资格水平考试办公室,信息系统项目管理师考试大纲-全国计算机技术与软件专业技术资格(水平)考试办公室.pdf...
  4. 荣耀magic2可以更新鸿蒙吗,华为EMUI不会更新了!直接升级鸿蒙系统,荣耀手机也不会放弃...
  5. 全志D1-H芯片 如何移植 rtl8821cu wifi 驱动到 Linux-5.4内核?
  6. gis插入的文本怎么搞成两行_没有电脑怎么做PPT?用手机这样做!比电脑做出来的还要精美...
  7. 求助:word 为自定义宏设置快捷键
  8. 乐高无限vs勇者斗恶龙之建造者2
  9. 祝福四川的人民平安健康
  10. 数据库系统(DBS)的四个特点