【MATLAB实验】数学实验实验求根问题三种方法、积分画图及古典密码设计(二分法、牛顿法、不动点迭代法)

目录

特征值与特征向量

求最简型

 编程题

 求积分问题(quad、trapz、int)

求根问题(二分法、不动点迭代法、牛顿法)

1.二分法:

 2.不动点迭代法

3.牛顿切线法

画图题

画螺旋曲线图

 画椭圆抛物面图

 画马鞍面图

画三角曲面图

密码问题(古典密码设计)

​编辑

 微分方程数值解问题


特征值与特征向量

求矩阵A=[5 0 0;0 3 4;0 4 3]的特征值和特征向量。

         矩阵特征值的数学定义:设A是n阶方阵,如果存在常数λ和n维非零列向量x,使得等式Ax=λ x成立,则称λ为A的特征值,x是对应特征值λ的特征向量。

        [X,D]=eig(A):求矩阵A的全部特征值,构成对角阵D,并产生矩阵X,X各列是相应的特征向量

求最简型

求矩阵A=[1 9 2 8;1 9 3 1;1 9 3 2;1 9 3 7;1 9 3 8;1 9 4 5]的行最简型。

 编程题

1.编函数文件 y=sushu(n),若n为素数返回y的值为1,否则,返回y的值为0。并在命令窗口,调用y=sushu(33)。

function y=sushu(n)
    y=1;
    for i=2:n-1
        if mod(n,i) == 0
            y=0;
        end
    end
end

 2.编写函数文件“sushu_n.m”,使得在命令窗口调用“y=sushu n(n)”求小于n的所有素数,即函数返回值y是一个矩阵,它的没个元素都是小于n的素数,并在命令窗口调用y=sushu n(20)。

function y=sushu_n(n)
    y = [];
    for i = 2:n - 1
        flag = 0;
        for j = 2:i - 1
            if mod(i, j) == 0
                flag = 1;
            end
        end
        if flag == 0
            y = [y, i];
    end
end

3.求小于等于n的数的阶乘之和。并在窗口调用y=jiecheng(10)。(如y=jiecheng(4)=1!+2!+3!+4!)

function y=jiecheng2(n)
y=0;
for i=1:n
    x=1;
    for j=1:i
        x=x*j;
    end
    y=y+x;
end

 求积分问题(quad、trapz、int)

1.用quad计算\int_{0}^{1} e^{x^2} dx的值。

2.用trapz计算\int_{0}^{1} e^{x^2} dx的值。

3. 分别用梯形法与抛物线法,计算\int_{1}^{2} \frac{dx}{x},将积分区间[1,2]作120等分,并尝试直接使用函数trapz(),quad()进行计算求解,比较结果的差异。

%trapz梯形法
x=1:2/120:2;
y=1./x;
trapz(x,y)
ans=0.6858

%quad辛普森法
quad('1./x',1,2)
ans =0.6931

%符号求积分
int('1/x','x',1,2)
ans =log(2)

我们发现梯形法和辛普森法都能够计算出结果,结果相近似但与真实的值有差异,有一定差异,而符号法求出的积分为log(2)为真实的值。

 4.试计算定积分\int_{0}^{\infty} \frac{sinx}{x}。(注意:可以使用trapz()和quad或者附录程序求解吗?)

注意这里不能够使用trapz()函数和quad函数 。

求根问题(二分法、不动点迭代法、牛顿法)

1.二分法:

用二分法求f(x)=x^3-x-21在[2,3]内一个近似根\xi,满足|f(\xi )<10^{-6}|

clear,clc
a=2;b=3;x=0.5*(a+b);
f=@(x)x^3-x-21;
while abs(f(x)) > 0.000001
    if f(a)*f(x)<0
        b=x;x=0.5*(a+b);
    else
        a=x;x=0.5*(a+b);
    end
end
disp('the root is'),x=x
str1=sprintf('f(x)=%d',f(x));
disp(str1)

 2.不动点迭代法

x^5+9x-10在[0,2]上的根。(fun函数是将x放到一边,如本题x=(10-x^5)/9

clear,clc
f=@(x)x^5+9*x-10;
fun=@(x)(10-x^5)/9;
x=1.5;
while abs(f(x))>0.000001
    x=fun(x);
end
fprintf('x=%f,f(x)=%f\n',x,f(x))

3.牛顿切线法

用牛顿法求方程f(x)=x^3+5x^2-15=0在[1,1.5]内的实根,取迭代的初始值x_0=1.5

x=1.5;k=0;
f=@(x)x^3+5*x^2-15;
df=@(x)3*x^2+10*x;
[k,x,f(x)]
while abs(f(x))>0.000001
    x=x-f(x)/df(x);
    k=k+1;
    [k,x,f(x)]
end

画图题

画螺旋曲线图

绘制简单的螺旋曲线f(x)=\left\{ \begin{aligned} x & = cos(t) \\ y & = sin(t) \\ z & = t \end{aligned} \right. ,t\epsilon [0,10 \pi]]

画出空间曲线 f(x)=\left\{ \begin{aligned} x & = t cos(t) \\ y & = tsin(t) \\ z & = t \end{aligned} \right. ,t\epsilon [-10\pi,10 \pi]]

 画椭圆抛物面图

用函数surf画出z=x^2+2y^2 , (x,y)\epsilon [-10,10]\times [-10,10]表示的图形。

 画马鞍面图

1.用mesh函数画出z=xy , (x,y)\epsilon [-10,10]\times [-10,10]表示的图形。

 2.用mesh函数画出z=x^2-2y^2 , (x,y)\epsilon [-10,10]\times [-10,10]表示的图形。

画三角曲面图

绘制z=sinx \cdot cosy 的带等高线的三维曲面图(surfc,x,y的取值范围为[0,2pi])。

密码问题(古典密码设计)

 1.

2.

 微分方程数值解问题

  • 3
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实验一: 使用二分法牛顿法方程的根 1.实验目的 正确理解方程求根划界法和开放法,能够编程实现其中指定的方法,并且通过比较, 分析出两类方法的优缺点。 2. 实验任务 分别用二分法牛顿法方程在区间[2,3]内的根,观察两种方法的迭代次数,并说明原因。 实验二: 使用高斯消元法和列主高斯消元法方程组 1.实验目的 正确理解原始高斯消去法,并清楚其优缺点,正确理解列主元消去法,并且可以在程序中体现出其优势。 2. 实验任务 用原始高斯消去法、列主元消去法分别方程组,并比较结果的精度 实验三:理解和使用插值和拟合,实现预测 1.实验目的 理解数据插值和拟合应用场景,能够根据数据特点,正确选择算法,并且能够编程实验相关算法。 2。实验任务 某乡镇企业2010-2016年的大致生产利润如下表,试采用正确的方法预测2017和2018年的利润 年份 2010 2011 2012 2013 2014 2015 2016 利润(万元) 70 122 144 152 174 196 202 实验四: 理解数据插值和拟合,完成本实验 1.实验目的 理解数据插值和拟合应用场景,能够根据数据特点,正确选择算法,并且能够编程实验相关算法。 2. 实验任务 战斗机机翼外形根据工艺要由一组数据(x,y)给出,用程控铣床加工对每一刀只能沿x方向和y方向切割很小的一步,因此需要从已知数据得到满足加工所要的步长很小的每一步坐标。 下表给出的x,y数据位于机翼断面的下轮廓上,假设需要得到x坐标每改变0.1时的y坐标,试完成加工所需要数据,并画出曲线。 x 0 3 5 7 9 11 12 13 14 15 Y 0 1.2 1.7 2.0 2.1 2.0 1.8 1.2 1.0 1.6

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值