数值分析实验报告(二分法求年利率)

时间:2024.4.7

《数值分析》

课 程 实 验 报 告


【实验内容与要求】

      每个月存250元,并持续20年,希望在20年后本金和利息的总值达到250000元。年利率x为多少时可以满足需求?

【算法说明】

1. 将方程简化,然后用二分法逼近方程的根,从而求解。

2. 二分法求解思想

 方程 f(x)=0在区域【a,b】内求解

A.  计算端点的值f(a),f(b);

B.  计算f(x)在区间中点(a+b)/2处的值,即的值;

C.  若则(a+b)/2就是方程的根,计算过程结束,否则继续检验:

,则以(a+b)/2代替b,否则以(a+b)/2代替a.

反复执行步骤B,C直到区间【a,b】的长度小于允许误差ε,此时中点(a+b)/2即为所有近似根。

【源程序】

程序1(ps:二分法)

#include <math.h>

#include <stdio.h>

//float p;

//int n;

int m=250000;

void main()

{

    float x,x1=0,x2=1;

    float p;

    int n;

    float F(float x,float x1,float x2);

    printf("请输入每个月存入的金额p和存款年份n的值:\n");

    scanf("%f%d",&p,&n);

    printf("x=%f\n",F(x,x1,x2));

}

float F(float x,float x1,float x2)

{

    float f,f1,f2;

    float p;

    int n;

    do

    { 

        f1=(p*12/x1)*(pow((1+x1/12),n*12)-1)-m; 

        f2=(p*12/x2)*(pow((1+x2/12),n*12)-1)-m;

    }while(f1*f2>0);        //确保输入的x1,x2使得f1,f2符号相反

     do

     { 

         x=(x1+x2)/2;         //求x1,x2的中点 

         f=(p*12/x)*(pow((1+x/12),n*12)-1)-m; 

     if(f1*f>0)           //当f与f1符号相同时 

     {

         x1=x;f1=f;

     } 

         else if(f2*f>0)      //当f与f2符号相同时 

         {

             x2=x;f2=f;

         }

     }while(fabs(f)>1e-6);    //判断条件fabs(f)>1e-6的意思是f的值趋于0

     return x;

}

程序2(ps:程序二是根据题意及结果分析直接写的代码,并没有用二分法)

#include<iostream>

#include <math.h>

using namespace std;

double sum=250;//sum表示总的本息和

double fun(double x){//计算本息和

    double sum1=250;//sum1表示每个月的本息和

    for(int i=0;i<240;i++){//20年,共240个月

        sum1*=(1+x/12);

        sum+=sum1;

    }

    return sum;

}

void main(){

    double x=0.0035;//0.0035是我网上搜的最小的利率

    do{

        fun(x);

        x+=0.0001;//利率增加的单位大小为0.0001

    }while(sum<250000);//当本息和小于250000时,一直执行程序

    cout<<"所求的最小年利率为:"<<x<<endl;

}

【实验结果】

程序一得出的答案,但是可能是方程有问题,故答案有问题,即得到利率为0

程序二得出的结果年利率为x=0.004

【实验结果分析与说明】

     设每个月存钱p,且年利率为x,存了N次后,钱的总数为

P为最近年的钱数

第一年的本金和利息     

第二年的本金和利息     

…………

第N年的本金和利息

求N项级数和的公式为:

 

利用二分法 对方程求解。


第二篇:数值分析实验报告一


《数值分析》实验报告一

——海底测量问题(插值法的应用)

姓名:徐元君  学号:200820402024  学院:物理电子学院

一、实验问题

下表中给出了水面直角坐标处水深,这是在低潮时候测得的。如果船的吃水深度为,求:在矩形域中行船应避免进入哪些区域?

二、问题分析

从表中可以看出,这是一批不规则数据。由于没有先验函数,因此我们使用插值法(即在生产实验和科学研究中,由实验和测量得到了变量间的一批离散样点,要求得到变量之间的函数关系或得到样点之外的数据值,与此有关的一类问题即为插值问题)。为了使结果更为直观,考虑将的数据转化为相对于海面的高度。具体分析为:

1显示测量点在水平面的具体位置;

2通过Matlab的griddata命令对杂乱的数据进行插值,显示海底的地形图,找出存在暗礁的大概区域;

3进一步显示水深不到5米的区域,即为避免船进入的危险区;

三、程序设计

clear;

close;

%显示测量点的位置

figure(1);

x=[129 140 108 88 185 195 105 157 107 77 145 162 162 117];

y=[7 141 28 147 22 137 85 -6 -81 3 45 -66 84 -138];

plot(x,y,'*');%绘制二维曲线图

title('测量点的位置');

%显示所考虑区域内的海底地形图

figure(2);

z=[4 8 6 8 6 8 8 9 9 8 8 9 4 9];

h=-z;

xi=75:5:200;

yi=[-50:10:150]';

HI=griddata(x,y,h,xi,yi,'cubic');%杂乱数据插值

mesh(xi,yi,HI);%绘制网线图

view(-60,30);%视角转换

title('海底地形图');

%显示水深不到5米的区域

figure(3);

contour(xi,yi,HI,[-5,-5],'b');%绘制二维等高线图

title('水深不到5米的区域');

四、实验结果

通过Matlab的程序运行结果分别如下:

图1.测量点的位置

图2.海底地形图

图3.危险区域

五、实验结论

    由图1中我们清晰的看到了测量点的位置;在图2中我们通过海底地形图清晰的看见在坐标(129,7.5)和(162,84)附近各有一块暗礁;通过图3我们进一步看到了水深不到5m的两个区域,即为所求的避免船只进入的两个危险区。

更多相关推荐:
数值分析实验报告(一)(完整)

数值分析实验报告123456

数值分析实验报告(包含源程序)

课程实验报告课程实验报告课程实验报告课程实验报告

哈工大-数值分析上机实验报告

实验报告一题目非线性方程求解摘要非线性方程的解析解通常很难给出因此线性方程的数值解法就尤为重要本实验采用两种常见的求解方法二分法和Newton法及改进的Newton法前言目的和意义掌握二分法与Newton法的基...

数值分析 实 验 报 告

数值分析实验报告册课程实验报告专业年级课程名称数值分析指导教师学生姓名学号实验日期实验地点实验成绩教务处制20xx年6月20日实验名称Lagrange插值实验一实验目的数值分析实验报告册掌握Lagrange插值...

数值分析matlab完整版实验报告

数值分析报告运用Matlab求解非线性方程的根学院专业班级姓名学号数值分析报告1目的掌握非线性方程求根的方法并选取实例运用MATLAB软件进行算法的实现分别用牛顿法弦截法和抛物线法求非线性方程的根2报告选题报告...

数值分析实验报告

实验21多项式插值的振荡现象实验目的在一个固定的区间上用插值逼近一个函数显然Lagrange插值中使用的节点越多插值多项式的次数就越高我们自然关心插值多项式的次数增加时Lnx是否也更加靠近被逼近的函数Runge...

数值分析实验报告三

数学与信息工程学院实课程名称实验室实验台号班级姓名实验日期验报告计算方法740420xx年5月21日

数值分析上机实验报告七

西安工程大学数值计算方法实验报告实验报告七题目线性方程组的直接解法摘要在数值计算中关于线性方程组的解法有两类直接法和迭代法本实验研究线性方程组的直接解法前言目的和意义掌握线性方程组的直接解法如高斯消去法LU解法...

数值实验报告

重庆交通大学学生实验报告实验课程名称开课实验室数学实验室学院理学院年级09专业班学生姓名学号开课时间至学期实验五解线性方程组的直接方法实验51主元的选取与算法的稳定性问题提出Gauss消去法是我们在线性代数中已...

电子科技MATLAB与数值分析第一次实验教学及内容 - 副本

第一次实验教学的具体安排第一次实验教学1MATLAB软件操作及程序设计实验内容具体实验要求及相关内容见实验一实验时间第7周的周一到周三晚上19002130实验方式混合班学生按照自己的时间自由安排但必须带本人学生...

数值分析上机实验报告

实验报告一题目非线性方程求解摘要非线性方程的解析解通常很难给出因此线性方程的数值解法就尤为重要本实验采用两种常见的求解方法二分法和Newton法及改进的Newton法前言目的和意义掌握二分法与Newton法的基...

数值分析实验报告

第一次作业题目作业1试使用subplot命令生成11上的第二个至第五个Chebyshev多项式并按照22方式多窗口显示选做题12应用秦九韶算法计算多项式10110nn0nnpxaxaxaxaaL在xx处的函数值...

数值分析实验报告(29篇)