![]() |
怎么解这非线性方程组
本人刚接触matlab不久,菜鸟级的,希望各位帮下,谢谢了
已知某非线性方程组如下: ff(1)=(3-5*x(1))*x(1)+1-2*x(2)=0 for k=2:9 ff(k)=(3-5*x(k))*x(k)+1-x(k-1)-2*x(k+1)=0 end ff(10)=(3-5*x(10))*x(10)+1-x(9)=0 试求该方程组的解。 |
回复: 怎么解这非线性方程组
方程求解应该用mathematica,给出数值解方法,算出来1024组解(想算符号解的话把最开头第一个N去掉,估计电脑死机了也算不出来)
NSolve[Flatten[{Table[(3 - 5 Subscript[x, i]) Subscript[x, i] + 1 - Subscript[x, i - 1] - 2 Subscript[x, i + 1] == 0, {i, 2, 9}], (3 - 5 Subscript[x, 1]) Subscript[x, 1] + 1 - 2 Subscript[x, 2] == 0, (3 - 5 Subscript[x, 10]) Subscript[x, 10] + 1 - Subscript[x, 9] == 0}], Table[Subscript[x, i], {i, 10}]] |
回复: 怎么解这非线性方程组
谢谢了,非常感谢,我试试
|
回复: 怎么解这非线性方程组
我老师说一定要MATLAB做,各位帮帮忙
|
回复: 怎么解这非线性方程组
只能解带初值的问题了,先创建函数:
%创建sol函数 function y=sol(a) y(1)=(3-5*a(1))*a(1)+1-2*a(2); for k=2:9 y(k)=(3-5*a(k))*a(k)+1-a(k-1)-2*a(k+1); end y(10)=(3-5*a(10))*a(10)+1-a(9); %保存下来,到matlab能识别的路径下 在主程序中调用: x=fsolve('sol',zeros(1,10)) 其中zeros(1,10)表示初值全为0,也可以换成你想要的初值,比如 换成ones(1,10), [1,2,3,……]自己按需要写吧。 |
回复: 怎么解这非线性方程组
注意,这里只是给一个解,可不是所有解。
再者,fsolve[COLOR="Red"][FONT="黑体"][SIZE="5"]在初始值为实数[/SIZE][/FONT][/COLOR]的时候求不出虚数解,你可以试一下 |
回复: 怎么解这非线性方程组
朋友,谢谢了,我试试
|
回复: 怎么解这非线性方程组
[QUOTE=学习蜗牛;28718]本人刚接触matlab不久,菜鸟级的,希望各位帮下,谢谢了
已知某非线性方程组如下: ff(1)=(3-5*x(1))*x(1)+1-2*x(2)=0 for k=2:9 ff(k)=(3-5*x(k))*x(k)+1-x(k-1)-2*x(k+1)=0 end ff(10)=(3-5*x(10))*x(10)+1-x(9)=0 试求该方程组的解。[/QUOTE] 哥们儿``前几天这个方程我也发了!估计是一个老师的作业~~怎么样?做出来没有``?交流哈啊~~QQ:343387355,也是交大的! |
所有时间均为北京时间。现在的时间是 12:34。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.