概述
以前在脚本中程序是按照顺序来执行的,限制性第一行,再执行第二行…
但有时想要根据不同的情况执行不同的语句这就要用到判断语句if了.
if语句的表达形式相当于:如果…那么…
表达形式为:
if condition %condition就相当于执行一个动作的条件,
输出的结果其实是逻辑判断 true 1或者false 0,
以此来选择是否执行action
action %如果condition是true 1,则action将会被执行,
如果condition是false 0,则直接跳到end
end
如:输入一个数,如果它小于零,则让该值变成绝对值
num=-4
if num < 0
num = abs(num)
end
如:输入一个数,如果它小于零,则让该值变成绝对值
num=input('请输入一个数: ');
fprintf('%f 的绝对值是 %fn',num,abs(num)')
num=input('请输入一个数: ');
abs_num = abs(num)
fprintf('%f 的绝对值是 %fn',num,abs_num')
num=input('请输入一个数: ');
if num < 0
abs_num = abs(num)
end
disp('ok,我们取该负数的绝对值')
fprintf('%f 的绝对值是 %fn',num,abs_num')
检测一个数是否是大于100的,如果是大于100的话输出:该数超出100了
num = input('please input a number: ');
if num > 100 ;
disp('这个数超出100了')
end
输入两个数a和b,检测如果a<b则输出a,a+1,a+2,a+3…b;
如果 a > b则输出b,b+1,b+2,b+3…a;
如果 a = b则输出1
a = input('please input a number a:');
b = input('please input a number b:');
if a < b
v = a:b
end
if a > b
v = b:a
end
if a == b
v = 1
end
%建立一个脚本
function v = seq(a,b)
if a < b
v = a:b
end
if a > b
v = b:a
end
if a == b
v = 1
end
% 然后在命令行窗口里输入seq(number1,number2)即可调用该脚本
输入两个数a和b,从两个数中最小的,每次加1,一直到两数中最大的。
%建立一个新的seq_2的脚本
function v = seq(a,b)
min(a,b):max(a,b)
end
创建一个自动回复脚本,如果输入的是Y,则输出positive command received。如果输入的是N,则输出negative command received。
%在脚本里创建AutoReply
function AutoReply
Reply = input('please input a Reply N/Y: ','s') %使用input语句时matlab期望输入的是一个数字,如果是个字符的话需要告诉matlab,因而要加上's'即是.
if Reply == 'N' %在if之后需要紧跟condition,不能空到下一行
disp('Positive command received')
end
if Reply == 'Y'
disp('Negatave command received')
end
end
上一个自动回复脚本中,只能输入N和Y,如果想让其识别大小写,则在condition里加一个“或”即可,但是不能为if Reply == ‘N’ || ‘n’
function AutoReply
Reply = input('please input a Reply N/Y: ','s')
if Reply == 'N'|| Reply =='n'
disp('Positive command received')
end
if Reply == 'Y'|| Reply =='y'
disp('Negatave command received')
end
end
不能为if Reply == ‘N’ || 'n’的原因是:
因为matlab是按顺序从左到右依次处理的,if是按照logical处理的,而logical里的所有字符都会输出true1。因而相当于是直接执行action.
具体可看如下:无论a取多少是不是1或2,logical(a=1||2)输出都是true1。
其实语句的意思应该是a等于1或a等于2,而不是a等于1或2.
最后
以上就是默默小蝴蝶为你收集整理的Matlab中条件语句if详解的全部内容,希望文章能够帮你解决Matlab中条件语句if详解所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复