添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
正直的键盘  ·  Python ...·  2 月前    · 
才高八斗的骆驼  ·  ImportError: ...·  1 年前    · 

//本程序基于.NET平台,编译环境是Microsoft Visual C++ .NET
//对于VC++6.0平台的修改,只须把stdafx.h换成iostream.h,然后去掉主函数里的“using namespace std”
//关于计数器的设计代码,需要动大手术,以优化代码,使之简洁
#include <stdafx.h>
#include <math.h>
#define eps 1e-6 //精度
using namespace std;
int ge=1;
double f(double x)              //方程
{
double p=x*x+2*x-3;
return p;
}

double gexian(double xk0,double xk)           //迭代函数,割线法
{
ge++;
double xk1;
cout<<"xk0="<<xk0<<'/n'<<"xk="<<xk<<'/n';
//迭代公式
xk1=xk-f(xk)*(xk-xk0)/(f(xk)-f(xk0));
//迭代替换
xk0=xk;
xk=xk1;
//
cout<<"xk1="<<xk1<<'/n'<<endl;
//判断是否继续迭代运算
while(fabs(f(xk1))>eps) xk1=gexian(xk0,xk);
// cout<<"迭代次数为:"<<ge<<endl;
return xk1;
}

double newton(double x)           //迭代函数,牛顿法
{
double tem;
tem=x-(x*x+2*x-3)/(2*x+2);
return tem;
}

double main_gexian()     //主函数
{
cout<<"割线法/n";
cout<<"输入一个字母(e退出):";
char exit;//定义出口
cin>>exit;
cout<<"说明:输入两个不相等的数。/n";
double x_k0,x_k,tmp_1;
while(exit!='e')
{
cout<<"输入两个数:";//初值
cin>>x_k0>>x_k;
//根
tmp_1=gexian(x_k0,x_k);
cout<<"根为"<<tmp_1<<'/n';
//出口
cout<<"迭代次数为:"<<ge<<endl;
cout<<"输入字母(e退出):";
cin>>exit;
}
return 0;
}

double main_newton()     //主函数
{
cout<<"牛顿法/n";
cout<<"说明:输入一个非-1的数。输入-1退出……"<<'/n';
cout<<"输入:";
double s;
cin>>s;
cout<<endl;
while(s!=-1)
{
int count1=0,count2=0;//计数值

while(s!=-1) //正区间运算
{
double tmp_x=newton(s);
double f_x=f(tmp_x);
count1++;
if(fabs(f_x)<eps)
{
cout<<'/n'<<'/n'<<"x1="<<tmp_x;
cout<<"    运算次数为:"<<count1<<'/n'<<endl;
break;
}
else
{
cout<<"x_1="<<tmp_x<<'/n';
newton(tmp_x);
}
s=tmp_x;
};

double s0=s*(-1)-1;   //将输入数转化到以-1为分界点的两个区间
if(s==0) s0=-2;

while(s0!=-1)//负区间运算
{
double tmp_y=newton(s0);
double f_y=f(tmp_y);
count2++;
if(fabs(f_y)<eps)
{
cout<<'/n'<<'/n'<<"x2="<<tmp_y;
cout<<"    运算次数为:"<<count2<<'/n';
break;
}
else
{
cout<<"x_2="<<tmp_y<<'/n';
newton(tmp_y);
}
s0=tmp_y;
};
cout<<"/n输入:";
cin>>s;
};

if(s==-1) cout<<"结束!";//判断除法可行性
return 0;
}


double main()
{
char select;
while(1)
{
cout<<"选择迭代方式/n(a为割线法,b为牛顿法,c退出):";
cin>>select;
cout<<'/n';
if(select=='a')
{
main_gexian();
}
else if(select=='b')
{
main_newton();
}
else if(select=='c') break;
}
return 0;
}

//本程序基于.NET平台,编译环境是Microsoft Visual C++ .NET//对于VC++6.0平台的修改,只须把stdafx.h换成iostream.h,然后去掉主函数里的“using namespace std”//关于计数器的设计代码,需要动大手术,以优化代码,使之简洁#include #include #define eps 1e-6 //精度using namespace
牛顿 割线法 求根牛顿 割线法 c语言实现合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 牛顿 割线法 牛顿 割线法 可以理解为简化版的牛顿迭...
matlab实现二分法、 牛顿法 割线法 求方程的解欢迎使用Markdown编辑器二分法二分法的matlab代码功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown
double r;int i=0; if (quest(m)*quest(n)>0) printf ("There are no roots in this area\n"); while (fabs(n-m)>esp)
1 . 实验目的 (1) 通过对二分法与牛顿迭代法作编程练习与上机运算,进一步体会二分法与牛顿迭代法的不同特点。 (2) 编写割线迭代法的程序,求非线性方程的解,并与牛顿迭代法作比较。 2 . 实验内容 (1) 用 牛顿法 求下列方程的根: (2) 编写一个 割线法 的程序,求解上述各方程。 3 . 实验步骤 牛顿迭代法流程图: 割线法 :将上图所示的 牛顿法 流程图的迭...
参考链接 牛顿法 ——知乎。比如说我想求一个函数f(x)=0f(x)=0f(x)=0的解,利用牛顿迭代法的话可以如下构造: xn+1=xn−f(xn)f′(xn)x_{n+1}=x_n-\frac{f(x_n)}{f'(x_n)}xn+1​=xn​−f′(xn​)f(xn​)​ 下面时C语言实现代码 #include < math .h> #include <stdio.h> #include <stdlib.h> #define N 200
把下面的话换一种表达方式:随后Masui等利用获取的原位含水合物土试样,在液氮冷冻的条件下将其转移至相应的三轴测试设备中,首次对天然含水合物土样品进行了力学测试,并与人工合成的丰浦砂含水合物土试样进行了对比,比较结果表明两者在破坏模式、应力曲线、力学强度、泊松比等力学指标上并未有太大的差距,而两者在割线模上的区别可能主要来源于各自骨架材料在粒径上的差异。