加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

matlab求解多元非线性方程组

(2013-06-12 00:29:44)
标签:

非线性

方程组

matlab

分类: 理:数学统计
时常会遇到解方程的问题,特别是一些比较复杂的方程组,如多元非线性方程组。
现用matlab解一道复杂的多元非线性方程组。如下图



建立 Myfun.m 文件
function F = myfun(x,a)

E = a(1);
I = a(2);
R0 = a(3);
R1 = a(4);
T = a(5);
A = a(6);
v = a(7);
rho = a(8);
F = [ (T - rho * A * v^2) * sin(x(3)) * x(1) - (T * cos(x(3)) + rho * A * v^2 - rho * A * v^2 * cos(x(3))) * x(2) - E*I/(R0 + R1);
(1/3) * (T - rho * A * v^2) * sin(x(3)) * x(1)^3 - (1/2) * (T * cos(x(3)) + rho * A * v^2 - rho * A * v^2 * cos(x(3))) * x(2) * x(1)^2 - E* I * x(2);
(T - rho * A * v^2) * sin(x(3)) * x(1)^2 - (T * cos(x(3)) + rho * A * v^2 - rho * A * v^2 * cos(x(3))) * x(2) * x(1) - E* I * x(3)];


建立一个执行文件
clc
clear

a = zeros(8);
display('# Pls input the known parameters: #')
a(1) = input('E = ');
a(2) = input('I = ');
a(3) = input('R0 = ');
a(4) = input('R1 = ');
a(5) = input('T = ');
a(6) = input('A = ');
a(7) = input('v = ');
a(8) = input('rho = ');
display('# Pls input the initial point: #')
x0 = zeros(3);                                      % Make a starting guess at the solution
x0(1) = input('x1 = ');
x0(2) = input('y1 = ');
x0(3) = input('phi = ');
options = optimset('Display','iter');               % Option to display output
[x,fval] = fsolve(@(x) myfun(x,a),x0,options)       % Call solver


运行,输入已知的几个参数,再输入初始搜索点,即可!


0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有