MATLAB编程与作图
2.开关结构:switch语句 其语语句组1 case 表达式2 语句组2 …… case 表达式m 语句组m otherwise 语句组m+1 end
例3. 某商场对顾客所购买的商品实行打折销售,
已知打折标准为: 商品价格小于200元时,折扣率为0; 商品价格大于或等于200元且小于500时,折扣率为0.03; 商品价格大于或等于500且小于1000元时,折扣率为0.05; 商品价格大于或等于1000且小于2500元时,折扣率为0.08; 商品价格大于或等于2500且小于5000元时,折扣率为0.1; 商品价格大于或等于5000元时,折扣率为0.14; 求所售商品的实际销售价格。
如
>> format short 示5位 >> pi
ans = 3.1416 >> format long 15位 >> pi ans = 3.14159265358979 %设置定点格式,显示
%设置定点格式,显
关系与逻辑运算
1. 关系操作符
关系操作符 < <= > >= == ~= 说明 小于 小于或等于 大于 大于或等于 等于 不等于
2. 逻辑运算符
逻辑操作符 & ︱ ~
说明 与 或 非
• • • • • • •
MATLAB流程控制 循环语句 for, while 条件转移 if end, if elseif else end 开关语句 switch case 注释语句 % 中断语句 break 暂停语句 pause 回显语句 echo on/off
y= 47.1893
3.多分支if语句 语句格式为: if 条件1 语句组1 else if 条件2 语句组2 …… else if 条件m 语句组m else 语句组m+1 end
例2. 输入一个字符,若为大写字母,则输出其
后继字符,若为小写字母,则输出其前导字符, 若为数字字符则输出其对应的数值,若为其他 字符则原样输出。
例1. 计算分段函数值 程序如下: 1.m
2 cos( x 1) x 1, x 10 y x x x , x 10
>> x=input('请输入x的值:'); if x==10 y=cos(x+1)+sqrt(x*x+1); else y=x*sqrt(x+sqrt(x)); end y 请输入x的值: 12
Price.m
请输入商品价格890
price =
845.5000
3. try语句 语句格式为: try 语句组1 catch 语句组2 end try语句先试探性执行语句组1,如果语句组1在 执行过程中出现错误,则将错误信息赋给保留 的lasterr变量,并转去执行语句组2。这种试探 性执行语句是其他高级语言所没有的。
程序如下
>>price=input('请输入商品价格'); switch fix(price/100) case {0,1} rate=0; case {2,3,4} rate=3/100; case {5:9} rate=5/100; case {10:24} rate=8/100; case {25:49} rate=10/100; otherwise rate=14/100; end price=price*(1-rate)
选择结构
1. if语句 在MATLAB中,if语句有3种格式。 1.单分支if语句 语句格式为: if 条件 语句组 end 当条件成立时,则执行语句组,执行完之 后继续执行if语句的后继语句,若条件不成立, 则直接执行if语句的后继语句。
2.双分支if语句 语句格式为: if 条件 语句组1 else 语句组2 end 当条件成立时,执行语句组1,否则执行语句组 2,语句组1或语句组2执行后,再执行if语句的 后继语句。
数学实验
MATLAB编程与作图
数据的输出格式 • MATLAB用十进制数表示一个常数,具体可 采用日常记数法和科学记数法两种表示方法。 • 数据输出时用户可以用 format 命令设置或改 变 数 据 输 出 格 式 。 format 命 令 的 格 式 为 : format 格式符 • 注意, format 命令只影响在屏幕上的显示数 据输出格式,而不影响数据的计算和存 储 ,MATLAB 的数据存储和运算总是以双精 度进行的。
可用菜单File/Preferences中的Command Window 里的Numarical Format来设定数据显示方式,有 short(小数点后4位), long(15位数字), bank(小数点后2位), short e(5位科学计数法), long e(15位科学计数法), rat(最接近的有理数). 也可在Command Window中用命令设置,例如: format long
format short :5位定点格式,如 1.4142 format long :15位定点格式,如 1.41421356237310 format short e :5位浮点,如1.4142e+000 format long e :15位浮点,如 1.414213562373095e+000 format short g :5位定点或浮点取优,如1.4142 format long g:15位定点或浮点取优,如 1.4142135623731 format hex :十六进制数,如3ff6a09e667f3bcd format bank :货币格式,如1.41 format rat :分数之比,如1393/985 format +:若为正数则显示+,若为负数则显示-,若为0 则显示空
程序如下:
2.m
c=input('请输入一个字符','s'); if c>='A' & c<='Z' disp(setstr(abs(c)+1)); elseif c>='a'& c<='z' disp(setstr(abs(c)-1)); elseif c>='0'& c<='9' disp(abs(c)-abs('0')); else disp(c); end