matlab数值法解方程fsolve,关于fsolve求解方程组数值解
我相求这么一个方程组,现在的代码是这么写的:
主程序:syms c1 c2 c3 c4 r
c = [c1,c2,c3,c4];
digits(4)
es = c1*x_0(:,1)+c2*x_0(:,2)+c3*x_0(:,3)+c4*x_0(:,4);
yy = vpa(dot(AA*c',c)/dot(BB*c',c));
y = vpa(sum(es.^2));
L = yy+r*(y-1);
L1=diff(L,c1);
L2=diff(L,c2);
L3=diff(L,c3);
L4=diff(L,c4);
Lr=diff(L,r);
x0 = rand(5,1);
x=vpa(fsolve('func',x0,optimset('Display','off')));
ess = x(1)*x_0(:,1)+x(2)*x_0(:,2)+x(3)*x_0(:,3)+x(4)*x_0(:,4);
func函数是这样的
function q = func( p )
c1 = p(1);c2 = p(2);c3 = p(3);c4 = p(4);r = p(5);
q(1)=- r*(2.274e-13*c2 - 2.0*c1 + 1.819e-12*c3) - (1.0*(7.323e-20*c1 + 3.48e-20*c2 - 1.943e-20*c3 + 7.162e-20*c4))/(c2*(2.906e-17*c1 - 1.0*c2 + 4.142e-17*c3 - 2.082e-17*c4) + c4*(5.551e-17*c1 - 2.082e-17*c2 + 4.857e-17*c3 - 1.0*c4) - 1.0*c3*(2.489e-16*c1 - 4.142e-17*c2 + c3 - 4.857e-17*c4) - 1.0*c1*(c1 - 2.906e-17*c2 + 2.489e-16*c3 - 5.551e-17*c4)) - (1.0*(c2*(1.74e-20*c1 + 8.266e-21*c2 - 4.617e-21*c3 + 1.701e-20*c4) + c4*(3.581e-20*c1 + 1.701e-20*c2 - 9.502e-21*c3 + 3.502e-20*c4) + c1*(3.662e-20*c1 + 1.74e-20*c2 - 9.716e-21*c3 + 3.581e-20*c4) - 1.0*c3*(9.716e-21*c1 + 4.617e-21*c2 - 2.578e-21*c3 + 9.502e-21*c4))*(2.0*c1 - 5.811e-17*c2 + 4.979e-16*c3 - 1.11e-16*c4))/(c2*(2.906e-17*c1 - 1.0*c2 + 4.142e-17*c3 - 2.082e-17*c4) + c4*(5.551e-17*c1 - 2.082e-17*c2 + 4.857e-17*c3 - 1.0*c4) - 1.0*c3*(2.489e-16*c1 - 4.142e-17*c2 + c3 - 4.857e-17*c4) - 1.0*c1*(c1 - 2.906e-17*c2 + 2.489e-16*c3 - 5.551e-17*c4))^2;
q(2)=(1.0*(c2*(1.74e-20*c1 + 8.266e-21*c2 - 4.617e-21*c3 + 1.701e-20*c4) + c4*(3.581e-20*c1 + 1.701e-20*c2 - 9.502e-21*c3 + 3.502e-20*c4) + c1*(3.662e-20*c1 + 1.74e-20*c2 - 9.716e-21*c3 + 3.581e-20*c4) - 1.0*c3*(9.716e-21*c1 + 4.617e-21*c2 - 2.578e-21*c3 + 9.502e-21*c4))*(5.811e-17*c1 - 2.0*c2 + 8.283e-17*c3 - 4.163e-17*c4))/(c2*(2.906e-17*c1 - 1.0*c2 + 4.142e-17*c3 - 2.082e-17*c4) + c4*(5.551e-17*c1 - 2.082e-17*c2 + 4.857e-17*c3 - 1.0*c4) - 1.0*c3*(2.489e-16*c1 - 4.142e-17*c2 + c3 - 4.857e-17*c4) - 1.0*c1*(c1 - 2.906e-17*c2 + 2.489e-16*c3 - 5.551e-17*c4))^2 - r*(2.274e-13*c1 - 2.0*c2 + 2.245e-12*c3 - 3.411e-13*c4) - (1.0*(3.48e-20*c1 + 1.653e-20*c2 - 9.233e-21*c3 + 3.403e-20*c4))/(c2*(2.906e-17*c1 - 1.0*c2 + 4.142e-17*c3 - 2.082e-17*c4) + c4*(5.551e-17*c1 - 2.082e-17*c2 + 4.857e-17*c3 - 1.0*c4) - 1.0*c3*(2.489e-16*c1 - 4.142e-17*c2 + c3 - 4.857e-17*c4) - 1.0*c1*(c1 - 2.906e-17*c2 + 2.489e-16*c3 - 5.551e-17*c4));
q(3)=(1.0*(1.943e-20*c1 + 9.233e-21*c2 - 5.157e-21*c3 + 1.9e-20*c4))/(c2*(2.906e-17*c1 - 1.0*c2 + 4.142e-17*c3 - 2.082e-17*c4) + c4*(5.551e-17*c1 - 2.082e-17*c2 + 4.857e-17*c3 - 1.0*c4) - 1.0*c3*(2.489e-16*c1 - 4.142e-17*c2 + c3 - 4.857e-17*c4) - 1.0*c1*(c1 - 2.906e-17*c2 + 2.489e-16*c3 - 5.551e-17*c4)) - r*(1.819e-12*c1 + 2.245e-12*c2 - 2.0*c3 - 7.105e-13*c4) - (1.0*(4.979e-16*c1 - 8.283e-17*c2 + 2.0*c3 - 9.714e-17*c4)*(c2*(1.74e-20*c1 + 8.266e-21*c2 - 4.617e-21*c3 + 1.701e-20*c4) + c4*(3.581e-20*c1 + 1.701e-20*c2 - 9.502e-21*c3 + 3.502e-20*c4) + c1*(3.662e-20*c1 + 1.74e-20*c2 - 9.716e-21*c3 + 3.581e-20*c4) - 1.0*c3*(9.716e-21*c1 + 4.617e-21*c2 - 2.578e-21*c3 + 9.502e-21*c4)))/(c2*(2.906e-17*c1 - 1.0*c2 + 4.142e-17*c3 - 2.082e-17*c4) + c4*(5.551e-17*c1 - 2.082e-17*c2 + 4.857e-17*c3 - 1.0*c4) - 1.0*c3*(2.489e-16*c1 - 4.142e-17*c2 + c3 - 4.857e-17*c4) - 1.0*c1*(c1 - 2.906e-17*c2 + 2.489e-16*c3 - 5.551e-17*c4))^2;
q(4)=r*(3.411e-13*c2 + 7.105e-13*c3 + 2.0*c4) - (1.0*(7.162e-20*c1 + 3.403e-20*c2 - 1.9e-20*c3 + 7.004e-20*c4))/(c2*(2.906e-17*c1 - 1.0*c2 + 4.142e-17*c3 - 2.082e-17*c4) + c4*(5.551e-17*c1 - 2.082e-17*c2 + 4.857e-17*c3 - 1.0*c4) - 1.0*c3*(2.489e-16*c1 - 4.142e-17*c2 + c3 - 4.857e-17*c4) - 1.0*c1*(c1 - 2.906e-17*c2 + 2.489e-16*c3 - 5.551e-17*c4)) + (1.0*(c2*(1.74e-20*c1 + 8.266e-21*c2 - 4.617e-21*c3 + 1.701e-20*c4) + c4*(3.581e-20*c1 + 1.701e-20*c2 - 9.502e-21*c3 + 3.502e-20*c4) + c1*(3.662e-20*c1 + 1.74e-20*c2 - 9.716e-21*c3 + 3.581e-20*c4) - 1.0*c3*(9.716e-21*c1 + 4.617e-21*c2 - 2.578e-21*c3 + 9.502e-21*c4))*(1.11e-16*c1 - 4.163e-17*c2 + 9.714e-17*c3 - 2.0*c4))/(c2*(2.906e-17*c1 - 1.0*c2 + 4.142e-17*c3 - 2.082e-17*c4) + c4*(5.551e-17*c1 - 2.082e-17*c2 + 4.857e-17*c3 - 1.0*c4) - 1.0*c3*(2.489e-16*c1 - 4.142e-17*c2 + c3 - 4.857e-17*c4) - 1.0*c1*(c1 - 2.906e-17*c2 + 2.489e-16*c3 - 5.551e-17*c4))^2;
q(5)=(0.3564*c1 + 0.6837*c2 + 0.5763*c3 + 0.06982*c4)^2 + (0.6115*c1 - 0.02933*c2 - 0.5906*c3 + 0.1352*c4)^2 + (0.2437*c1 - 0.7247*c2 + 0.5636*c3 + 0.1245*c4)^2 + (0.07592*c1 - 0.04065*c2 + 0.0289*c3 - 0.9757*c4)^2 + (0.6587*c1 - 0.06987*c2 + 0.02453*c3 - 0.09683*c4)^2 - 1.0;
end
其实func里的函数q(1)q(2)q(3)q(4)q(5)就是主程序里的L1L2L3L4L5的计算结果,先运行完之后,又复制粘贴进func去的,应该怎么做才能把这五个方程直接放func里呢? 谢谢!
matlab数值法解方程fsolve,关于fsolve求解方程组数值解相关推荐
- Java解方程zu q,sympy求解方程组:导致错误:仅支持零维系统
我想计算一组微分方程的稳态,如下面的代码所示 . from sympy import * from sympy import solve from sympy import init_printing ...
- matlab解方程的程序,matlab算法程序解方程.ppt
<matlab算法程序解方程.ppt>由会员分享,可在线阅读,更多相关<matlab算法程序解方程.ppt(10页珍藏版)>请在人人文库网上搜索. 1.一 般 的 代 数 方 ...
- MATLAB#4解方程
clc; clear; for循环格式 循环语句不用加括号 for i=0:1:10 disp('hello world'); end a=input('请输入:')%不能加分号switch格式swi ...
- matlab solve 解的范围,matlab怎么解方程,如何规定解的范围?
方法/步骤: 一.解一元方程 1.先举一例,解方程"x^2+100*x+99=0". 在Matlab "Command Window"中输入如下命令:x=sol ...
- matlab解方程出现root,如何获得数值解
matlab解方程出现root,如何获得数值解 运行以下代码 syms x eqn = 4xxx-2x-4==O; solx = solve(eqn.x) 得到: solx = root(z^3 - ...
- matlab解方程出现root,如何获得数值解:
运行以下代码 syms x eqn = 4*x*x*x-2*x-4==0; solx = solve(eqn,x) 得到: solx = root(z^3 - z/2 - 1, z, 1) r ...
- MATLAB怎么解方程解,怎么用MATLAB求解微分方程组并画出解函数图?
!using["XSLSF"]; //使用命名空间XSLSF //数组xArray存放x的值:ti为当前有效值的个数:tmax为ti对应的时间:tmi ...
- MATLAB怎么解方程解,怎么用Matlab解方程?
工具/材料 matlab 2016a 打开matlab,首先定义变量x: syms x; matlab中solve函数的格式是solve(f(x), x),求解的是f(x) = 0的解. 第一个例子, ...
- matlab牛顿解方程,牛顿迭代法解非线性方程matlab实现
1 .功能 本程序采用牛顿法,求实系数高次代数方程 f(x)=a0xn+a1xn-1+ -+an-1x+an= 0 (an ≠0 ) ( 1 ) 的在初始值 x 0 附近的一个根. 2. 使用说明 ( ...
最新文章
- 用于3D重构的深层隐式移动最小二乘函数(CVPR 2021)
- 分区时磁盘上没有足够的空间完成此操作的解决方法
- 用结点实现链表LinkedList,用数组和结点实现栈Stack,用数组和结点链表实现队列Queue
- 安卓中AIDL的使用方法快速入门
- thymeleaf 中文_springboot 整合 thymeleaf(上手即用)
- 牛客网 【每日一题】8月5日题目精讲—蓝魔法师
- 北方华创:「8大报表应用场景」助力全方位数字化管理
- BCGControlBar的使用方法
- leetcode-141. 环形链表:判断链表是否成环
- django.db.utils.OperationalError: (1050, “Table ‘表名‘ already exists)解决方法
- python可以取代excel吗_10条Python命令全面取代Excel,妈妈再也不用担心我变成黑眼圈大表哥啦...
- 实战Python:详解利用Python和Pygame实现飞机大战
- 慎用 JSON.stringify
- OpenWrt路由器通过Aria2开启迅雷离线下载[图文教程]
- shopee上架接口java_关于shopee平台接口(php)对接示例
- 计算机调整分区出现无法读取文件提示,电脑出现文件或目录损坏无法读取怎么办?...
- python统计次数正则_Python提取信息必学基础——正则表达式
- C++实现员工工资管理系统
- 股份制银行的薪资对比
- ReSharper:著名的VS代码生成工具