数值分析作业

发布 2022-08-27 20:08:28 阅读 4720

专业:检测技术与自动化装置。

班级:研1106

姓名:宋振。

学号:2011020164

组员:牟森林。

学号:2011020162

题一:用牛顿迭代法求方程 x^3+10*x-20=0 的根。

牛顿迭代法的源**:

本程序使用牛顿迭代法可以求解任何多项式方程的根,程序调用matlab求导函数,可以自动的求解牛顿迭代法要使用的多项式对应函数的导数。

wrieted by songzhen 2011.10.22

clear清除内存。

syms x定义符号变量。

f = x^3+10*x-20输入求解的方程。

dfdx = diff(f,x计算求解方程函数的微分。

x0=1.5设定迭代初始值。

s=1设置精度存储,并设定初值使其通过循环语句。

while (abs(s)>0.0001设定循环的精度(注意这里有个绝对值函数必须用)

s=(subs(f,x,x0))/subs(dfdx,x,x0));带入牛顿迭代法公式。

x0=x0-s存储迭代出来的根。

end程序结束。

end程序运行结果:

可是无论精度去多么小,这个算法,只迭代不超过5次,说明牛顿迭代法收敛极快。运行如下:

应能注意到上面的s设置已经很小了;但是只是迭代了5次。

题二:求解下列方程的根。

4x1-x2+x3 =6

x1-4.25x2+2.75x3 =-0.5

x1-2.75x2+3.5x3 =1.25

程序源**:

%本程序时使用“高斯消去法”进行线性方程的求解。

%本程序可实现任意阶线性方程的求解,解向量存储于x向量中。

%程序具有一定的容错能力,给出不可求解的提示。

%但是对于可解决的错误并未编写解决程序。

%writed by songzhen 2011.10.23

clear清除内存变量

a = 4 -1 1 6

-1 4.25 2.75 -0.5输入求解方程的矩阵。

n,m]=size(a判断输入方程的合法性。

if (m~=(n+1))

error('输入方程格式错误');方程合法性出错给出提示。

else高斯迭代法变换上三角矩阵。

for k=1:n-1循环进行行变换。

if a(k,k)==0

error('出现无效的变换元素');当首行出现0元素时,无法进行变换。

此时可以互换行解决。

但是没有编写相应的程序,直接给出错误提示。

else for i=k+1:n内部循环解决行变换。

l=a(i,k)/a(k,k

a(i,:)a(i,:)l*a(k进行行变换循环化为上三角矩阵。

endend

endend

回带求解各个x解向量元素。

x(n)=a(n,m)/a(n,n先求x(n)的解。

for k=1:n-1

p=0清零临时变量以备下回循环。

for i=1:k

p=p+a(n-k,m-i)*x(m-i循环回带求解各个解向量元素。

endx(n-k)=(a(n-k,m)-p)/a(n-k,n-k);

end程序结束。

end程序运行结果:

上面a矩阵是变换完毕后的上三角矩阵,x是求解的结果。

程序参考了图书馆matlab工程计算的一本书。

数值分析作业

12.求在 0,1 上的一次最佳平方逼近多项式与二次最佳平方逼近多项式。函数 function s zjpfbj n,a,b 创建一个函数,里面填入次数,和区间范围。base inline x j 1 x j 定义多项式。quan inline 1 x 权函数。a zeros n 1 y zeros...

数值分析作业

实验2.2算法设计与比较。实验目的 编制不同方法的matlab程序,这些方法的计算效果和特点。问题提出 非线性方程的数值解法很多,不同的方法效果如何,要靠计算的实践来分析 比较。实验内容 考虑下列算法 1 牛顿法 2 弦割法 3 抛物线法。分别编写它们的matlab程序。牛顿法程序 function...

数值分析作业

数值分析上机作业。zhh mushan 班级 土木工程一班。姓名 赵惠惠。班级 2010510359 二零一一年六月 舍入误差与有效数。一 问题说明。1 设,其精确值为。1 编制按从小到大的顺序计算通用程序。2 编制按从小到大的顺序计算通用程序。3 按两种顺序分别计算并指出有效位数。编制程序用单精度...