Matlab

您所在的位置:网站首页 matlab中符号运算与数值运算的区别 Matlab

Matlab

2023-09-22 01:31| 来源: 网络整理| 查看: 265

如果使用matlab的过程中,出现以下错误:

Error:Matlab ||和&&运算符的操作数必须能够转换为逻辑标量值

解决:||和&&为值运算, |与&为向量运算,改为|与&。

比如:

clc;clear all;close all; % y=zeros(1,200); x=-0.1:0.001:0.1 % for Es=2*10^5; %钢筋的弹性模量Es(N/mm2) fy=375; %纵筋屈服强度 ey=fy/Es; %纵筋屈服应变 fu=635.6; %纵筋峰值强度 ks1=4.0; ks2=25.0; ks3=40.0; ks4=fu/fy; %%%---------------钢筋参数--------------------- %钢筋拉伸和压缩应力应变情况一致。 %主要为钢筋的四个阶段:完全弹性阶段——非线性弹性阶段——屈服阶段——破坏 % if ((x>-ey)&&(xey)&&(x=-ks1*ey)&&(xks1*ey)&&(x-ks3*ey)&&(xey)&&(x10 %Do Something end if 与 if flag=denum~=0 & num/denum>10 %Do Something end if

执行的结果一样

其实吧,意义上与C语言相同,&&只能用于逻辑‘与’,结果真有真假,若要表示运算‘与’,应用&。 更一般的“逻辑与(&&) 逻辑或(||)”

逻辑与操作可以应用到任何类型的操作数,而不仅仅是布尔值。在有一个操作数不是布尔值的情况下,逻辑与操作就不一定返回布尔值;因此,遵循下列规则:

如果第一个操作数是对象,则返回第二个操作数;如果第二个操作数是对象,则只有在第一个操作数的求值结果为true 的情况下才会返回该对象;如果两个操作数都是对象,则返回第二个操作数;如果有一个操作数是null,则返回null;如果有一个操作数是NaN,则返回NaN;如果有一个操作数是undefined,则返回undefined;

逻辑与操作属于短路操作,既如果第一个操作数能够决定结果,那么就不会对第二个操作数求值。对于逻辑与操作而言,如果第一个操作数是false,则无论第二个操作数是什么值,结果都不可能是true了。来看下面的例子:

var found = true; var result = (found&&someUndefinedVariable); console.log(result);

上述代码执行过程中会发生代码错误,因为变量 someUndefinedVariable 没有声明。由于变量found的值是true,所以逻辑与操作符会继续对变量someUndefinedVariable求值。但是someUndefinedVariable 尚未定义,因此就会导致错误。当found = false,时代码就不会出现错误

逻辑与 || 与逻辑与操作相似,如果有一个操作数不是布尔值,逻辑与也不一定返回布尔值;此时,它遵循下列规则

如果第一个操作数是对象,则返回第一个操作数如果第一个操作数的求值结果是false,则返回第二个操作数如果两个操作数都是对象,则返回第一个操作数如果两个操作数都是null,则返回null如果两个操作数都是NaN,则返回NaN如果两个操作数都是undefined,则返回undefined


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3