Matlab学习笔记(4)

学习目标:

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)

和上面基本上是一样的,没有设置自变量,直接求积分。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值