vm/(k-ki) + vi/(k-km) = 3/(3*k+4*g);
vm/(g-gi) + vi/(g-gm) = 6*(k+2*g)/5/g/(3*k+4*g);
其中k,g为未知数,其余已知.
13 个解决方案
#1
各位,帮个忙.谢先!
#2
牛顿迭代适合解非线性方程:
其迭代公式为:Xk+1=Xk-f(Xk)/f'(Xk) f'(x)为f(x)的导数
#include<iostream.h>
#include<math.h>
double f1(double x); //声明原函数
double f2(double x); //声明导函数
void main()
{
double a,x0;x1;
double eps=1e-8; //精度要求
cout<<"please input x0 :";
cin>>x0;
while(1)
{
if(f2(x0)==0) //计算x0处的导函数,若为0.则返回
return;
x1=x0-f1(x0)/f2(x0);
if(abs(x1-x0)<eps) //若满足精度要求就输出
{
cout<<"x1="<<x1<<","
<<"f1(x1)="<<f1(x1)<<","
<<endl;
}
break; //若满足精度要求就跳出
elae //否则就继续循环
x0=x1;
};
}
double f1(double x) //定义原函数
{
//此处声明原函数体
}
double f2(double x) //定义导函数
{
//此处声明导函数体
}
不知道有没有错误,没有调试
其迭代公式为:Xk+1=Xk-f(Xk)/f'(Xk) f'(x)为f(x)的导数
#include<iostream.h>
#include<math.h>
double f1(double x); //声明原函数
double f2(double x); //声明导函数
void main()
{
double a,x0;x1;
double eps=1e-8; //精度要求
cout<<"please input x0 :";
cin>>x0;
while(1)
{
if(f2(x0)==0) //计算x0处的导函数,若为0.则返回
return;
x1=x0-f1(x0)/f2(x0);
if(abs(x1-x0)<eps) //若满足精度要求就输出
{
cout<<"x1="<<x1<<","
<<"f1(x1)="<<f1(x1)<<","
<<endl;
}
break; //若满足精度要求就跳出
elae //否则就继续循环
x0=x1;
};
}
double f1(double x) //定义原函数
{
//此处声明原函数体
}
double f2(double x) //定义导函数
{
//此处声明导函数体
}
不知道有没有错误,没有调试
#3
double a,x0;x1; 应该为:double a,x0,x1;
#4
‘声明’改为‘定义’
double f1(double x) //定义原函数
{
//此处定义原函数体
}
double f2(double x) //定义导函数
{
//此处定义导函数体
}
double f1(double x) //定义原函数
{
//此处定义原函数体
}
double f2(double x) //定义导函数
{
//此处定义导函数体
}
#5
linmue(林木),先谢谢你.
不过我是要求方程组的,求方程的算法和程序我也知道.
不过我是要求方程组的,求方程的算法和程序我也知道.
#6
那还问,把方程组变为方程阿。
#7
Xk+1=Xk-f(Xk)/f'(Xk)
这个方程式怎样?
这个方程式怎样?
#8
那你可以偿试用以下的方法:
高斯消元法
雅可比迭代法
高斯--赛德儿迭代法
不过这些方法都要使用到向量与矩阵知识
高斯消元法
雅可比迭代法
高斯--赛德儿迭代法
不过这些方法都要使用到向量与矩阵知识
#9
你这个方程组化简一下就是非齐次方程组,可以用矩阵来解
#10
上 数值计算 的时候做过这个题目。。。
不过具体的要求不知道和你是否一样。。。。
不过具体的要求不知道和你是否一样。。。。
#11
如果把第一式化为g=f(k),然后代入第二式,可以变为只含k的方程组.........道理是这样的,但这个方程组用 Xk+1=Xk-f(Xk)/f'(Xk) 求解的话,长度超过一米!!!有没有别的简单的方法?
#12
刚才有点笔误.抱歉!
如果把第一式化为g=f(k),然后代入第二式,可以变为只含k的一个方程.........道理是这样的,但这个方程用 Xk+1=Xk-f(Xk)/f'(Xk) 求解的话,长度超过一米!!!有没有别的简单的方法?
如果把第一式化为g=f(k),然后代入第二式,可以变为只含k的一个方程.........道理是这样的,但这个方程用 Xk+1=Xk-f(Xk)/f'(Xk) 求解的话,长度超过一米!!!有没有别的简单的方法?
#13
原来作过的
不过出差中没带代码
等回去再说
找本《电力系统分析〉的书看看,都有,
而且讲的听仔细的
不过出差中没带代码
等回去再说
找本《电力系统分析〉的书看看,都有,
而且讲的听仔细的
#1
各位,帮个忙.谢先!
#2
牛顿迭代适合解非线性方程:
其迭代公式为:Xk+1=Xk-f(Xk)/f'(Xk) f'(x)为f(x)的导数
#include<iostream.h>
#include<math.h>
double f1(double x); //声明原函数
double f2(double x); //声明导函数
void main()
{
double a,x0;x1;
double eps=1e-8; //精度要求
cout<<"please input x0 :";
cin>>x0;
while(1)
{
if(f2(x0)==0) //计算x0处的导函数,若为0.则返回
return;
x1=x0-f1(x0)/f2(x0);
if(abs(x1-x0)<eps) //若满足精度要求就输出
{
cout<<"x1="<<x1<<","
<<"f1(x1)="<<f1(x1)<<","
<<endl;
}
break; //若满足精度要求就跳出
elae //否则就继续循环
x0=x1;
};
}
double f1(double x) //定义原函数
{
//此处声明原函数体
}
double f2(double x) //定义导函数
{
//此处声明导函数体
}
不知道有没有错误,没有调试
其迭代公式为:Xk+1=Xk-f(Xk)/f'(Xk) f'(x)为f(x)的导数
#include<iostream.h>
#include<math.h>
double f1(double x); //声明原函数
double f2(double x); //声明导函数
void main()
{
double a,x0;x1;
double eps=1e-8; //精度要求
cout<<"please input x0 :";
cin>>x0;
while(1)
{
if(f2(x0)==0) //计算x0处的导函数,若为0.则返回
return;
x1=x0-f1(x0)/f2(x0);
if(abs(x1-x0)<eps) //若满足精度要求就输出
{
cout<<"x1="<<x1<<","
<<"f1(x1)="<<f1(x1)<<","
<<endl;
}
break; //若满足精度要求就跳出
elae //否则就继续循环
x0=x1;
};
}
double f1(double x) //定义原函数
{
//此处声明原函数体
}
double f2(double x) //定义导函数
{
//此处声明导函数体
}
不知道有没有错误,没有调试
#3
double a,x0;x1; 应该为:double a,x0,x1;
#4
‘声明’改为‘定义’
double f1(double x) //定义原函数
{
//此处定义原函数体
}
double f2(double x) //定义导函数
{
//此处定义导函数体
}
double f1(double x) //定义原函数
{
//此处定义原函数体
}
double f2(double x) //定义导函数
{
//此处定义导函数体
}
#5
linmue(林木),先谢谢你.
不过我是要求方程组的,求方程的算法和程序我也知道.
不过我是要求方程组的,求方程的算法和程序我也知道.
#6
那还问,把方程组变为方程阿。
#7
Xk+1=Xk-f(Xk)/f'(Xk)
这个方程式怎样?
这个方程式怎样?
#8
那你可以偿试用以下的方法:
高斯消元法
雅可比迭代法
高斯--赛德儿迭代法
不过这些方法都要使用到向量与矩阵知识
高斯消元法
雅可比迭代法
高斯--赛德儿迭代法
不过这些方法都要使用到向量与矩阵知识
#9
你这个方程组化简一下就是非齐次方程组,可以用矩阵来解
#10
上 数值计算 的时候做过这个题目。。。
不过具体的要求不知道和你是否一样。。。。
不过具体的要求不知道和你是否一样。。。。
#11
如果把第一式化为g=f(k),然后代入第二式,可以变为只含k的方程组.........道理是这样的,但这个方程组用 Xk+1=Xk-f(Xk)/f'(Xk) 求解的话,长度超过一米!!!有没有别的简单的方法?
#12
刚才有点笔误.抱歉!
如果把第一式化为g=f(k),然后代入第二式,可以变为只含k的一个方程.........道理是这样的,但这个方程用 Xk+1=Xk-f(Xk)/f'(Xk) 求解的话,长度超过一米!!!有没有别的简单的方法?
如果把第一式化为g=f(k),然后代入第二式,可以变为只含k的一个方程.........道理是这样的,但这个方程用 Xk+1=Xk-f(Xk)/f'(Xk) 求解的话,长度超过一米!!!有没有别的简单的方法?
#13
原来作过的
不过出差中没带代码
等回去再说
找本《电力系统分析〉的书看看,都有,
而且讲的听仔细的
不过出差中没带代码
等回去再说
找本《电力系统分析〉的书看看,都有,
而且讲的听仔细的