matlab if语句

function dh=jiangyu (t,h)

%降雨量的表达式

if t<=400

a=6*12*(0.122*10^(-3)-abs(0.00061*t*10^(-3)-0.122*10^(-3)))*cos(pi/9);

else

a=0;

end

%液面高度微分方程中的其他部分:

b=0.7*pi*(0.05)^2*sqrt(2*9.81*h);

c=2*12*sqrt(0.15*h-h^2);

%使结果符合客观事实,增加下面的判定

z=isreal((a-b)/c);

%如果液面高度正常为大于零的数,便按所设微分方程求解

if z==1

dh=(a-b)/c;

%如果液面高度小于零,且此时不再下雨,则液面不再变化

elseif (z==0 & a==0)

dh=0;

%如果液面高度小于零,但仍然下雨,则液面将会上升,速度为下式

else

h=0.0001;

dh=(a-b)/c;

end

end

你的判断等于要改成 ==

没有and这个用法的,用&

表并列直接回车就行了

你的c可能是虚数,注意~

在matlab 中if 语句

这个问题有点怪,

第一个问题,如果你是为了显示的目的,建议你使用字符串的形式,因为matlab自动会把0000省略成0的。

a='0000';

若要用里面的数值,则可用一个函数转过来str2num(a)=0;

第二个问题,看你的表示应该是判断吧,可以用下面的语句实现你要的功能:

a=[(a>=10)]

第三个问题,如何把.M文件导成.dat文件,你说的是导出结果数据吗?我还没有听说过直接把M文件变成dat文件。如果是导出数据的话,可以使用fprintf函数。fprintf 使用例子:

x = 0:.1:1; y = [x; exp(x)];

fid = fopen('exp.txt','w');

fprintf(fid,'%6.2f %12.8f\n',y);

fclose(fid);

matlab if else语句怎么用

1、先打开软件,点击左上角进行新建脚本,即创建一个m文件,打开编译界面后,先将此m文件进行保存,注意命名规则,只能用英文加下划线。

2、对于只用两种情况的问题,则只用到else即可,第一个if说明情况一,else说明不满足情况一的所有其他情况。注意结尾要加end,不然如图命令提示所示,会报错。

3、对于多个情况,可设置多个判断,对于有新判断条件的情况用elseif添加,下图所示,为3种情况,根据a的值,运行后满足第二种情况。

4、对于其他情况,如果判断出符合这种情况可以不写,如符合else条件,但是不用执行程序,则可连else都不写,也可写上,只是后面不写执行语句,程序也不会报错,对于elseif、if也是,不需执行程序,也可写上条件判断语句,但是不写下一步语句,也可以。

5、接着用多级if语句创建了下图多级判断程序,可以实现根据输入的字母,输出对应参数b的值,而且不会区分字母大小写,因为同一判定条件加入了字母大小写形式。但是如果条件再多,程序将会无限延长,可以用其他思路,进行解决。

6、这里采用数组预先储存判断条件,及参数b的值,因为条件相同,用for循环加上一条条件判断,即可实现多级条件功能。但是要注意,条件形式要相同,否则不能写成统一形式。这样如何使用,及一种可行的替换思路,介绍完成。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐