MATLAB里面本来就是有函数调用的 叫fslove
这是本人的一个函数例子 也是解方程组的
mfunction q=myfun(p)
a(1)=4.04;
a(2)=2.2525;
a(3)=1.4422;
b(1)=20.2;
b(2)=50.5;
b(3)=72.108;
x(1)=p(1);
x(2)=p(2);
x(3)=p(3);
x(4)=p(4);
x(5)=p(5);
x(6)=p(6);
q(1)=x(1)*sin(x(2))-a(1)*x(5);
q(2)=x(1)*sin(x(3))-a(2)*x(5);
q(3)=x(1)*sin(x(4))-a(3)*x(5);
q(4)=x(1)*cos(x(2))-a(1)*x(6)-b(1);
q(5)=x(1)*cos(x(3))-a(2)*x(6)-b(2);
q(6)=x(1)*cos(x(4))-a(3)*x(6)-b(3);
% x=fsolve(#39;myfun#39;,[0.5 0.5 0.5 0.5 0.5 0.5]#39;,optimset(#39;Display#39;,#39;off#39;));
简述求解非线性方程的常用的方法有哪些
求解非线性方程的主要方法有:迭代法、二次插值法、切比雪夫迭代法、艾特肯加速法等.
当f(x)是超越函数或高次多项式时,f(x)=0称为非线性方程,此类方程除少数情形外,只能求近似解
求解非线性含三角函数的三个方程求解三未知数
1、对于简单的三角方程,可以用solve()来求解,得到解析解。如 其求解代码和结果为 2、对于复杂的三角方程,可以用Broyden(拟牛顿法)等方法来求解,得到数值解。如 其求解过程如下 ①建立自定义函数文件,funm。m function y = funm(x) %x=x(1,1),y=x(2,1) y(1,1) = x(1,1) - 0.7 * sin(x(1,1)) - 0.2 * cos(x(2,1)); y(2,1) = x(2,1) - 0.7 * cos(x(1,1)) + 0.2 * sin(x(2,1)); end ②编写Broyden文件,Broyden。m ③在命令窗口输入
我需要解析解,不要用matlab做的空间数值解
matlab求解非线性方程
如果你有n个未知数n个方程,就定义一个输入输出都是n*1列向量的函数,然后用fsolve解。比如你想解方程组
x1^2+x2=7
x2^3+exp(x1)=100
就定义一个函数
func1=@(x)[x(1)^2+x(2)-7;x(2)^3+exp(x(1))-100];
x=fsolve(func1,[1;1])
在Matlab中用什么函数求解非线性方程的根?写出求解如下非线性方程根的Matlab代码。 x^2+exp(x)-3=0
利用solve函数,其格式为:
a=solve('等式')
代码如下:
a=solve(' x^2+exp(x)-3=0')
结果
a =
0.83448686530875878609110168012734
a=solve(' x^2+exp(x)-3=0')这个代码就直接能在matlab中运行了?本人菜鸟一个,请给能直接在matlab中运行的代码。谢谢。
可以啊,我是在matlab中复制过来的。
求解非线性二元方程
其实像这样非线性的方程组求解的话,你可以通过计算机画图,以s和φ作为两个变量,s做自变量,φ做应变量。这个题目你在计算机上画两个函数方程曲线,曲线交点的坐标不就是你要求的s和φ了嘛!如果有多个解的话根据条件舍去一些点!
求解非线性方程组目前比较前沿的方法是什么?
先进的有拟牛顿法比如BFGS,DFP等。。最先进的还有L-M法(最小二乘解),不过这些都是局部最优解,,听说有个软件可以解全局最优解,,,很贵,你可以关注下。1stOpt。。你的六元方程已经很好解了。。,,工程中经常越到几十个未知数。呵呵。。。另外牛顿法速度已经非常快了。。。。
转载请注明出处51数据库 » r软件求解非线性方程 求解大型非线性方程组有什么软件
醉心客巛