完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
数据的输入 input
》》 A=input(‘请输入变量A的值:’) 请输入变量A的值:[1:3;4:6;7:9] A = //后面的矩阵是自己在键盘上输入的 1 2 3 4 5 6 7 8 9 数据的输出 disp 》》 s=‘Hello world’; 》》 disp(s) Hello world 》》 A=input(‘请输入变量A的值:’); 请输入变量A的值:[1:3;4:6;7:9] 》》 disp(A) 1 2 3 4 5 6 7 8 9 程序暂停可以用pause函数: pause(延迟秒数) 另外,在程序执行过程中要强制中止程序的运行,可以用Ctrl+C命令。 下面建立脚本文件来运行一个程序。 脚本文件内容如下: A=input(‘输入矩阵A:’); B=input(‘输入矩阵B:’); C=A*B; disp(‘矩阵A和矩阵B相乘的结果为:’); disp(C); 将其命名为chengtest,存储在Matlab/bin目录下,存储为chengtest.m文件,在命令行窗口下进行测试: 》》 chengtest 输入矩阵A:eye(3) //eye(3)是单位阵 输入矩阵B:[1:3;4:6;7:9] 矩阵A和矩阵B相乘的结果为: 1 2 3 4 5 6 7 8 9 除了脚本文件,Matlab中还有一种函数文件,比较一下二者的不同: function C = chengtest2(A,B) //声明,开头 C=A*B; //函数真正部分 end //结尾 因此文件要对应的命名为chengtest2,存储为chengtest2.m形式的文件。在命令行窗口下进行测试: 》》 A=eye(3); 》》 B=[1:3;4:6;7:9]; 》》 C=chengtest2(A,B) C = 1 2 3 4 5 6 7 8 9 if语句 1. 单分支if语句 if 条件 语句组 end 2. 双分支if语句 if 条件 语句组1 else 语句组2 end 3. 多分支if语句 if 条件1 语句组1 elseif 条件2 语句组2 …… elseif 条件m 语句组m else 语句组n end 当条件结果为标量时,同C语言,非0 表示条件成立,0表示条件不成立。 当条件结果为矩阵时,如果矩阵非空且不包含0元素,则条件成立,否则条件不成立。 例如:[1,2;0,4]表示条件时,条件不成立;[1,2;3,4]表示条件时,条件成立。 例1:输入一个整数,若为奇数则输出其平方根,否则输出其立方根。 x=input(‘请输入x的值:’);if rem(x,2)==1 y=sqrt(x);else y=x^(1/3);endy 以上是脚本文件中的内容,并将该脚本文件命名为if1,在命令行窗口进行执行。 》》 if1请输入x的值:8y = 2》》 if1请输入x的值:9y = 3 例2:输入一个字符,若为大写字母,则输出其对应的小写字母;若为小写字母,则输出其对应的大写字母;若为数字字符则输出其对应数的平方,若为其他字符则原样输出。 c=input(‘请输入一个字符:’,‘s’); //后面的‘s’表示格式控制,强制其是字符赋给变量cif c》=‘A’&&c《=‘Z’ disp(lower(c))elseif c》=‘a’&&c《=‘z’ disp(upper(c))elseif c》=‘0’&&c《=‘9’ disp(str2double(c)^2) //str2double 字符变double型else diso(c)end 将该脚本文件命名为if2,在命令行窗口执行如下: 》》 if2请输入一个字符:aA》》 if2请输入一个字符:8 64 switch语句 switch 表达式 case 结果1 语句组1 case 结果2 语句组2 …… case 结果m 语句组m otherwise 语句组n end 切记:case 结果和语句组不能放在同一行,要放在分开的两行。 switch表达式应该是一个其值可以列举的表达式。 case结果表为 switch表达式的取值,当取值有多个时,用单元数据表示 和C最大的不同就是,不需要break了,Matlab中不会默认向后执行。 例3:读程序 脚本文件switch1.m如下: x=input(‘x=’); switch fix(x) case 2 disp(111); case 2 disp(222); case {3,4,5} //这里和C也有不同,可以用集合表示取值有多个的情况。 disp(333); otherwise disp(444); end 在命令行窗口进行执行进行测试: 》》 switch1 x=2 111 //可以看出虽然有两个case 2,但后者出现的已经没用了。 》》 switch1 x=3 333 》》 switch1 x=4 333 》》 switch1 x=9 444 表示多个取值对应一个case时,上面代码中的case {3,4,5} 中的{3,4,5} 实际上是一个cell数组。 一般矩阵是通过 A=[1,2,3,4,5];创建的,使用中括号[ ]。而cell数组是通过{ }大括号创建的。 A={1,2,3,4,5} 例4:输入一个英文单词,判断它是否以元音字母开头。 c=input(‘请输入一个英文单词:’,‘s’); switch c(1) case {‘A’,‘E’,‘I’,‘O’,‘U’,‘a’,‘e’,‘i’,‘o’,‘u’} disp(‘该单词以元音字母开头’); otherwise disp(‘该单词以辅音字母开头’); end 脚本文件switch2.m如上,下面在命令行窗口进行测试: 》》 switch2 请输入一个英文单词:bear 该单词以辅音字母开头 》》 switch2 请输入一个英文单词:apple 该单词以元音字母开头 脚本文件如下: 》》 strfindcpp 请输入一个英文单词:apple 该单词以元音字母开头 》》 strfindcpp 请输入一个英文单词:bear 该单词以辅音字母开头 下面在命令行窗口进行测试: 》》 strfindcpp 请输入一个英文单词:apple 该单词以元音字母开头 》》 strfindcpp 请输入一个英文单词:bear 该单词以辅音字母开头 strfind函数中前面是主串,后面是子串,当子串不在主串中时,返回空矩阵 [ ] ,当子串在主串中时,返回子串第一个字母在主串中的下标。 例5 PM2.5是指大气中直径小于或等于2.5微米的可入肺颗粒物是衡量空气质量的重要指标。假定空气质量等级以PM2.5数值划分为6级。 PM2.5数值在[0,35)空气质量为优,[35,75)为良,[75,115)为轻度污染,[115,150)为中度污染,[150,250)为重度污染,大于等于250为严重污染。 编写程序,输入PM2.5的数值(假设均为整数),输出空气质量等级。 g=input(‘请输入PM2.5的值:’); switch fix(g) case num2cell(0:34) disp(‘空气质量优’); case num2cell(35:74) disp(‘空气质量良好’); case num2cell(75:114) disp(‘轻度污染’); case num2cell(115:149) disp(‘中度污染’); case num2cell(150:249) disp(‘重度污染’); otherwise disp(‘严重污染’); end //经过实践,case语句和下面的disp语句一定不能放在同一行,不然会出错。 脚本文件PM25.m如上,下面在命令行窗口进行测试: 》》 PM25 请输入PM2.5的值:115 中度污染 》》 PM25 请输入PM2.5的值:250 严重污染 辨析: 》》 num2cell(0:5) ans = 1×6 cell 数组 {[0]} {[1]} {[2]} {[3]} {[4]} {[5]} 》》 (0:5) ans = 0 1 2 3 4 5 》》 [0:5] ans = 0 1 2 3 4 5 》》 num2cell[0:5] num2cell[0:5] ↑ 错误: 圆括号或方括号不对称或异常。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1617 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1543 浏览 1 评论
977 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
683 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1595 浏览 2 评论
1863浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
645浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
516浏览 3评论
532浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
505浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 09:55 , Processed in 0.813580 second(s), Total 78, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号