数学建模---Matlab学习笔记

 1.经典例题

(1)判断质数

给定一个大于100的数字,判断是否为质数

先设定布尔值是true,也就是假设这个数字是质数,利用for循环进行遍历直到n-1,如果被任意的数字整除,就说明不是质数,我们就把布尔值修改为false,最后输出布尔值,0表示不是质数;

(2)蒙特卡罗模拟求解小猫走出山洞的平均时间

我们首先设置一个行向量,把每次模拟的时间存储到这个向量里面去,我们最后要计算这个平均时间,利用循环,计算每次模拟要花费的时间,利用randi随机生成三种不同的情况,分别对应不同的时间循环,最后把时间存储到对应的T里面的下标,我们再利用mean函数求这个向量里面的所有数据的平均值,这个就是小猫走出山洞的平均时间;

(3)二分法求解零点问题

我们这个二分法类似于变成里面的二分查找;由图像可得到,ab分别是函数图像的两个端点,二分法就是取出ab的中点c,让ac两点的函数值相乘(就是利用数学里面的零点存在定理),如果结果小于0,说明c这个点处的函数值大于0,我们要把函数的零点存在区间缩小到ac之间(体现在代码里面就是赋值);

如果结果大于0,说明c点处的函数值也是小于0的,我们就要把零点的存在区间缩小到cb之间,按照这样依次进行下去;

因为题目给了误差的范围是10的负8次方,我们使用epsilon表示这个阈值,c点的函数值的绝对值小于这个阈值,说明我们就已经找到了零点的坐标,否则就一直进行下去;

2.try-catch语句

示例1:这个地方显然是无法进行运算的,我们直接运算就会报错,使用try-catch语句就不会报错,而是显示相应的提示信息;这个就类似于其他编程语言里面的assert断言

示例2:M是一个4*4的方阵,我们想要取出来这个方阵的第r行数据,如果r小于4的话我们肯定是能够正常取出来的,但是我们的r大于4,就会报错,我们使用try-catch语句,如果越界,就让他返回一个空向量,这个时候我们的6已经越界了,所以会返回一个空向量;

下面我们介绍一个函数lasterr,这个函数可以打印错误信息,显示在输出栏里面(高版本的MATLABcatch语句的后面默认的ME一个名称,只有程序错误的时候才会走进catch语句里面去,我们可以使用ME查看相应的错误信息,查看的方法涉及到面向对象的编程思想,实际上ME里面有很多的信息,我们使用ME.message就可以看到对应的错误信息,但是显然没有我们的函数lasterr方便查看错误)。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值