北师MATLAB课件实验课一

上传人:w****i 文档编号:92746599 上传时间:2019-07-12 格式:PPT 页数:13 大小:400.50KB
返回 下载 相关 举报
北师MATLAB课件实验课一_第1页
第1页 / 共13页
北师MATLAB课件实验课一_第2页
第2页 / 共13页
北师MATLAB课件实验课一_第3页
第3页 / 共13页
北师MATLAB课件实验课一_第4页
第4页 / 共13页
北师MATLAB课件实验课一_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《北师MATLAB课件实验课一》由会员分享,可在线阅读,更多相关《北师MATLAB课件实验课一(13页珍藏版)》请在金锄头文库上搜索。

1、数学模型实验课(一),函数、图像、方程,管道包扎问题: 如果知道直圆管道的长度,用缠绕的方法包扎管道,需用多长的带子? 设管道长 L = 30m , 圆管截面周长 C = 50cm, 带子宽 W = 30cm,则最少要用多长M的带子才能将管道缠绕包扎上? 现有带长M=51m,计划将这条带子全部用来缠绕包扎上面的管道。缠绕时允许带子互相重叠一部分。应该如何包扎这个管道?(计算结果精确到0.001),1.1 函数及其图像,一、函数值及图像 初等函数数值直接表示: 幂函数 sqrt sin asin tan exp log 1. 求连续函数在一点函数值 sin(2) 2.求函数在一列点上的值 x=1

2、:6;y=x.2+sin(x); 3. 画函数的图像 plot(x,y),grid,进一步: 二元函数的定义、求值、画图 x=-3:0.1:3;y=x; X,Y=meshgrid(x,y); Z=X.2+cos(4.*Y); surf(X,Y,Z); mesh(X,Y,Z); 尝试meshc,meshz,surfc,surfl ezsurf(x.2 +sin(y),二、自定义函数 (1)定义内联函数 fun=inline(x2+y2,x,y); (2)函数句柄 fun=(x,y) x.2+sin(y); (3)建立M函数文件 在Matlab命令窗口的File菜单中选择New命令,出现子菜单,

3、选择m-file的命令,将得到M文件的编辑窗口 编辑M文件:可以是一段程序或一个函数。 编辑完成后,在此窗口的File菜单中选择save as的命令,得到对话 框,输入文件名 *.m,三、函数运算求函数值,fun(3) x=-0.5 0 0.8 18; fun(x); feval(fun,3) 求初等函数在一列点上的函数值 function y=fun(x) y=x2+sin(x); Save as fun.m x=1:10; eval(x.2+sin(x) fvec=vectorize(fun) feval(fvec,x),问题 1:设管道长L=30m,圆管截面周长 C=50cm, 如果带子

4、宽W=30cm, 用缠绕的方法包扎管道,最少要用多长带子才能将管道包上 模型: 所需要的带子长度为 function y=fun(x) y=30.*0.5./x+sqrt(0.5.2-x.2); Save as fun.m fun(0.3) 50.4000,1.2 求解函数方程 问题2 现有带子长M=51cm,计划将这条带子全部用来缠绕包扎上面的管道,缠绕时允许带子互相重叠一部分,应该如何包扎这个管道。 建模:令在包扎时除去重叠部分后带子的宽度为W,则应该有关系 求解. 上述问题可以转化为求函数 的零点,1. 直接求一元函数的零点 %用内联函数求零点 fun=inline(51-30*0.5/

5、w-sqrt(0.52-w2),w); w0=fzero(fun,0.3) %用函数文件求零点 function y=fun1(w) y=51-30*0.5/w-sqrt(0.52-w2); w0=fzero(fun1,0.3) 2. 图像求解 x=0.001:0.0001:0.5; fun2=vectorrize(fun1);y=fun2(x) plot(x,y),grid,3.用循环语句迭代求解 n=0.25; while fun1(n)=0, n=n+0.001; end; n; %用循环语句搜寻零点。因为随着带宽的减小,带长增加,一旦带长超过51米则停止搜寻,为使零点的精度达到0.00

6、1,取搜寻的步长为0.001。 for i=1:100 w=0.3-0.001*i; y=30*0.5/w+sqrt(0.52-w2); if y =51 w0=w, break; end; end; w0,4. 二元函数方程组求解 画等高线图搜寻两个函数的公共零点的近似值 取近似的公共零点作为初值,求精确坐标,练习 二分法求解方程零点,运用二分法求函数F(x)=x-2(1/x)的零点 分析:F(1)=-10. 由连续函数性质知存在x*(1,2),使得 F(x*)=0 二分法算法伪代码: step0: Let x0=1,y0=2 step i: Let c=(xi-1+yi-1)/2, if f(c)=0, then x*=c, end elseif f(c)0, then xi=xi-1,yi=c, otherwise xi=c,yi=yi-1, if yi-xi0.001,then x*=(xi+yi)/2, end otherwise go next step 写出Matlab程序,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号