学习目标:
1.学习经常使用的运算方法
下面首先我们来比较 大于,小于,等于,不等于
a=7>5
b1=rand(2,2)
b2=b1>=0.6
b3=b1<=0.7
c1=eq(b2,b3)
c2=b2~=b3
第一行是确认 7是否大于5,结果是true,所以值为1.
第二行是创立2X2的随机矩阵b1
第三行是判断矩阵b1里面那些值大于0.6
第四行是一个意思。
第五行是判断b2和b3是否相等。
最后一行是进行一个比较,判断b2和b3是否不想等。
接下来说明 与或非
A = rand(2,2)
B=A>0.8
C=A<0.2
d1=B&C
d2=B|C
d3=~B
d4=xor(B,c)
首先随机创建一个矩阵A
然后逻辑矩阵B和C
之后d1的符号代表与,d2的符号代表或,d3的符号代表非,d4的符号代表xor。
接下来是快速逻辑和逻辑的区别。
a = 0;
(a>0)&&(6/a>3)
(a>0)&(6/a>3)
&&代表快速逻辑,它先看第一个条件如果不满足,就不看第二个条件。
&代表逻辑,它先看第一个条件如果不满足,它也看第二个条件。
下面是一个比较陌生的例子。
a = 12
b = 56
c1 = dec2bin(a)
c2 = dec2bin(b)
d1 = bitand(a,b)
d2 = dec2bin(bitand(a,b))
d3 = dec2bin(bitor(a,b))
首先创建a,b的参数值。
然后语法dec2bin转换成二进制数。
bitand表示的是按位与
下面一行又是转换成二进制
最后一行是转换成按位或
接下来是运算顺序,比较简单的讲解一下。
a=3*2>=4
b=5*3:19
c=2*4^2
首先a是先乘法后比较
b是先乘法,在从15:19(15 16 17 18 19)
c是先乘方,后乘法
接下来是说明如何求积分、
首先是单积分求解
syms x;
f = inline('1./(sin(x)+exp(-x.^2))')
y = quad(f,0,1.1)
y1 = quad(@myfun1,0,1.1)
y2 = quad(@myfun1,0,1.1,1.e-10)
首先是用语法syms,设定自变量x
接下来是用语法inlie内联函数来表示要求的函数数学式。
之后要调用quad函数来求积分,范围是0~1.1
然后呢如果用到@myfun1函数句柄,那么首先我们需要创建一个myfun1的文件,然后在里面输入
function y = myfun1(x)
y = 1./(sin(x)+exp(-x.^2));
这样刚才上面的一句话,就可以求解积分。最后一行多出来的东西,表示的是精度。
最后想补充的是 ,如果用quadl精度会更高,速度会更快。
接下来是双重积分求解
syms x;
f = inline('x*cos(y)+y*sin(x)','x','y');
y = dblquad(f,pi,2*pi,0,pi )
y1=dblquad(@integrnd,pi,2*pi,0,pi)
和上面基本上差不多,首先定义自变量x
然后内联函数表示 要求的双重积分数学公式。
然后用dblquad函数来求解,其中x的范围是pi~2*pi,y的范围是0~pi。
同样的也可以用函数句柄来对它求解。需要创建integrnd文件。
接下来是三重积分求解
f = inline('z*cos(x)+y*sin(x)','x','y','z');
q = triplequad(f,0,pi,0,1,-1,1)
q1 = triplequad(@(x,y,z) (y*sin(x)+z*cos(x)),0,pi,0,1,-1,1)
和上面基本上是一样的,没有设置自变量,直接求积分。