数学实验第三版(主编:李继成 赵小艳)课后练习答案(十一)(1)(2)(3)

本文主要是介绍数学实验第三版(主编:李继成 赵小艳)课后练习答案(十一)(1)(2)(3),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

实验十一:非线性方程(组)求解

练习一

练习二

练习三


实验十一:非线性方程(组)求解

练习一

1.求莱昂纳多方程 的解

clc;clear;
p=[1,2,10,-20];
roots(p)

ans =

  -1.6844 + 3.4313i

  -1.6844 - 3.4313i

   1.3688 + 0.0000i

2.求方程 的解.

clc;clear;
f=@(x)exp(x)+10*x-2;
ezplot(f);
grid on
fzero(f,[-2,2])

ans =

    0.0905

练习二

用“二分法”求解下列问题(要求精度达到 )

1.求圆 与曲线 的两个交点坐标

clc;clear;
ezplot('exp(-x)');
hold on
ezplot('x^2+y^2-2');
axis([-5,5,-5,5]);
%精度为10^-5,由图像知有两个交点,我们分别在[-0.5,0.5]和[1,1.5]两个区间二分
f=@(x)sqrt(2-x^2)-exp(-x);
a1=-0.5;a2=0.5;
while abs(a2-a1)>10^-4c1=(a1+a2)/2;if f(c1)==0break;endif f(c1)<0a1=c1;endif f(c1)>0a2=c1;end
end
c1
a1=1;a2=1.5;
while abs(a2-a1)>10^-4c1=(a1+a2)/2;if f(c1)==0break;endif f(c1)>0a1=c1;endif f(c1)<0a2=c1;end
end
c1

c1 =

   -0.3203

c1 =

    1.3922

注:函数的单调性不同时,传递值时的判断条件不同。

2.求方程 的最大正数解和最小负数解,并分别确定二分区间的次数

clc;clear;
ezplot('3*x^2-exp(x)');grid;
%精度为10^-4,该方程有两个解,两个正数解,一个负数解
f=@(x)-(3*x^2-exp(x));
a1=-1;a2=0;%在这里修改数据,第二次a1=4,a2=5
while abs(a2-a1)>10^-4c1=(a1+a2)/2;if f(c1)==0
k=k+1;break;endif f(c1)<0a1=c1;endif f(c1)>0a2=c1;end
k=k+1;
end
c1 ,k

3.求方程 ​​​​​​的正数解

clc;clear;
ezplot('1-x-sin(x)');grid;
%精度为10^-4
f=@(x)-(1-x-sin(x));
a1=0;a2=1;k=0;
while abs(a2-a1)>10^-4c1=(a1+a2)/2;if f(c1)==0k=k+1;break;endif f(c1)<0a1=c1;endif f(c1)>0a2=c1;endk=k+1;
end
c1,k

c1 =0.5109

k =14

练习三

1.方程 在(0,4)内有唯一的实数解,现构造以下三种迭代函数:

(1),迭代初值;

(2) 迭代初值 ;

(3) ,迭代初值

分别用给出的3种迭代函数构造迭代序列观察这些迭代序列是否收敛,若收敛能否收敛到方程的解?除此之外,你还能构造出其他收敛的选代序列吗?

先画出图像:

clc;clear; 
ezplot('x^2+x-4');grid;

(1)

clc;clear; 
a0=4;a1=0;x0=[4];k=0;
while abs(a0-a1)>1.0e-3a1=a0;a0=4-a0^2;x0=[x0,a0];k=k+1;
end
x0

x0 =

  1.0e+274 *

  列 1 至 10

    0.0000   -0.0000   -0.0000   -0.0000   -0.0000   -0.0000   -0.0000   -0.0000   -0.0000   -4.9971

  列 11 至 12

      -Inf      -Inf

显然,该迭代函数不收敛。

(2)

clc;clear; 
format long
a0=4;a1=0;x0=[4];k=0;
while abs(a0-a1)>1.0e-5a1=a0;a0=4/(1+a0);x0=[x0,a0];k=k+1;
end
x0,k

x0 =

  列 1 至 5

   4.000000000000000   0.800000000000000   2.222222222222222   1.241379310344828   1.784615384615385

  列 6 至 10

   1.436464088397790   1.641723356009070   1.514163090128755   1.590986684875384   1.543813414152062

  列 11 至 15

   1.572442372442373   1.554942510219287   1.565592957180350   1.559093771599724   1.563053313790665

  列 16 至 20

   1.560638625220067   1.562110311311980   1.561213029095425   1.561759976448632   1.561426533622873

  列 21 至 25

   1.561629797885483   1.561505883208351   1.561581422171047   1.561535372398912   1.561563444760846

  列 26 至 28

   1.561546331472360   1.561556763917999   1.561550404169786

k=27

由以上数列知,该迭代函数收敛,且收敛于1.56155.

(3)

clc;clear; 
format long
a0=4;a1=0;x0=[4];k=0;
while abs(a0-a1)>1.0e-5a1=a0;a0=a0-(a0^2+a0-4)/(2*a0+1);x0=[x0,a0];k=k+1;
end
x0,k

x0 =

  列 1 至 5

   4.000000000000000   2.222222222222222   1.641723356009070   1.563053313790665   1.561553358481398

  列 6

   1.561552812808902

k =5

其他方法:

clc;clear; 
format long
a0=4;a1=0;x0=[4];k=0;
while abs(a0-a1)>1.0e-5a1=a0;a0=sqrt(4-a0);%构造x=sqrt(4-x)x0=[x0,a0];k=k+1;
end
x0,k

x0 =

  列 1 至 5

   4.000000000000000                   0   2.000000000000000   1.414213562373095   1.608038070950718

  列 6 至 10

   1.546596886408764   1.566334291775302   1.560021060186271   1.562043193965432   1.561395787759967

  列 11 至 14

   1.561603090493879   1.561536714107651   1.561557967509483   1.561551162303213

k =13

2.用单点弦截法求示例3中方程解的近似值(误差< ).

注:示例三中方程为:

显然,该二次方程由两个解:一个正解和一个负解。

我们分别选取(2,3)、(1,-1)和(-3,3)、(-2,-1)作为初始弦端点进行迭代。

clc;clear; 
format long
f=@(x)x^2+x-3;
%正解
a=1;b=2;t=a;k=0;%这里可以修改数值
while abs(t)>1.0e-5m=b-(b-a)/(f(b)-f(a))*f(b);t=m-a;a=m;k=k+1;
end
m,k

m =1.302774668159284

k =7;

负解的情况令a=-2,b=-3即可。(其他不用变)

m =-2.302774668159283

k = 7

3.用双点弦截法求方程的解(误差<).

首先画出函数图形。

clc;clear; 
f=inline('2^x-x^2-1');
ezplot(f);grid;

由图形知该函数有三个零点。

clc;clear; 
format long;
x0=-0.5;x1=0.5;k=0;%在这里更改x0和x1值
while abs(x0-x1)>1.0e-5x2=x1-f(x1)/(f(x1)-f(x0))*(x1-x0);x0=x1;x1=x2;k=k+1;
endx2

x2 = 2.597847652721268e-13

x2 =0.999999996956345

x2 =4.257461915372301

注:这里我们要注意刚开始时,谁做为x0,谁做为x1.经过我的观察,x0点一定符合

同号这个条件,而x1即为另一个点。

4.用牛顿切线迭代法求方程 的解,你能否构造出其他形式的选代序列,使其收敛到该方程的一个解?

首先我们要判断该方程的解在哪个区间内,画出该函数的图像;其次,再该区间内该函数的凸凹性是怎么样的。

clc;clear; 
syms x
f=x^2-2*x*exp(x)+exp(-x);
figure(1)
ezplot(f);grid;
f2=diff(f,x,2);
figure(2)
ezplot(f2);grid;

 由上图分析知,区间[0,1]包含零点,且该范围内的函数为凸函数。

clc;clear; 
f=inline('x^2-2*x*exp(x)+exp(-x)');
f1=inline('2*x-2*exp(x)-2*x*exp(x)-exp(-x)');
m=min(abs(f1(0)),abs(f1(1)));a=0;b=1;k=0;x0=1;
while abs(f(x0))>m*1.0e-5x1=x0-f(x0)/f1(x0);k=k+1;x0=x1;
end
x0,k

x0 =0.305710729721677

k =4

其他迭代:不妨使用一下双点弦截法

clc;clear; 
format long
f=inline('x^2-2*x*exp(x)+exp(-x)');
x0=1;x1=0;
while abs(x0-x1)>1.0e-5x2=x1-f(x1)/(f(x1)-f(x0))*(x1-x0);x0=x1;x1=x2;
end
x0

x0 =0.305707037220051

本文由作者自创,由于时间原因,难免出现些许错误,还请大家多多指正。创作不易,请大家多多支持。

这篇关于数学实验第三版(主编:李继成 赵小艳)课后练习答案(十一)(1)(2)(3)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/716507

相关文章

uva 10014 Simple calculations(数学推导)

直接按照题意来推导最后的结果就行了。 开始的时候只做到了第一个推导,第二次没有继续下去。 代码: #include<stdio.h>int main(){int T, n, i;double a, aa, sum, temp, ans;scanf("%d", &T);while(T--){scanf("%d", &n);scanf("%lf", &first);scanf

uva 10025 The ? 1 ? 2 ? ... ? n = k problem(数学)

题意是    ?  1  ?  2  ?  ...  ?  n = k 式子中给k,? 处可以填 + 也可以填 - ,问最小满足条件的n。 e.g k = 12  - 1 + 2 + 3 + 4 + 5 + 6 - 7 = 12 with n = 7。 先给证明,令 S(n) = 1 + 2 + 3 + 4 + 5 + .... + n 暴搜n,搜出当 S(n) >=

uva 11044 Searching for Nessy(小学数学)

题意是给出一个n*m的格子,求出里面有多少个不重合的九宫格。 (rows / 3) * (columns / 3) K.o 代码: #include <stdio.h>int main(){int ncase;scanf("%d", &ncase);while (ncase--){int rows, columns;scanf("%d%d", &rows, &col

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言

poj 3104 二分答案

题意: n件湿度为num的衣服,每秒钟自己可以蒸发掉1个湿度。 然而如果使用了暖炉,每秒可以烧掉k个湿度,但不计算蒸发了。 现在问这么多的衣服,怎么烧事件最短。 解析: 二分答案咯。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <c

数学建模笔记—— 非线性规划

数学建模笔记—— 非线性规划 非线性规划1. 模型原理1.1 非线性规划的标准型1.2 非线性规划求解的Matlab函数 2. 典型例题3. matlab代码求解3.1 例1 一个简单示例3.2 例2 选址问题1. 第一问 线性规划2. 第二问 非线性规划 非线性规划 非线性规划是一种求解目标函数或约束条件中有一个或几个非线性函数的最优化问题的方法。运筹学的一个重要分支。2

STM32(十一):ADC数模转换器实验

AD单通道: 1.RCC开启GPIO和ADC时钟。配置ADCCLK分频器。 2.配置GPIO,把GPIO配置成模拟输入的模式。 3.配置多路开关,把左面通道接入到右面规则组列表里。 4.配置ADC转换器, 包括AD转换器和AD数据寄存器。单次转换,连续转换;扫描、非扫描;有几个通道,触发源是什么,数据对齐是左对齐还是右对齐。 5.ADC_CMD 开启ADC。 void RCC_AD

java线程深度解析(一)——java new 接口?匿名内部类给你答案

http://blog.csdn.net/daybreak1209/article/details/51305477 一、内部类 1、内部类初识 一般,一个类里主要包含类的方法和属性,但在Java中还提出在类中继续定义类(内部类)的概念。 内部类的定义:类的内部定义类 先来看一个实例 [html]  view plain copy pu

HNU-2023电路与电子学-实验3

写在前面: 一、实验目的 1.了解简易模型机的内部结构和工作原理。 2.分析模型机的功能,设计 8 重 3-1 多路复用器。 3.分析模型机的功能,设计 8 重 2-1 多路复用器。 4.分析模型机的工作原理,设计模型机控制信号产生逻辑。 二、实验内容 1.用 VERILOG 语言设计模型机的 8 重 3-1 多路复用器; 2.用 VERILOG 语言设计模型机的 8 重 2-1 多

【附答案】C/C++ 最常见50道面试题

文章目录 面试题 1:深入探讨变量的声明与定义的区别面试题 2:编写比较“零值”的`if`语句面试题 3:深入理解`sizeof`与`strlen`的差异面试题 4:解析C与C++中`static`关键字的不同用途面试题 5:比较C语言的`malloc`与C++的`new`面试题 6:实现一个“标准”的`MIN`宏面试题 7:指针是否可以是`volatile`面试题 8:探讨`a`和`&a`