MATLAB数学实验A

合集下载

Matlab数学实验

Matlab数学实验

一、求下列方程的根1、5510x x ++=7、42254x dx x+⎰8.0sin 2x e xdx +∞-⎰二、综合题1.求由参数方程arctan x y t⎧⎪=⎨=⎪⎩dy dx 与二阶导数22d y dx 。

2.设函数y =f (x )由方程xy +e y = e 所确定,求y ′(x )。

3. 08x =展开(最高次幂为)4.求变上限函数x x ⎰对变量x 的导数。

5.求点(1,1,4)到直线L :31102x y z --==- 的距离 6、求矩阵211020413A -⎛⎫ ⎪= ⎪ ⎪-⎝⎭的逆矩阵1A - 及特征值和特征向量。

7、求二重极限1y x y →→《Matlab 数学实验》一、求下列方程的根1、5510x x ++=a=solve('x^5+5*x+1',0);a=vpa(a,6)a =1.10447+1.05983*i-1.00450+1.06095*i-.199936-1.00450-1.06095*i1.10447-1.05983*i7、42254x dx x+⎰ >> sym x;>> int(x^4/(25+x^2),x)ans =125*atan(x/5) - 25*x + x^3/38.0sin 2x e xdx +∞-⎰>> syms x;>> y=exp(-x)*sin(2*x);>> int(y,0,inf)ans =2/5二、综合题1求由参数方程arctan x y t ⎧⎪=⎨=⎪⎩dy dx 与二阶导数22d y dx 。

>> syms t>> x=log(sqrt(1+t^2));y=atan(t);>> diff(y,t)/diff(x,t)ans =1/t2.设函数y =f (x )由方程xy +e y = e 所确定,求y ′(x )。

matlab数学实验

matlab数学实验

《管理数学实验》实验报告班级姓名实验1:MATLAB的数值运算【实验目的】(1)掌握MATLAB变量的使用(2)掌握MATLAB数组的创建,(3)掌握MA TLAB数组和矩阵的运算。

(4)熟悉MATLAB多项式的运用【实验原理】矩阵运算和数组运算在MA TLAB中属于两种不同类型的运算,数组的运算是从数组元素出发,针对每个元素进行运算,矩阵的运算是从矩阵的整体出发,依照线性代数的运算规则进行。

【实验步骤】(1)使用冒号生成法和定数线性采样法生成一维数组。

(2)使用MA TLAB提供的库函数reshape,将一维数组转换为二维和三维数组。

(3)使用逐个元素输入法生成给定变量,并对变量进行指定的算术运算、关系运算、逻辑运算。

(4)使用MA TLAB绘制指定函数的曲线图,将所有输入的指令保存为M文件。

【实验内容】(1)在[0,2*pi]上产生50个等距采样数据的一维数组,用两种不同的指令实现。

0:(2*pi-0)/(50-1):2*pi 或linspace(0,2*pi,50)(2)将一维数组A=1:18,转换为2×9数组和2×3×3数组。

reshape(A,2,9)ans =Columns 1 through 71 3 5 7 9 11 132 4 6 8 10 12 14Columns 8 through 915 1716 18reshape(A,2,3,3)ans(:,:,1) =1 3 52 4 6ans(:,:,2) =7 9 118 10 12 ans(:,:,3) =13 15 17 14 16 18(3)A=[0 2 3 4 ;1 3 5 0],B=[1 0 5 3;1 5 0 5],计算数组A 、B 乘积,计算A&B,A|B,~A,A= =B,A>B 。

A.*Bans=0 0 15 121 15 0 0 A&Bans =0 0 1 11 1 0 0 A|Bans =1 1 1 11 1 1 1~Aans =1 0 0 00 0 0 1A==Bans =0 0 0 01 0 0 0A>=Bans =0 1 0 11 0 1 0(4)绘制y= 0.53t e -t*t*sin(t),t=[0,pi]并标注峰值和峰值时间,添加标题y= 0.53t e -t*t*sint ,将所有输入的指令保存为M 文件。

高等数学:MATLAB实验

高等数学:MATLAB实验
以上两种格式中的x、y都可以是表达式.plot是绘制二维 曲线的基本函数,但在使用 此函数之前,需先定义曲线上每一 点的x及y的坐标.
MATLAB实验
2.fplot绘图命令 fplot绘图命令专门用于绘制一元函数曲线,格式为:
fplot('fun',[a,b]) 用于绘制区间[a,b]上的函数y=fun的图像.
MATLAB实验 【实验内容】
MATLAB实验
由此可知,函数在点x=3处的二阶导数为6,所以f(3)=3为 极小值;函数在点x= 1处的二阶导数为-6,所以f(1)=7为极大值.
MATLAB实验
例12-10 假设某种商品的需求量q 是单价p(单位:元)的函 数q=12000-80p,商 品的总成本C 是需求量q 的函数 C=25000+50q.每单位商品需要纳税2元,试求使销售 利润达 到最大的商品单价和最大利润额.
MATLAB实验
MATLAB实验
MATLAB实验
MATLAB实验
MATLAB实验
MATLAB实验
MATLAB实验
MATLAB实验
MATLAB实验 实验九 用 MATLAB求解二重积分
【实验目的】 熟悉LAB中的int命令,会用int命令求解简单的二重积分.
MATLAB实验
【实验M步A骤T】 由于二重积分可以化成二次积分来进行计算,因此只要
MATLAB实验
MATLAB实验
MATLAB实验
MATLAB实验
MATLAB实验
实验七 应用 MATLAB绘制三维曲线图
【实验目的】 (1)熟悉 MATLAB软件的绘图功能; (2)熟悉常见空间曲线的作图方法.
【实验要求】 (1)掌握 MATLAB中绘图命令plot3和 mesh的使用; (2)会用plot3和 mesh函数绘制出某区间的三维曲线,线型

MATLAB数学实验

MATLAB数学实验

实验三 圆周率的计算学号: 姓名:XX一、 实验目的1. 本实验涉及概率论、定积分、三角函数等有关知识,要求掌握计算π的三种方法及其原理。

2. 学习和掌握数学软件MATLAB 的使用方法。

二、 实验内容圆周率是一个极其驰名的数。

从有文字记载的历史开始,这个数就引起了外行人和学者们的兴趣。

作为一个非常重要的常数,圆周率最早是出于解决有关圆的计算问题。

仅凭这一点,求出它的尽量准确的近似值,就是一个极其迫切的问题了。

事实也是如此,几千年来作为数学家们的奋斗目标,古今中外一代又一代数学家为此献出了自己的智慧和劳动。

回顾历史,人们对π的认识过程,反映了数学和计算技术发展情形的一个侧面。

π的研究,在一定程度上反映这个地区或时代的数学水平。

德国数学家康托说:“历史上一个国家所算的圆周率的准确程度,可以作为衡量这个国家当时数学发展水平的指标。

”直到19世纪初,求圆周率的值还是数学中的头号难题。

1. 圆周率的计算方法古人计算圆周率,一般是用割圆法。

即用圆的内接或外切多边形来逼近圆的周长。

Archomedes 用正96边形得到35位精度;刘徽用正3072边形得到5位精度;Ludolph V an Ceulen 用正2^62边形得到了35位精度。

这种基于几何的算法计算量大,速度慢,吃力不讨好。

随着数学的发展,数学家们在进行数学研究时有意无意得发现了许多计算圆周率的公式。

下面挑选一些经典的常用公式加以介绍。

除了这些经典公式外,还有很多其他公式和由这些经典公式衍生出来的公式,就不一一列举了。

1) Machin 公式2391a r c t a n451a r c t a n 16-=π ()121...753arctan 121753--++-+-=--n x x x x x x n n 这个公式由英国天文学教授John Machin 于1706年发现。

他利用这个公式计算到100位的圆周率。

Machin 公式每计算一项可以得到1.4位的十进制精度。

MATLAB数学实验答案(全)

MATLAB数学实验答案(全)

MATLAB数学实验答案(全)第⼀次练习教学要求:熟练掌握Matlab 软件的基本命令和操作,会作⼆维、三维⼏何图形,能够⽤Matlab 软件解决微积分、线性代数与解析⼏何中的计算问题。

补充命令vpa(x,n) 显⽰x 的n 位有效数字,教材102页fplot(‘f(x)’,[a,b]) 函数作图命令,画出f(x)在区间[a,b]上的图形在下⾯的题⽬中m 为你的学号的后3位(1-9班)或4位(10班以上) 1.1 计算30sin limx mx mx x →-与3sin lim x mx mxx →∞-syms xlimit((902*x-sin(902*x))/x^3) ans =366935404/3limit((902*x-sin(902*x))/x^3,inf)//inf 的意思 ans = 0 1.2 cos1000xmxy e =,求''y syms xdiff(exp(x)*cos(902*x/1000),2)//diff 及其后的2的意思 ans =(46599*cos((451*x)/500)*exp(x))/250000 - (451*sin((451*x)/500)*exp(x))/250 1.3 计算221100x y edxdy +??dblquad(@(x,y) exp(x.^2+y.^2),0,1,0,1)//双重积分 ans = 2.13941.4 计算4224x dx m x +? syms xint(x^4/(902^2+4*x^2))//不定积分 ans =(91733851*atan(x/451))/4 - (203401*x)/4 + x^3/12 1.5 (10)cos ,x y e mx y =求//⾼阶导数syms xdiff(exp(x)*cos(902*x),10) ans =-356485076957717053044344387763*cos(902*x)*exp(x)-3952323024277642494822005884*sin(902*x)*exp(x)1.6 0x =的泰勒展式(最⾼次幂为4).syms xtaylor(sqrt(902/1000+x),5,x)//泰勒展式 ans =-(9765625*451^(1/2)*500^(1/2)*x^4)/82743933602 +(15625*451^(1/2)*500^(1/2)*x^3)/91733851-(125*451^(1/2)*500^(1/2)*x^2)/406802 + (451^(1/2)*500^(1/2)*x)/902 +(451^(1/2)*500^(1/2))/500 1.7 Fibonacci 数列{}n x 的定义是121,1x x ==12,(3,4,)n n n x x x n --=+=⽤循环语句编程给出该数列的前20项(要求将结果⽤向量的形式给出)。

数学软件MATLAB实验报告 实验一

数学软件MATLAB实验报告 实验一

实验一:了解数学软件MATLAB实验目的与要求:了解MATLAB的基本特点,掌握MATLAB界面上的主要窗口,熟练掌握MATLAB的帮助系统。

实验内容:1启动按钮打开MATLAB主界面以后,单击“Start”按钮,显示一个菜单,利用“START”菜单机器子菜单中的选项,打开MATLAB的有关工具。

2命令窗口命令窗口(Command Window)是用于输入数据,运行MA TLAB函数和脚本并显示结果的主要工具之一。

命令窗口没有打开时,从“Desktop”菜单中选择“Command Window”选项可以打开它。

在命令窗口中键入命令并执行:a=[123;456;789]在上述语句末尾加分号“;”,结果是什么?请与不加分号的情况作比较。

功能。

命令历史窗口(command history)显示命令窗口中最近输入的所有语句。

先关闭历史窗口,再分别用“Desktop”菜单打开它和用command history命令打开它。

(1)将命令历史窗口中的语句复制到命令窗口中;(2)直接双击命令历史窗口中的语句。

4工作空间窗口清空工作空间的命令是:clear清空命令窗口的命令是:clc在命令窗口中键入:t=0:pi/4:2*piy=sin(t)在命令窗口中键入:who,看运行结果;在命令窗口中键入:whos,看运行结果;在命令窗口中键入:whos y,看运行结果。

退出MATLAB时,工作空间中的内容随之清除。

可以将当前空间中的部分或全部变量保存到一个MA T文件中,它是一个二进制文件,扩展名为.mat。

然后可以在以后使用它时载入它,请练习这一操作过程。

5帮助浏览器使用帮助浏览器可以搜索和查询所有Math Works产品的文档和演示。

帮助浏览器是集成到MA TLAB桌面的一个HTML查看器。

请打开帮助浏览器,熟悉它。

分别用Help函数和doc函数获取format函数的帮助,进而说明format函数的功能。

(完整word版)Matlab数学实验报告

(完整word版)Matlab数学实验报告

Matlab 数学实验报告一、实验目的通过以下四组实验,熟悉MATLAB的编程技巧,学会运用MATLAB的一些主要功能、命令,通过建立数学模型解决理论或实际问题。

了解诸如分岔、混沌等概念、学会建立Malthu模型和Logistic 模型、懂得最小二乘法、线性规划等基本思想。

二、实验内容2.1实验题目一2.1.1实验问题Feigenbaum曾对超越函数y=λsin(πx)(λ为非负实数)进行了分岔与混沌的研究,试进行迭代格式x k+1=λsin(πx k),做出相应的Feigenbaum图2.1.2程序设计clear;clf;axis([0,4,0,4]);hold onfor r=0:0.3:3.9x=[0.1];for i=2:150x(i)=r*sin(3.14*x(i-1));endpause(0.5)for i=101:150plot(r,x(i),'k.');endtext(r-0.1,max(x(101:150))+0.05,['\it{r}=',num2str(r)]) end加密迭代后clear;clf;axis([0,4,0,4]);hold onfor r=0:0.005:3.9x=[0.1];for i=2:150x(i)=r*sin(3.14*x(i-1));endpause(0.1)for i=101:150plot(r,x(i),'k.');endend运行后得到Feigenbaum图2.2实验题目二2.2.1实验问题某农夫有一个半径10米的圆形牛栏,长满了草。

他要将一头牛拴在牛栏边界的桩栏上,但只让牛吃到一半草,问拴牛鼻子的绳子应为多长?2.2.2问题分析如图所示,E为圆ABD的圆心,AB为拴牛的绳子,圆ABD为草场,区域ABCD为牛能到达的区域。

问题要求区域ABCD等于圆ABC的一半,可以设BC等于x,只要求出∠a和∠b就能求出所求面积。

MATLAB数学实验第二版课后练习题含答案

MATLAB数学实验第二版课后练习题含答案

MATLAB数学实验第二版课后练习题含答案课后练习题MATLAB数学实验第二版的课后练习题如下:第一章课后练习题1.编写MATLAB程序,计算并输出下列公式的结果:y = \\frac{1}{\\sqrt{2\\pi\\sigma^2}} e^{-\\frac{(x-\\mu)^2}{2\\sigma^2}}其中,x, $\\mu$, $\\sigma$ 分别由用户输入。

要求输出结果精确至小数点后两位。

答案如下:x=input('请输入 x 的值:');mu=input('请输入 mu 的值:');sigma=input('请输入 sigma 的值:');y=1/sqrt(2*pi*sigma^2) *exp(-(x-mu)^2/ (2*sigma^2));fprintf('y = %.2f\', y);2.编写MATLAB程序,求解下列方程的解:4x + y = 11\\\\x + 2y = 7答案如下:A= [4,1;1,2];B= [11;7];X=inv(A) *B;fprintf('x = %.2f, y = %.2f\', X(1), X(2));第二章课后练习题1.编写MATLAB程序,计算下列多项式的值:P(x) = x^4 - 2x^3 + 3x^2 - x + 1其中,x 由用户输入。

要求输出结果精确至小数点后两位。

答案如下:x=input('请输入 x 的值:');y=x^4-2*x^3+3*x^2-x+1;fprintf('P(%.2f) = %.2f\', x, y);2.编写MATLAB程序,绘制下列函数的图像:f(x) = \\begin{cases} x + 1, & x < 0 \\\\ x^2, & 0 \\leq x < 1 \\\\ 2x - 1, & x \\geq 1 \\end{cases}答案如下:x=-2:0.01:2;y1=x+1;y2=x.^2.* ((x>=0) & (x<1));y3=2*x-1;plot(x,y1,x,y2,x,y3);legend('y1 = x + 1','y2 = x^2','y3 = 2x - 1');总结本文提供了《MATLAB数学实验第二版》的部分课后练习题及其答案。

MATLAB数学实验100例题解

MATLAB数学实验100例题解

一元函数微分学实验1 一元函数的图形(基础实验)实验目的 通过图形加深对函数及其性质的认识与理解, 掌握运用函数的图形来观察和分析 函数的有关特性与变化趋势的方法,建立数形结合的思想; 掌握用Matlab 作平面曲线图性的方法与技巧。

初等函数的图形2 作出函数x y tan =和x y cot =的图形观察其周期性和变化趋势。

解:程序代码:>〉 x=linspace (0,2*pi,600); t=sin (x)。

/(cos (x )+eps );plot(x ,t);title (’tan (x )');axis ([0,2*pi ,-50,50]); 图象:程序代码: 〉〉 x=linspace (0,2*pi,100); ct=cos (x)。

/(sin(x)+eps ); plot(x,ct );title(’cot(x)');axis ([0,2*pi ,—50,50]); 图象:cot(x)4在区间]1,1[-画出函数xy 1sin =的图形。

解:程序代码:>> x=linspace (-1,1,10000);y=sin(1。

/x ); plot (x,y ); axis ([-1,1,—2,2]) 图象:二维参数方程作图6画出参数方程⎩⎨⎧==t t t y tt t x 3cos sin )(5cos cos )(的图形:解:程序代码:>〉 t=linspace(0,2*pi,100); plot(cos(t ).*cos (5*t ),sin(t )。

*cos(3*t)); 图象:极坐标方程作图8 作出极坐标方程为10/t e r =的对数螺线的图形. 解:程序代码:〉〉 t=0:0.01:2*pi ; r=exp (t/10);polar(log(t+eps ),log (r+eps)); 图象:90270分段函数作图10 作出符号函数x y sgn =的图形。

matlab数学实验报告

matlab数学实验报告

MATLAB数学实验报告指导老师:班级:小组成员:时间:201_/_/_Matlab第二次实验报告小组成员:1题目:实验四;MATLAB选择结构与应用实验目的:掌握if选择结构与程序流程控制;重点掌握break;return;pause语句的应用..问题:问题1:验证“哥德巴赫猜想”;即:任何一个正偶数n>=6均可表示为两个质数的和..要求编制一个函数程序;输入一个正偶数;返回两个质数的和..问题分析:由用户输入一个大于6的偶数;由input语句实现..由if判断语句判断是否输入的数据符合条件..再引用质数判断函数来找出两个质数;再向屏幕输出两个质数即可..编程:function z1;z2=geden;n=input'please input n'if n<6disp'data error';returnendif modn;2==0for i=2:n/2k=0;for j=2:sqrtiif modi;j==0k=k+1;endendfor j=2:sqrtn-iif modn-i;j==0k=k+1;endendif k==0fprintf'two numbers are'fprintf'%.0f;%.0f';i;n-ibreakendendend结果分析:如上图;用户输入了大于6的偶数返回两个质数5和31;通过不断试验;即可验证哥德巴赫猜想..纪录:if判断语句与for循环语句联合嵌套使用可使程序结构更加明晰;更快的解决问题..2题目:实验四;MATLAB选择结构与应用实验目的:用matlab联系生活实际;解决一些生活中常见的实际问题..问题:问题四:在一边长为1的四个顶点上各站有一个人;他们同时开始以等速顺时针沿跑道追逐下一人;在追击过程中;每个人时刻对准目标;试模拟追击路线;并讨论.. (1)四个人能否追到一起(2)若能追到一起;每个人跑过多少路程(3)追到一起所需要的时间设速率为1问题分析:由正方形的几何对称性和四个人运动的对称性可知;只需研究2个人的运动即可解决此问题..编程:hold onaxis0 1 0 1;a=0;0;b=0;1;k=0;dt=0.001;v=1;while k<10000d=norma-b;k=k+1;plota1;a2;'r.';'markersize';15;plotb1;b2;'b.';'markersize';15;fprintf'k=%.0f b%.3f;%.3f a%.3f;%.3f d=%.3f\n';k;b1;b2;a1;a2;da=a+b1-a1/d*dt;b2-a2/d*dt;b=b+b2-a2/d*dt;-b1-a1/d*dt;if d<=0.001breakendendfprintf'每个人所走的路程为:%.3f';k*v*dtfprintf'追到一起所需要的时间为%.3f';k*dt结果分析:上图为2人的模拟运动路线;有对称性可解决所提问题..-上图为运算过程和运算结果..四个人可以追到一起;走过的路程为1.003;时间也为1.003.纪录:此题利用正方形和运动的对称性可以简便运算..3题目:实验八;河流流量估计与数据插值目的:由一些测量数据经过计算处理;解决一些生活实际问题..问题:实验八上机练习题第三题:瑞士地图如图所示;为了算出他的国土面积;做以下测量;由西向东为x轴;由南向北为y轴;从西边界点到东边界点划分为若干区域;测出每个分点的南北边界点y1和y2;得到以下数据mm..已知比例尺1:2222;计算瑞士国土面积;精确值为41288平方公里..测量数据如下:x=7.0 10.5 13.0 17.5 34 40.5 44.5 48 56 61 68.5 76.5 80.5 91 96 101 104 106 111.5 118 123.5 136.5 142 146 150 157 158 ;y1=44 45 47 50 50 38 30 30 34 36 34 41 45 46 43 37 33 28 32 65 55 54 52 50 66 66 68;y2=44 59 70 72 93 100 110 110 110 117 118 116 118 118 121 124 121 121 121 122 116 83 81 82 86 85 68;问题分析:先由题目给定的数据作出瑞士地图的草图;再根据梯形法;使用trapz语句;来估算瑞士国土的面积..编程:x=7.0 10.5 13.0 17.5 34 40.5 44.5 48 56 61 68.5 76.5 80.5 91 96 101 104 106 111.5 118 123.5 136.5 142 146 150 157 158;y1=44 45 47 50 50 38 30 30 34 36 34 41 45 46 43 37 33 28 32 65 55 54 52 50 66 66 68;y2=44 59 70 72 93 100 110 110 110 117 118 116 118 118 121 124 121 121 121 122 116 83 81 82 86 85 68;plotx;y1;'r.';'markersize';15;plotx;y2;'r.';'markersize';15;axis0 160 0 135grid;hold ont=7:158;u1=splinex;y1;t;u2=splinex;y2;t;plott;u1plott;u2s1=trapzt;u1;s2=trapzt;u2;s=s2-s1*2222*22222/10000000;fprintf'S=%.0f';s结果分析:上图为由所给数据绘制出的瑞士地图..上图为运算结果;计算出瑞士的国土面积为42472平方公里;与准确值41288较为接近..纪录:使用梯形分割的方法;trapz语句可以方便计算不规则图形面积;但存在一定误差..4题目:实验七:圆周率的计算与数值积分目的:将数值积分最基本的原理应用于matlab之中;解决一些与积分有关的问题..问题:实验七上机练习题第一题:排洪量某河床的横断面如图7.3所示;为了计算最大排洪量;需要计算其断面积;试根据所给数据m用梯形法计算其断面积..问题分析:河床断面可近似分割成若干曲边梯形;近似处理把它们当做梯形来计算面积可使问题得到简化..编程:clc;clear;x=0 4 10 12 15 22 28 34 40;y=0 1 3 6 8 9 5 3 0;y1=10-y;plotx;y1;'k.';'markersize';15;axis0 40 0 10;grid;hold ont=0:40;u=splinex;y1;t;plott;u;s=40*10-trapzt;u;fprintf's=%.2f\n';s结果分析:上图为河床的断面图..上图为计算结果面积约为180.70平方米..纪录:使用梯形法计算不规则图形面积十分简便易行..5题目:实验七:圆周率的计算与数值积分目的:使用matlab计算解决一些有关积分的问题..问题:实验七上机练习题第三题:从地面发射一枚火箭;在最初100秒内记录其加速度如下;试求火箭在100秒时的速度..Ts=0 10 20 30 40 50 60 70 80 90 100;Am/s*s=30.00 31.63 33.44 35.47 37.75 40.33 43.29 46.69 50.67 54.01 57.23;问题分析:加速度为速度的微分;已知微分求积分;类似于面积问题;可使用梯形法来计算..编程:clc;clear;x=0 10 20 30 40 50 60 70 80 90 100;y=30.00 31.63 33.44 35.47 37.75 40.33 43.29 46.69 50.6754.01 57.23;plotx;y;'k.';'markersize';15;axis0 100 20 60;grid;hold ons=0:10:100;z=splinex;y;s;plots;y;v=trapzx;y;fprintf'v=%.2f\n';v结果分析:上图为加速度变化图..上图为计算结果;求得火箭在100秒时速度约为4168.95m/s..纪录:梯形法可以推广解决许多已知微分求积分的其他问题..6题目:实验七:圆周率的计算与数值积分目的:计算曲线弧长闭曲线周长可使用微元法;ds=sqrtdx^2+dy^2;在转化微积分问题;累加即可得到结果..问题:实验七上机练习题第三题:计算椭圆想x^2/4+y^2=1的周长;使结果具有五位有效数字..问题分析:编程:s=0;dx=0.001;for x=0:0.001:1.999dy=1.-x+0.001.^2/4-1.-x.^2/4;ds=sqrtdx.^2+dy.^2;s=s+ds;ends=4*s;fprintf'the length is'fprintf'%.4f';s结果分析:上图为计算结果;给定椭圆的周长约为9.1823五位有效数字纪录:计算不规则曲线弧长;可使用微元法;划分为若干小的看做直角三角形;利用勾股定理解决..7题目:实验九人口预测与数据拟合目的:掌握一些曲线拟合的方法;了解曲线拟合常用函数..问题:用电压U=10v的电池给电容器充电;t时刻的电压Vt=U-U-V0exp-t/τ;其中V0是电容器的初始电压;τ是充电常数;由所给数据确定V0和τ..t=0.5 1 2 3 4 5 7 9;V=3.64 3.52 2.74 1.78 1.34 1.01 0.57 0.37;问题分析:题中已给出函数关系式;为指数函数曲线拟合;将所给函数式整理可得标准的exp形函数曲线;从而便于解决..编程:t=0.5 1 2 3 4 5 7 9;V=3.64 3.52 2.74 1.78 1.34 1.01 0.57 0.37;plott;V;'k.';'markersize';20;axis0 10 0 4;grid;hold onpause0.5n=8;a=sumt1:n;b=sumt1:n.*t1:n;c=sumlogV1:n;d=sumt1:n.*logV1:n;A=n a;a b;B=c;d;p=invA*Bx=0:10;y=expp1+p2*x;plotx;y;'r-';'linewidth';2结果分析:上图为电压与时间关系图..上图为计算结果;即U-V0=1.4766;所以V0=8.5234;-1/τ=-0.2835;所以τ=3.5273纪录:曲线拟合的一个重难点是选择合适的曲线函数;才能提高拟合度..8题目:实验七圆周率的计算与数值积分目的:拓展圆周率的各种计算方法;掌握其他数值的近似计算方法..问题:实验七练习2:计算ln2的近似值精确到10的-5次方(1)利用级数展开的方法来计算(2)利用梯形法计算(3)利用抛物线法问题分析:级数展开;梯形法;抛物线法是常见的近似运算方法..编程:1级数展开的方法clc;clear;n=0;r=1;p=0;k=-1;while r>=0.1e-5n=n+1;k=k*-1;p1=p+k/n;r=absp1-p;fprintf'n=%.0f;p=%.10f\n';n;p1;p=p1;end2梯形法clc;clear;f=inline'1./x';x=1:0.1:2;y=fx;p=trapzx;y;fprintf'p=%.6f\n';p3抛物线法clc;clear;f=inline'1./x';a=1;b=2;n=1;z=quadf;a;b;fprintf'z=%.10f\n';z结果分析:(1)级数展开的方法(2)梯形法3抛物线法纪录:级数展开法;梯形法;抛物线法;计算近似值时应合理利用..梯形法和抛物线法不易提高精确度;级数展开法可以提高精确度..9题目:实验八河流流量估计与数据插值目的:掌握求插值多项式的方法;并利用此计算近似值..问题:已知y=fx的函数表如下x=0.40 0.55 0.65 0.80 0.90 1.05;y=0.41075 0.57815 0.69675 0.88811 1.02652 1.25382;求四次拉格朗日插值多项式;并由此求f0.596问题分析:利用所给函数表可计算拉格朗日插值多项式..编程:function p=lagrangex;yL=lengthx;a=onesL;for j=2:La:;j=a:;j-1.*x';endx=inva*y';for i=1:Lpi=xL-i+1;endx=0.40 0.55 0.65 0.80 0.90 1.05;y=0.41075 0.57815 0.69675 0.88811 1.02652 1.25382; plotx;y;'k.';'markersize';15axis0 2 0 2grid;hold on;p=lagrangex;y;t=0:0.1:1.5;u=polyvalp;t;plott;u;'r-'a=polyvalp;0.596结果分析:上图为所求结果;估算值和插值多项式..纪录:插值多项式是一项十分实用的方法..10题目:求正整数n的阶乘:p=1*2*3*…*n=n;并求出n=20时的结果目的:练习使用循环变量解决数学问题问题:对程序:Clear;clc;n=20;p=1;for i=1:np=p*i;fprintf’i=%.0f;p=%.0f\n’;i;pend进行修改使它:利用input命令对n惊醒赋值问题分析:题中给出程序中“n=20”修改;使用input命令;讲题中的输出命令放出循环之外..编程:clear;clc;n=input'n=';p=1;for i=1:np=p*i;endfprintf'i=%.0f;p=%.0f\n';i;p结果:n=20i=20;p=2432902008176640000>>结果分析:使用input命令可以实现人机对话;使用户自由赋值;输出语句在程序中的位置对输出的结果有很大的影响;在循环内部可以在计算过城中不断输出结果;在循环之外则可以控制只输出最后结果..11题目:对于数列{√2};n=1;2;…;求当其前n项和不超过1000时的n的值及合的大小..目的:运用条件循环解决文帝个项数的循环程序求解;问题:对程序:clear;clc;n=0;s=0;while s<=1000n=n+1;s=s+sqrtn;fprintf’n=%.0f;s=%.4f\n’;n;send问题分析:题中所给程序中的限制变量为上次循环之后的s;导致s超过上限后仍有一次的循环;若把循环变量改为这次的s;则可以避免这种情况的发生..编程:clear;clc;n=0;s=0;while s+sqrtn<=1000n=n+1;s=s+sqrtnfprintf'n=%.0f;s=%.4f\n';n;send结果:……s =970.8891n=128;s=970.8891s =982.2469n=129;s=982.2469s =993.6487n=130;s=993.6487>>结果分析:从结果中可以看出;最后一步为我们需要的答案;从这道题我们可以得出循环变量对一道编程的重要性..。

matlab数学实验课

matlab数学实验课

2
椭球面
3
双叶双曲面
解:设二次曲面的方程为
x2
y2
z2
a2 b2 c2 d
编写M文件kongjianqumian.m,如下:
a=input('a=');b=input('b=');c=input('c=');d=i nput('d=');N=input('N='); xgrid=linspace(abs(a),abs(a),N);ygrid=linspace(abs(b),abs(b),N); [x,y]=meshgrid(xgrid,ygrid); z=c*sqrt(d-y.*y/b/bx.*x/a/a);u=1;z1=real(z); for k=2:N-1
matlab数学实验课
MATLAB实验 实验目的 1、学会用Matlab绘制简单的空间曲线. 2、学会用Matlab绘制简单的空间曲面.
实验内容 1、编写MATLAB程序绘制二次曲面图形 2、编写MATLAB程序绘制旋转曲面图形 3、编写MATLAB程序绘制空间曲线图形
二次曲面图形
椭圆抛物面 1
for j=2:N-1 if imag(z(k,j)~=0) z1(k,j)=0; end
if all(imag(z([k-1,k-1],[j-1,j-1])))~=0
z1(k,j)=NaN; end
end end surf(x,y,z1),hold if u==1
z2=-z1; surf(x,y,z2); axis([-abs(a),abs(a),-abs(b),abs(b),abs(c),abs(c)]); end xlabel('x'),ylabel('y'),zlabel('z') title(['[a,b,c,d,N]=[',int2str(a),',',int2str(b),',',i nt2str(c),',',int2str(d),',',int2str(N),']'])

高等数学实验matlab

高等数学实验matlab

式函数a0+a1x+a2x2作为经验公式n ),此时偏差平方和函数为
W=
(a
0
+a1xi
+a
2
x
2 i
-yi
)
2
i=1
其中n为数据点的数目。要使偏差平方和函数W最小,需要
n
n
n
na0 a1 xi a2 xi2 yi
i 1
i 1
i 1
a0
n
xi a1
n
xi2 a2
n
xi3
即拟合函数为 y=14.7391+0.1973139x-0.000339492x2
从图1-10可以看出拟合效果比较好,但是是否还可以更好呢? 一般而言,拟合次数的提高可以使得拟合效果变好,但是并 不是次数越高越好。现在提高拟合次数,将基函数由1,x,x2 修改为{1,x,x2,x3}(三次拟合),{1,x,x2,x3,x4}(四次拟合 )……,得到拟合图1-5至图1-9。
67
101
135
202
259
336
404
25.72
32.29
34.03
39.45
43.15
43.46
40.83
471 30.75
【实验方案】
设y代表土豆产量,x代表氮肥的施肥量。显然,y和x之间应该 有某种关系,假设y与x之间的关系为函数关系,则问题就转 化拟为合已问知题数。据点(xi,yi)位置关系,寻找函数y=y(x)。这就是数据
设计性实验
实验一 数据拟合问题 实验二 复利问题
第1章函数与极限—设计性实验
实验一 数据拟合问题
【实验目的】 1.加深对函数基本概念的理解 2.讨论了函数的实际应用问题 3.掌握Matlab软件中有关函数、画图等命令 【实验要求】 掌握函数基本知识,Matlab软件

MATLAB数学实验课后答案

MATLAB数学实验课后答案

数学实验MATLAB参考答案(重要部分)P20,ex1(5) 等于[exp(1),exp(2);exp(3),exp(4)](7) 3=1*3, 8=2*4(8) a为各列最小值,b为最小值所在的行号(10) 1>=4,false, 2>=3,false, 3>=2, ture, 4>=1,ture(11) 答案表明:编址第2元素满足不等式(30>=20)和编址第4元素满足不等式(40>=10)(12) 答案表明:编址第2行第1列元素满足不等式(30>=20)和编址第2行第2列元素满足不等式(40>=10)P20, ex2(1)a, b, c的值尽管都是1,但数据类型分别为数值,字符,逻辑,注意a 与c相等,但他们不等于b(2)double(fun)输出的分别是字符a,b,s,(,x,)的ASCII码P20,ex3>> r=2;p=0.5;n=12;>> T=log(r)/n/log(1+0.01*p)T =11.5813P20,ex4>> x=-2:0.05:2;f=x.^4-2.^x;>> [fmin,min_index]=min(f)fmin =-1.3907 %最小值min_index =54 %最小值点编址>> x(min_index)ans =0.6500 %最小值点>> [f1,x1_index]=min(abs(f)) %求近似根--绝对值最小的点f1 =0.0328x1_index =24>> x(x1_index)ans =-0.8500>> x(x1_index)=[];f=x.^4-2.^x; %删去绝对值最小的点以求函数绝对值次小的点>> [f2,x2_index]=min(abs(f)) %求另一近似根--函数绝对值次小的点f2 =0.0630x2_index =65>> x(x2_index)ans =1.2500P20,ex5>> z=magic(10)z =92 99 1 8 15 67 74 51 58 4098 80 7 14 16 73 55 57 64 414 81 88 20 22 54 56 63 70 4785 87 19 21 3 60 62 69 71 2886 93 25 2 9 61 68 75 52 3417 24 76 83 90 42 49 26 33 6579 6 13 95 97 29 31 38 45 7210 12 94 96 78 35 37 44 46 5311 18 100 77 84 36 43 50 27 59>> sum(z)ans =505 505 505 505 505 505 505 505 505 505 >> sum(diag(z))ans =505>> z(:,2)/sqrt(3)ans =57.157746.188046.765450.229553.693613.85642.88683.46416.928210.3923>> z(8,:)=z(8,:)+z(3,:)z =92 99 1 8 15 67 74 51 58 4098 80 7 14 16 73 55 57 64 414 81 88 20 22 54 56 63 70 4785 87 19 21 3 60 62 69 71 2886 93 25 2 9 61 68 75 52 3423 5 82 89 91 48 30 32 39 6683 87 101 115 119 83 87 101 115 11910 12 94 96 78 35 37 44 46 5311 18 100 77 84 36 43 50 27 59P 40 ex1先在编辑器窗口写下列M函数,保存为eg2_1.m function [xbar,s]=ex2_1(x)n=length(x);xbar=sum(x)/n;s=sqrt((sum(x.^2)-n*xbar^2)/(n-1));例如>>x=[81 70 65 51 76 66 90 87 61 77];>>[xbar,s]=ex2_1(x)xbar =72.4000s =12.1124P 40 ex2s=log(1);n=0;while s<=100n=n+1;s=s+log(1+n);endm=n计算结果m=37clear;F(1)=1;F(2)=1;k=2;x=0;e=1e-8; a=(1+sqrt(5))/2;while abs(x-a)>ek=k+1;F(k)=F(k-1)+F(k-2); x=F(k)/F(k-1); enda,x,k计算至k=21可满足精度P 40 ex4clear;tic;s=0;for i=1:1000000s=s+sqrt(3)/2^i;ends,toctic;s=0;i=1;while i<=1000000s=s+sqrt(3)/2^i;i=i+1;ends,toctic;s=0;i=1:1000000;s=sqrt(3)*sum(1./2.^i);s,tocP 40 ex5c=[15 14 14 14 14 15 16 18 20 22 23 25 28 ...31 32 31 29 27 25 24 22 20 18 17 16];plot(t,c)P 40 ex6(1)clear;fplot('x^2*sin(x^2-x-2)',[-2,2])x=-2:0.1:2;y=x.^2.*sin(x.^2-x-2);plot(x,y)y=inline('x^2*sin(x^2-x-2)');fplot(y,[-2 2])(2)参数方法t=linspace(0,2*pi,100);x=2*cos(t);y=3*sin(t); plot(x,y)(3)x=-3:0.1:3;y=x;[x,y]=meshgrid(x,y);z=x.^2+y.^2;surf(x,y,z)(4)x=-3:0.1:3;y=-3:0.1:13;[x,y]=meshgrid(x,y);z=x.^4+3*x.^2+y.^2-2*x-2*y-2*x.^2.*y+6;surf(x,y,z)(5)t=0:0.01:2*pi;x=sin(t);y=cos(t);z=cos(2*t);plot3(x,y,z)(6)theta=linspace(0,2*pi,50);fai=linspace(0,pi/2,20);[theta,fai]=meshgrid(theta,fai); x=2*sin(fai).*cos(theta);y=2*sin(fai).*sin(theta);z=2*cos(fai);surf(x,y,z)(7)x=linspace(0,pi,100);y1=sin(x);y2=sin(x).*sin(10*x);y3=-sin(x);plot(x,y1,x,y2,x,y3)page41, ex7x=-1.5:0.05:1.5;y=1.1*(x>1.1)+x.*(x<=1.1).*(x>=-1.1)-1.1*(x<-1.1);plot(x,y)page41,ex8分别使用which trapz, type trapz, dir C:\MATLAB7\toolbox\matlab\datafun\ page41,ex9clear;close;x=-2:0.1:2;y=x;[x,y]=meshgrid(x,y);a=0.5457;b=0.7575;p=a*exp(-0.75*y.^2-3.75*x.^2-1.5*x).*(x+y>1);p=p+b*exp(-y.^2-6*x.^2).*(x+y>-1).*(x+y<=1);p=p+a*exp(-0.75*y.^2-3.75*x.^2+1.5*x).*(x+y<=-1);mesh(x,y,p)page41, ex10lookfor lyapunovhelp lyap>> A=[1 2 3;4 5 6;7 8 0];C=[2 -5 -22;-5 -24 -56;-22 -56 -16];>> X=lyap(A,C)X =1.0000 -1.0000 -0.0000 -1.00002.0000 1.0000 -0.0000 1.0000 7.0000Chapter 3%Exercise 1>> a=[1,2,3];b=[2,4,3];a./b,a.\b,a/b,a\bans =0.5000 0.5000 1.0000ans =2 2 1ans =0.6552 %一元方程组x[2,4,3]=[1,2,3]的近似解ans =0 0 00 0 00.6667 1.3333 1.0000%矩阵方程[1,2,3][x11,x12,x13;x21,x22,x23;x31,x32,x33]=[2,4,3]的特解Exercise 2(1)>> A=[4 1 -1;3 2 -6;1 -5 3];b=[9;-2;1];>> rank(A), rank([A,b]) %[A,b]为增广矩阵ans =3ans =3 %可见方程组唯一解>> x=A\bx =2.38301.48942.0213Exercise 2(2)>> A=[4 -3 3;3 2 -6;1 -5 3];b=[-1;-2;1];>> rank(A), rank([A,b]) ans =3ans =3 %可见方程组唯一解>> x=A\bx =-0.4706-0.2941Exercise 2(3)>> A=[4 1;3 2;1 -5];b=[1;1;1];>> rank(A), rank([A,b])ans =2ans =3 %可见方程组无解>> x=A\bx =0.3311-0.1219 %最小二乘近似解Exercise 2(4)>> a=[2,1,-1,1;1,2,1,-1;1,1,2,1];b=[1 2 3]';%注意b的写法>> rank(a),rank([a,b])ans =3ans =3 %rank(a)==rank([a,b])<4说明有无穷多解>> a\bans =110 %一个特解Exercise 3>> a=[2,1,-1,1;1,2,1,-1;1,1,2,1];b=[1,2,3]';>> x=null(a),x0=a\bx =-0.62550.6255-0.20850.4170x0 =11%通解kx+x0 Exercise 4>> x0=[0.2 0.8]';a=[0.99 0.05;0.01 0.95];>> x1=a*x, x2=a^2*x, x10=a^10*x>> x=x0;for i=1:1000,x=a*x;end,xx =0.83330.1667>> x0=[0.8 0.2]';>> x=x0;for i=1:1000,x=a*x;end,xx =0.83330.1667>> [v,e]=eig(a)v =0.9806 -0.70710.1961 0.7071e =1.0000 00 0.9400>> v(:,1)./xans =1.17671.1767 %成比例,说明x是最大特征值对应的特征向量Exercise 5%用到公式(3.11)(3.12)>> B=[6,2,1;2.25,1,0.2;3,0.2,1.8];x=[25 5 20]'; >> C=B/diag(x)C =0.2400 0.4000 0.05000.0900 0.2000 0.0100 0.1200 0.0400 0.0900 >> A=eye(3,3)-CA =0.7600 -0.4000 -0.0500 -0.0900 0.8000 -0.0100 -0.1200 -0.0400 0.9100 >> D=[17 17 17]';x=A\D x =37.569625.786224.7690%Exercise 6(1)>> a=[4 1 -1;3 2 -6;1 -5 3];det(a),inv(a),[v,d]=eig(a) ans =-94ans =0.2553 -0.0213 0.04260.1596 -0.1383 -0.22340.1809 -0.2234 -0.0532v =0.0185 -0.9009 -0.3066-0.7693 -0.1240 -0.7248-0.6386 -0.4158 0.6170d =-3.0527 0 00 3.6760 00 0 8.3766%Exercise 6(2)>> a=[1 1 -1;0 2 -1;-1 2 0];det(a),inv(a),[v,d]=eig(a) ans =1ans =2.0000 -2.0000 1.00001.0000 -1.0000 1.00002.0000 -3.0000 2.0000v =-0.5773 0.5774 + 0.0000i 0.5774 - 0.0000i-0.5773 0.5774 0.5774-0.5774 0.5773 - 0.0000i 0.5773 + 0.0000id =1.0000 0 00 1.0000 + 0.0000i 00 0 1.0000 - 0.0000i%Exercise 6(3)>> A=[5 7 6 5;7 10 8 7;6 8 10 9;5 7 9 10]A =5 76 57 10 8 76 8 10 95 7 9 10>> det(A),inv(A), [v,d]=eig(A)ans =1ans =68.0000 -41.0000 -17.0000 10.0000-41.0000 25.0000 10.0000 -6.0000-17.0000 10.0000 5.0000 -3.000010.0000 -6.0000 -3.0000 2.0000v =0.8304 0.0933 0.3963 0.3803-0.5016 -0.3017 0.6149 0.5286-0.2086 0.7603 -0.2716 0.55200.1237 -0.5676 -0.6254 0.5209d =0.0102 0 0 00 0.8431 0 00 0 3.8581 00 0 0 30.2887%Exercise 6(4)、(以n=5为例)%关键是矩阵的定义%方法一(三个for)n=5;for i=1:n, a(i,i)=5;endfor i=1:(n-1),a(i,i+1)=6;endfor i=1:(n-1),a(i+1,i)=1;enda%方法二(一个for)n=5;a=zeros(n,n);a(1,1:2)=[5 6];for i=2:(n-1),a(i,[i-1,i,i+1])=[1 5 6];enda(n,[n-1 n])=[1 5];a%方法三(不用for)n=5;a=diag(5*ones(n,1));b=diag(6*ones(n-1,1));c=diag(ones(n-1,1));a=a+[zeros(n-1,1),b;zeros(1,n)]+[zeros(1,n);c,zeros(n-1,1)] %下列计算>> det(a)ans =665>> inv(a)ans =0.3173 -0.5865 1.0286 -1.6241 1.9489-0.0977 0.4887 -0.8571 1.3534 -1.62410.0286 -0.1429 0.5429 -0.8571 1.0286-0.0075 0.0376 -0.1429 0.4887 -0.5865 0.0015 -0.0075 0.0286 -0.0977 0.3173 >> [v,d]=eig(a)v =-0.7843 -0.7843 -0.9237 0.9860 -0.9237 0.5546 -0.5546 -0.3771 -0.0000 0.3771-0.2614 -0.2614 0.0000 -0.1643 0.0000 0.0924 -0.0924 0.0628 -0.0000 -0.0628-0.0218 -0.0218 0.0257 0.0274 0.0257d =0.7574 0 0 0 00 9.2426 0 0 00 0 7.4495 0 00 0 0 5.0000 00 0 0 0 2.5505%Exercise 7(1)>> a=[4 1 -1;3 2 -6;1 -5 3];[v,d]=eig(a) v =0.0185 -0.9009 -0.3066-0.7693 -0.1240 -0.7248-0.6386 -0.4158 0.6170d =-3.0527 0 00 3.6760 00 0 8.3766>> det(v)ans =-0.9255 %v行列式正常, 特征向量线性相关,可对角化>> inv(v)*a*v %验算ans =-3.0527 0.0000 -0.00000.0000 3.6760 -0.0000-0.0000 -0.0000 8.3766>> [v2,d2]=jordan(a) %也可用jordanv2 =0.0798 0.0076 0.91270.1886 -0.3141 0.1256-0.1605 -0.2607 0.4213 %特征向量不同d2 =8.3766 0 00 -3.0527 - 0.0000i 00 0 3.6760 + 0.0000i>> v2\a*v2ans =8.3766 0 0.00000.0000 -3.0527 0.00000.0000 0.0000 3.6760>> v(:,1)./v2(:,2) %对应相同特征值的特征向量成比例ans =2.44912.44912.4491%Exercise 7(2)>> a=[1 1 -1;0 2 -1;-1 2 0];[v,d]=eig(a)v =-0.5773 0.5774 + 0.0000i 0.5774 - 0.0000i-0.5773 0.5774 0.5774-0.5774 0.5773 - 0.0000i 0.5773 + 0.0000id =1.0000 0 00 1.0000 + 0.0000i 00 0 1.0000 - 0.0000i>> det(v)ans =-5.0566e-028 -5.1918e-017i %v的行列式接近0, 特征向量线性相关,不可对角化>> [v,d]=jordan(a)v =1 0 11 -1 0d =1 1 00 1 10 0 1 %jordan标准形不是对角的,所以不可对角化%Exercise 7(3)>> A=[5 7 6 5;7 10 8 7;6 8 10 9;5 7 9 10]A =5 76 57 10 8 76 8 10 95 7 9 10>> [v,d]=eig(A)0.8304 0.0933 0.3963 0.3803-0.5016 -0.3017 0.6149 0.5286-0.2086 0.7603 -0.2716 0.55200.1237 -0.5676 -0.6254 0.5209d =0.0102 0 0 00 0.8431 0 00 0 3.8581 00 0 0 30.2887>> inv(v)*A*vans =0.0102 0.0000 -0.0000 0.00000.0000 0.8431 -0.0000 -0.0000-0.0000 0.0000 3.8581 -0.0000-0.0000 -0.0000 0 30.2887%本题用jordan不行, 原因未知%Exercise 7(4)参考6(4)和7(1), 略%Exercise 8 只有(3)对称, 且特征值全部大于零, 所以是正定矩阵. %Exercise 9(1)>> a=[4 -3 1 3;2 -1 3 5;1 -1 -1 -1;3 -2 3 4;7 -6 -7 0]>> rank(a)ans =3>> rank(a(1:3,:))ans =2>> rank(a([1 2 4],:)) %1,2,4行为最大无关组3>> b=a([1 2 4],:)';c=a([3 5],:)'; >> b\c %线性表示的系数ans =0.5000 5.0000-0.5000 1.00000 -5.0000%Exercise 10>> a=[1 -2 2;-2 -2 4;2 4 -2]>> [v,d]=eig(a)0.3333 0.9339 -0.12930.6667 -0.3304 -0.6681-0.6667 0.1365 -0.7327d =-7.0000 0 00 2.0000 00 0 2.0000>> v'*vans =1.0000 0.0000 0.00000.0000 1.0000 00.0000 0 1.0000 %v确实是正交矩阵%Exercise 11%设经过6个电阻的电流分别为i1, ..., i6. 列方程组如下%20-2i1=a; 5-3i2=c; a-3i3=c; a-4i4=b; c-5i5=b; b-3i6=0; %i1=i3+i4;i5=i2+i3;i6=i4+i5;%计算如下>> A=[1 0 0 2 0 0 0 0 0;0 0 1 0 3 0 0 0 0;1 0 -1 0 0 -3 0 0 0;1 -1 0 0 0 0 -4 0 0;0 -1 1 0 0 0 0 -5 0;0 1 0 0 0 0 0 0 -3;0 0 0 1 0 -1 -1 0 0;0 0 0 0 -1 -1 0 1 0;0 0 0 0 0 0 -1 -1 1];>>b=[20 5 0 0 0 0 0 0 0]'; A\bans =13.34536.44018.54203.3274-1.18071.60111.72630.42042.1467%Exercise 12>> A=[1 2 3;4 5 6;7 8 0];>> left=sum(eig(A)), right=sum(trace(A))left =6.0000right =6>> left=prod(eig(A)), right=det(A) %原题有错, (-1)^n应删去left =27.0000right =27>> fA=(A-p(1)*eye(3,3))*(A-p(2)*eye(3,3))*(A-p(3)*eye(3,3))fA =1.0e-012 *0.0853 0.1421 0.02840.1421 0.1421 0-0.0568 -0.1137 0.1705>> norm(fA) %f(A)范数接近0ans =2.9536e-013%Exercise 1(1)roots([1 1 1])%Exercise 1(2)roots([3 0 -4 0 2 -1])%Exercise 1(3)p=zeros(1,24);p([1 17 18 22])=[5 -6 8 -5];roots(p)%Exercise 1(4)p1=[2 3];p2=conv(p1, p1);p3=conv(p1, p2);p3(end)=p3(end)-4; %原p3最后一个分量-4roots(p3)%Exercise 2fun=inline('x*log(sqrt(x^2-1)+x)-sqrt(x^2-1)-0.5*x'); fzero(fun,2)】%Exercise 3fun=inline('x^4-2^x');fplot(fun,[-2 2]);grid on;fzero(fun,-1),fzero(fun,1),fminbnd(fun,0.5,1.5)%Exercise 4fun=inline('x*sin(1/x)','x');fplot(fun, [-0.1 0.1]);x=zeros(1,10);for i=1:10, x(i)=fzero(fun,(i-0.5)*0.01);end;x=[x,-x]%Exercise 5fun=inline('[9*x(1)^2+36*x(2)^2+4*x(3)^2-36;x(1)^2-2*x(2)^2-20*x(3);16*x(1)-x(1)^3-2*x(2)^2-16*x(3)^2]','x');[a,b,c]=fsolve(fun,[0 0 0])%Exercise 6fun=@(x)[x(1)-0.7*sin(x(1))-0.2*cos(x(2)),x(2)-0.7*cos(x(1))+0.2*sin(x(2))];[a,b,c]=fsolve(fun,[0.5 0.5])%Exercise 7clear; close; t=0:pi/100:2*pi; x1=2+sqrt(5)*cos(t); y1=3-2*x1+sqrt(5)*sin(t);x2=3+sqrt(2)*cos(t); y2=6*sin(t);plot(x1,y1,x2,y2); grid on; %作图发现4个解的大致位置,然后分别求解y1=fsolve('[(x(1)-2)^2+(x(2)-3+2*x(1))^2-5,2*(x(1)-3)^2+(x(2)/3)^2-4]',[1.5,2])y2=fsolve('[(x(1)-2)^2+(x(2)-3+2*x(1))^2-5,2*(x(1)-3)^2+(x(2)/3)^2-4]',[1.8,-2])y3=fsolve('[(x(1)-2)^2+(x(2)-3+2*x(1))^2-5,2*(x(1)-3)^2+(x(2)/3)^2-4]',[3.5,-5])y4=fsolve('[(x(1)-2)^2+(x(2)-3+2*x(1))^2-5,2*(x(1)-3)^2+(x(2)/3)^2-4]',[4,-4])%Exercise 8(1)clear;fun=inline('x.^2.*sin(x.^2-x-2)');fplot(fun,[-2 2]);grid on; %作图观察x(1)=-2;x(3)=fminbnd(fun,-1,-0.5);x(5)=fminbnd(fun,1,2);fun2=inline('-x.^2.*sin(x.^2-x-2)');x(2)=fminbnd(fun2,-2,-1);x(4)=fminbnd(fun2,-0.5,0.5);x(6)=2feval(fun,x)%答案: 以上x(1)(3)(5)是局部极小,x(2)(4)(6)是局部极大,从最后一句知道x(1)全局最小, x(2)最大。

matlab数值计算 实验报告

matlab数值计算 实验报告

matlab数值计算实验报告Matlab数值计算实验报告引言:Matlab是一种强大的数值计算软件,广泛应用于科学和工程领域。

本实验旨在通过实际案例,展示Matlab在数值计算中的应用能力。

本报告将从三个方面进行讨论:数值积分、线性方程组求解和最优化问题。

一、数值积分:数值积分是数学中常见的问题,Matlab提供了多种函数和方法来解决这类问题。

我们以求解定积分为例进行讨论。

假设我们要求解函数f(x) = x^2在区间[0, 1]上的定积分。

我们可以使用Matlab中的quad函数来进行计算,代码如下:```matlabf = @(x) x.^2;integral = quad(f, 0, 1);disp(integral);```运行以上代码,我们可以得到定积分的近似值为0.3333。

通过调整积分方法和精度参数,我们可以得到更精确的结果。

二、线性方程组求解:线性方程组求解是数值计算中的重要问题,Matlab提供了多种函数和方法来解决线性方程组。

我们以一个简单的线性方程组为例进行讨论。

假设我们要求解以下线性方程组:```2x + y = 5x - y = 1```我们可以使用Matlab中的linsolve函数来求解,代码如下:```matlabA = [2 1; 1 -1];B = [5; 1];X = linsolve(A, B);disp(X);```运行以上代码,我们可以得到方程组的解为x = 2,y = 3。

通过调整方程组的系数矩阵和右侧向量,我们可以求解更复杂的线性方程组。

三、最优化问题:最优化问题在科学和工程领域中广泛存在,Matlab提供了多种函数和方法来解决这类问题。

我们以求解无约束最优化问题为例进行讨论。

假设我们要求解函数f(x) = x^2的最小值。

我们可以使用Matlab中的fminunc函数来进行计算,代码如下:```matlabf = @(x) x.^2;x0 = 1; % 初始点options = optimoptions('fminunc', 'Display', 'iter');[x, fval] = fminunc(f, x0, options);disp(x);disp(fval);```运行以上代码,我们可以得到最小值的近似解为x = 0,f(x) = 0。

matlab实验一实验报告

matlab实验一实验报告

matlab实验一实验报告实验一:Matlab实验报告引言:Matlab是一种强大的数学软件工具,广泛应用于科学计算、数据分析和工程设计等领域。

本实验旨在通过使用Matlab解决实际问题,探索其功能和应用。

一、实验目的本次实验的主要目的是熟悉Matlab的基本操作和常用函数,了解其在科学计算中的应用。

二、实验内容1. 数值计算在Matlab中,我们可以进行各种数值计算,包括基本的加减乘除运算,以及更复杂的矩阵运算和方程求解。

通过编写相应的代码,我们可以实现这些功能。

例如,我们可以使用Matlab计算两个矩阵的乘积,并输出结果。

代码如下:```matlabA = [1 2; 3 4];B = [5 6; 7 8];C = A * B;disp(C);```2. 数据可视化Matlab还提供了强大的数据可视化功能,可以将数据以图表的形式展示出来,更直观地观察数据的规律和趋势。

例如,我们可以使用Matlab绘制一个简单的折线图,来展示某个物体在不同时间下的位置变化。

代码如下:```matlabt = 0:0.1:10;x = sin(t);plot(t, x);xlabel('Time');ylabel('Position');title('Position vs. Time');```3. 图像处理Matlab还可以进行图像处理,包括图像的读取、处理和保存等操作。

我们可以通过Matlab对图像进行增强、滤波、分割等处理,以及进行图像的压缩和重建。

例如,我们可以使用Matlab读取一张图片,并对其进行灰度化处理。

代码如下:```matlabimg = imread('image.jpg');gray_img = rgb2gray(img);imshow(gray_img);```三、实验结果与分析在本次实验中,我们成功完成了数值计算、数据可视化和图像处理等任务。

Matlab数学实验报告

Matlab数学实验报告

实验一 Matlab基本操作1.实验课程名称数学实验2.实验项目名称Matlab基本操作3.实验目的和要求了解Matlab的基本知识,熟悉其上机环境,掌握利用Matlab进行基本运算的方法。

4.实验内容和原理内容:三角形的面积的海伦公式为:area=)s-sa--)()(s(csb其中: s=(a+b+c)/2原理:将一般数学问题转化成对应的计算机模型并进行处理的能力。

了解Matlab的基本功能,会进行简单的操作。

5.主要仪器设备计算机与Windows 2000/XP系统;Matlab等软件。

6.操作方法与实验步骤步骤:(1)在M文件编辑窗口输入以下程序,并以文件名”area_helen.m”保存:a= input(‘a=‘) ; b= input(‘b=‘) ; c= input(‘c=‘) ;s= (a+b+c)/2;area=sqrt (s* (s-a) * (s-b) * (s-c))(2)在命令窗口输入文件名“area_helen”,按回车键,即可运行上面的程序,输入三边长,立即可得三角形面积(3)第二题在命令窗口输入b=6;a=3;c=a*b,d=c-2*b(4) 按回车键,即可运行上面的程序7.实验结果与分析<1> a=3; b=4; c=5;时,aera=6 当a为3,b为4,c为5时,s=6,aera=6<2> c= 18,d=6,a为3,b为6时,c=18,d=6实验二 Matlab的数值计算1.实验课程名称数学实验2.实验项目名称Matlab的数值计算3.实验目的和要求了解一些简单的矩阵、向量、数组和多项式的构造和运算方法实例,懂得编写简单的数值计算的Matlab程序。

熟悉一些Matlab的简单程序,会用Matlab的工具箱,懂得Matlab的安装和简单的使用。

4.实验内容和原理内容:从函数表:)1(),5.0(),2( ,0x 1x 021x 1x f(x) 32-⎪⎩⎪⎨⎧≤≤<>+=f f f x x求设)1(),2( ,1211)(2-⎩⎨⎧≤>+=f f x xx x x f 求设 原理:利用矩阵、向量、数组、和多项式的构造和运算方法,用常用的几种函数进行一般的数值问题求解。

数学matlab实验心得体会

数学matlab实验心得体会

数学matlab实验心得体会前言在学习数学的过程中,我们不仅需要理论知识的学习,还需要通过实验来加深对数学知识的理解和掌握。

而在进行数学实验的过程中,matlab是一个非常好用的工具。

本文将分享我在进行数学matlab实验的过程中的心得体会。

实验一:线性方程组的求解在进行线性方程组的求解实验时,我发现matlab提供了多种求解线性方程组的函数,如inv、linsolve、mldivide等。

其中,inv函数是求矩阵的逆矩阵,但是在实际应用中,求逆矩阵的计算量非常大,而且求逆矩阵的结果可能不够精确。

因此,我们更多地使用linsolve和mldivide函数来求解线性方程组。

在使用linsolve函数时,我们需要将线性方程组的系数矩阵和常数向量作为参数传入函数中。

而在使用mldivide函数时,我们只需要将系数矩阵和常数向量组成增广矩阵,然后将增广矩阵作为参数传入函数中即可。

在实验中,我发现使用mldivide函数求解线性方程组的速度比使用linsolve函数要快很多。

因此,在实际应用中,我们更多地使用mldivide函数来求解线性方程组。

实验二:插值与拟合在进行插值与拟合实验时,我发现matlab提供了多种插值和拟合函数,如interp1、interp2、polyfit、fit等。

其中,interp1和interp2函数是用来进行一维和二维插值的,而polyfit和fit函数是用来进行多项式拟合和非线性拟合的。

在使用interp1函数进行一维插值时,我们需要将插值点的横坐标和纵坐标以及需要插值的横坐标作为参数传入函数中。

而在使用interp2函数进行二维插值时,我们需要将插值点的横坐标、纵坐标和插值点的值以及需要插值的横坐标和纵坐标作为参数传入函数中。

在使用polyfit函数进行多项式拟合时,我们需要将需要拟合的数据点的横坐标和纵坐标以及拟合的多项式的次数作为参数传入函数中。

而在使用fit 函数进行非线性拟合时,我们需要将需要拟合的数据点的横坐标和纵坐标以及拟合的模型函数作为参数传入函数中。

数学实验指导书matlab

数学实验指导书matlab

数学实验指导书matlab【数学实验指导书】MATLAB一、实验背景和目的数学实验是数学教学中重要的一环,它能够帮助学生巩固和应用所学的数学知识,培养学生的实际问题解决能力。

MATLAB作为一种强大的数学计算软件,被广泛应用于数学实验中。

本实验旨在通过使用MATLAB软件,帮助学生掌握基本的MATLAB操作和数学实验方法,进一步提高数学建模和问题求解的能力。

二、实验内容1. MATLAB基本操作a) 启动MATLAB软件并了解主界面的组成部分。

b) 学习MATLAB的基本命令行操作,如变量定义、数学运算、矩阵操作等。

c) 掌握MATLAB的图形绘制功能,包括绘制函数图像、散点图等。

2. 数学建模实验a) 选择一个数学问题作为研究对象,例如:求解一元二次方程的根。

b) 使用MATLAB进行数学建模,包括问题分析、模型构建和求解过程。

c) 分析和解释模型的结果,对实际问题进行合理的解释和预测。

三、实验步骤1. MATLAB基本操作a) 启动MATLAB软件后,观察主界面的组成部分,包括命令窗口、工作空间、编辑器等。

b) 在命令窗口中练习基本的MATLAB命令,如定义变量、进行数学运算、创建矩阵等。

c) 使用plot函数绘制函数图像,并尝试修改线型、颜色等参数。

2. 数学建模实验a) 选择一个数学问题,例如求解一元二次方程ax^2 + bx + c = 0的根。

b) 在MATLAB中定义方程的系数a、b、c,并使用根据求根公式计算方程的根。

c) 绘制方程的图像,并标注根的位置。

四、实验结果与分析1. MATLAB基本操作a) 在命令窗口中成功定义了多个变量,并进行了数学运算,验证了MATLAB的基本功能。

b) 使用plot函数绘制了函数y = sin(x)的图像,并成功修改了线型和颜色。

2. 数学建模实验a) 成功求解了一元二次方程ax^2 + bx + c = 0的根,并将结果输出到命令窗口。

b) 绘制了方程的图像,并通过图像验证了求解结果的准确性。

数学Matlab实验

数学Matlab实验

一、实验项目:Matlab基本实验二、实验目的和要求a.熟悉MATLAB软件的用户环境,掌握其一般目的命令和MATLAB数组操作与运算函数;b.掌握MATLAB软件的绘图命令,能够熟练应用循环和选择结构实现各种循环选择功能;c.借助MATLAB软件的绘图功能,对函数的特性进行探讨,广泛联想,大胆猜想,发现进而证实其中的规律。

三、实验内容将方程x5+5x3-2x+1=0改写成各种等价的形式进行迭代,观察迭代是否收敛,并给出解释。

x1=-2:0.01:2;x2=-3:0.01:3;x3=-4:0.01:4;x4=-5:0.01:5;y1=x1.^5 +5*x1.^3-2*x1+1;y2=x2.^5 +5*x2.^3-2*x2+1;y3=x3.^5 +5*x3.^3-2*x3+1;y4=x4.^5 +5*x4.^3-2*x4+1;subplot(2,2,1),plot(x1,y1),title('子图 (1)') ,grid on,subplot(2,2,2),plot(x2,y2),title('子图(2)'),grid on,subplot(2,2,3),plot(x3,y3),title('子图(3)'),grid on,subplot(2,2,4),plot(x4,y4),title('子图(4)') ,grid on,-2-1012-100-5050100子图 (1)-4-2024-400-2000200400子图(2)-4-2024-2000-100010002000子图(3)-505-4000-2000020004000子图(4)由图可知 x 的初值应在(-0.78,0.76)之间。

(2)解:第一步 构造迭代函数()x f x =53512x x x ++= 1()x f x = 32121555x x x x=-+- 2()x f x = 32521x x x x=-+- 3()x f x = 第二步利用加速迭代收敛法变形后:534241012515x x x x x--+=-- 1()x f x = 62352435322x x x x x x x --=++- 2()x f x = 25328561x x x x x x -+=++- 3()x f x = 第三步迭代00.75x =-1()n n x f x +=n=0,1,2,3………用 MA TLAB 编程x=-077;y=-0.77;z=-0.77;for k=1:30x=(-4*x^5-10*x^3+1)/(2-5*x^4-15*x^2); y=(2*y^6+4*y^2-3*y)/(5*y^3+3*y^5+2*y-2); z=(8*z^2-2*z)/(z^5+5*z^3+6*z-1); x,y,z;end迭代结果为:x =-61.5948y =-0.7685x =-49.2694y =-0.7685x =-39.4074y =-0.7685x =y =-0.7685 x =-25.2000 y =-0.7685 x =-20.1442 y =-0.7685 x =-16.0957 y =-0.7685 x =-12.8521 y =-0.7685-10.2512 y =-0.7685 x =-8.1634 y =-0.7685 x =-6.4844 y =-0.7685 x =-5.1311 y =-0.7685 x =-4.0373-0.7685 x =-3.1508 y =-0.7685 x =-2.4323 y =-0.7685 x =-1.8546 y =-0.7685 x =-1.4028 y =-0.7685-1.0737 y =-0.7685 x =-0.8700 y =-0.7685 x =-0.7840 y =-0.7685 x =-0.7689 y =-0.7685 x =-0.7685 y =-0.7685 x =-0.7685 y =-0.7685 x =-0.7685 y =-0.7685 x =-0.7685 y =-0.7685 x =-0.7685 y =-0.7685 x =y =-0.7685 x =-0.7685 y =-0.7685 x =-0.7685 y =-0.7685 x =-0.7685 y =-0.7685 x =-61.5948 y =-0.7685-49.2694 y =-0.7685 x =-39.4074 y =-0.7685 x =-31.5158 y =-0.7685 x =-25.2000 y =-0.7685 x =-20.1442-0.7685 x =-16.0957 y =-0.7685 x =-12.8521 y =-0.7685 x =-10.2512 y =-0.7685 x =-8.1634 y =-0.7685-6.4844 y =-0.7685 x =-5.1311 y =-0.7685 x =-4.0373 y =-0.7685 x =-3.1508 y =-0.7685 x =-2.4323 y =-0.7685 x =-1.8546 y =-0.7685 x =-1.4028 y =-0.7685 x =-1.0737 y =-0.7685 x =-0.8700 y =-0.7685 x =y =-0.7685 x =-0.7689 y =-0.7685 x =-0.7685 y =-0.7685 x =-0.7685 y =-0.7685 x =-0.7685 y =-0.7685-0.7685 y =-0.7685 x =-0.7685 y =-0.7685 x =-0.7685 y =-0.7685 x =-0.7685 y =-0.7685 x =-0.7685-0.7685 x =-0.7685 y =-0.7685 >>。

数学matlab实验心得体会

数学matlab实验心得体会

数学matlab实验心得体会在进行数学实验中使用MATLAB进行数据处理和分析,我对这个软件有了更深入的了解和体会。

以下是我在实验中的一些心得和体会。

首先,MATLAB非常适合数学实验。

它提供了许多强大的函数和工具箱,可以方便地进行数值计算和数据处理。

它的语法简单易懂,上手快,对于初学者非常友好。

在实验中,我可以使用内置函数进行数值积分、微分、代数计算等。

MATLAB 还提供了丰富的绘图功能,可以绘制各种图表,帮助我更好地理解和呈现实验结果。

其次,MATLAB的矩阵运算非常方便。

在实验中,我经常需要对大量的数据进行处理和分析。

MATLAB的矩阵运算功能可以极大地简化这个过程。

我可以使用矩阵运算函数进行线性方程组的求解、矩阵的转置、逆矩阵的计算等。

这些函数的使用非常简单,只需要一行代码就可以完成复杂的运算。

使用矩阵运算不仅提高了计算效率,而且可以减少计算错误的风险。

此外,MATLAB还支持符号计算。

在实验中,我有时需要进行符号计算,包括求符号方程的解、求导数和积分的符号表达式等。

MATLAB中的符号计算工具箱可以方便地实现这些功能。

我可以定义符号变量,进行符号计算,并得到符号表达式的数值结果。

符号计算功能极大地扩展了MATLAB的应用范围,使得我可以更全面地进行数学实验。

最后,MATLAB还有一个很大的优势是社区的支持。

MATLAB拥有庞大的用户群体和丰富的资源,我可以在MATLAB的官方网站、论坛、博客等地方找到解决问题的方法和技巧。

如果遇到困难,我可以向社区提问,往往能够得到快速有效的答复。

这为我在实验中遇到的各种问题提供了很大的帮助,使得我能够更好地完成实验任务。

总结起来,MATLAB是一款非常适合数学实验的软件。

它提供了丰富的数值计算和数据处理工具,支持矩阵运算和符号计算,拥有庞大的用户社区。

通过使用MATLAB,我能够更方便、快速地进行数学实验,得到准确的实验结果。

我相信MATLAB在数学研究和工程实践中的应用前景会越来越广阔。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

clc;
a=1;b=1;
ezplot(sprintf('x^2/%f-y^2/%f',a^2,b^2));
hold on;
ezplot(sprintf('x^2/%f-y^2/%f-1',a^2,b^2));
ezsurf('sin(a)*cos(b)','sin(a)*sin(b)','cos(a)',[0,pi,0,2*pi],60); hold on;
ezsurf('x^2+y^2',[-1,1,-1,1],60);
clear all;
x=-8:0.1:8;
y=-8:0.1:8;
[X,Y]=meshgrid(x,y);
Z=sin(sqrt(X.^2+Y.^2))./sqrt(X.^2+Y.^2+2); [X,Y,Z]=peaks(50);
surf(X,Y,Z)
syms x y;
y=2*x^3-6*x^2-18*x+7; solve(diff(y,x),x)
x=-1;eval(y)
x=3;eval(y)
syms x y;
z='x*y';
dblquad(z,1,4,-1,2)
结果
ans =
11.2500
求函数1+x -exp(2*x)+5的原函数clear all
syms x C;
f=int(1+x -exp(2*x)+5,'x')+C
syms x y;
>> x=0:0.01:1;
>> y=sin(sin(x));
>> trapz(x,y)
x=0:0.05:1;
y=[1.97687 2.17002 2.34158 2.46389 2.71512 3.06045 3.27829 3.51992 3.8215 4.2435 4.55188 4.88753 5.15594 5.698 6.04606 6.42701 7.00342 7.50192 7.89178 8.49315 9.0938]
cftool
解常微分方程y’=-0.9y/(1+2x)的数值解y(0)=1
从0 到0. 1 的数值解,取步长0.02
clear all
x1=0;
x2=0.1;
h=0.02;
y(1,1)=1;
for i=1:(x2-x1)/h
y(i+1,1)=y(i,1)-0.9*h*y(i,1)/(1+2*0.02*(i-1)); end
clear
>> s=0;
>> n=1000000;
>> digits(22);
>> for k=1:n
s=s+(-1)^(k-1)/(2*k-1);
end
>> s=vpa(4*s,20)
clear all
P=((1/16)^0)*((4/(8*0+1))-(2/(8*0+4))-(1/(8*0+5))-(1/(8*0+6))); for n=1:5
P=P+((1/16)^n)*((4/(8*n+1))-(2/(8*n+4))-(1/(8*n+5))-(1/(8*n+6))); end
vpa(P,20)
absolute=abs(P-pi)
结果
ans =
3.1415926532280877836
absolute =
3.6171e-010
判断n^2+n+41所求是否有素数
clear all
n=0:100;
V=power(n,2)+n+41
P=isprime(V')
明显可以给出素数
判断在10000之内,由n^2+n+41算得的素数有多少clear all
n=0:100;
V=power(n,2)+n+41
P=isprime(V')
j=0;
for i=1:101
if(V(1,i)<=10000)
if (P(i,1)==1)
j=j+1;
else
j=j;
end
end
end
j
结果为86
判断在10000之内,由n^2-79*n+1601算得的素数有多少clear all
n=0:100;
V=power(n,2)-79*n+1601;
P=isprime(V');
j=0;
for i=1:101
if(V(1,i)<=10000)
if (P(i,1)==1)
j=j+1;
else
j=j;
end
end
end
j
结果为96
判断在10000之内,由6*n^2+6*n+31算得的素数有多少m文件:
function[d] =sushu(n)
d=0;
for i=0:n
a=0;
b=6*i.^2+6*i+31;
for c=2:b-1
if mod(b,c)==0
a=a+1;
end
end
if(a==0)
d=d+1; end
end
主程序:
>> d=sushu(100)
d =
76
简单迭代法:
a 的m 次方根m a 的迭代格式为:])1[(1111---+-=m n n n a a a m m a 程序:
m 文件:
function[b]=diedai(a,c) b=10;
while b-a>c
b=(2*a+2\(a.^2))\3; end
主程序:
>> a=1.5;
>> c=10.^-6;
>> b=diedai(a,c)
初值为1.5
二分法
x1=1;
x2=2;
e=0.0001;
y=0;
while(abs(y-2)>e)
y1=(x1+x2)/2;
y=y2^3;
if(y>2)
x2=y1;
else
x1=y1;
end
end
y1=vpa(y1,10)
结果为
y1=
1.1259918213
(1)
n=8;
x=cosd([90 210 330]');
y=sind([90 210 330]');
tri=[1 2 3];
tnum=1;dnum=3;
for ii=2:n
tri2=zeros(3*tnum,3);
nn=1;
for jj=1:tnum
xnew=(x(tri(jj,[1 2 3]))+x(tri(jj,[2 3 1])))/2;
ynew=(y(tri(jj,[1 2 3]))+y(tri(jj,[2 3 1])))/2;
x=[x;xnew];
y=[y;ynew];
tri2(nn,:)=[tri(jj,1),dnum+1,dnum+3];
tri2(nn+1,:)=[dnum+1,tri(jj,2),dnum+2];
tri2(nn+2,:)=[dnum+3,dnum+2,tri(jj,3)];
nn=nn+3;
dnum=dnum+3;
end
tri=tri2;
tnum=3*tnum;
end
triplot(tri,x,y);
axis image;
axis off;
(2)
x=[0.5;0.5];
plot(x(1),x(2),'.')
h=[0.75 0.90 0.98 1.00];
b1=[0;1.5];
b2=[0;1.5];
b3=[0;0.4];
A1=[0.75 0.04 ;-0.04 0.75];A2=[0.20 -0.3;0.25 0.23]; A3=[-0.15 0.32;0.26 0.24];A4=[0 0 ;0 0.15];
for i=1:20000
r=rand;
if r<h(1)
x=A1*x+b1;
elseif r<h(2)
x=A2*x+b2;
elseif r<h(3)
x=A3*x+b3;
else
x=A4*x;
end
plot(x(1),x(2),'g'),hold on
end
clear all
a=0.04;
for j=1:(4/0.04)
x(1,j)=0.5;
for i=1:98
x(i+1,j)=a*j*x(i,j)*(1-x(i,j));
end
end
clear i j
for j=1:100
for i=1:50
y(i,j)=x(i+49,j);
end
end
t=0.04:0.04:4;
plot(t,y,'b.')
xlabel('a');ylabel('x');title('图1')。

相关文档
最新文档