找回密码
 注册
Simdroid-非首页
查看: 121|回复: 4

matlab的fsovle()函数对方程的求解问题

[复制链接]
发表于 2010-7-17 18:05:18 | 显示全部楼层 |阅读模式 来自 广东深圳
[i=s] 本帖最后由 messenger 于 2010-7-17 19:04 编辑 [/i]

用fsolve()函数解方程程序的问题(第5步),请网友解惑:


clear;clc;
syms e x
opt=optimset('Display','off','TolFun',1e-15); % 设置系统参数
% 1、定义被积函数  f(e,x)
f=@(e,x)sin(e)*sin(x);           % 定义被积函数 f(e,x),f 为函数句柄
% 2、taylor级数展开式
fe=taylor(f,4,e);                % 定义函数 f(e,x) 按 e 的taylor展开公式
% 3、taylor级数计算式及积分函数
festr=char(fe);                  % 将taylor级数 fe 转化为字符串
fec=@(e,x) eval(festr);          % 将字符串festr转化为级数函数 fec(e,x);
Fe=@(e,B) eval(int(fec(e,x),x,0,B));        % 定义级数数值积分函数 Fe(e,B)
% 4、被积函数及积分计算
e=0.5;x=0.5+2i;       % 变量赋值
f=f(e,x)              % 原被积函数 f(e,x) 计算值
fec=fec(e,x)          % 被积函数按 e 展开的taylor 级数计算值
Fe=Fe(e,x)            % 级数积分的数值积分值
% 5、积分方程的求解(求解变量B)
% 下述方程求解出现问题:
F0=0.5+0.5i;
Bc=fsolve(@(e,B) F(e,B)-F0,1*i,opt);  % 求复方程数值解 F(e,B)-F0=0

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
发表于 2010-7-17 19:41:35 | 显示全部楼层 来自 北京
Simdroid开发平台
本帖最后由 guocong89 于 2010-7-17 19:47 编辑

你的东西太诡异了,大F根本就没有定义,怎么可以参与fsolve运算的?
你把原题贴出来看看吧。我的理解是你要求



的解吧?
回复 不支持

使用道具 举报

 楼主| 发表于 2010-7-17 23:55:52 | 显示全部楼层 来自 广东深圳
本帖最后由 szldh2005 于 2010-7-18 09:14 编辑

对。作为1种方法,当积分无闭合解时,是想对被积函数用taylor级数(此处按e)展开得到代数方程后求复方程的B解(此例方程中e作为常数,B为变量)。方程改为Bc=fsolve(@(e,B) Fe(e,B)-F0,1*i,opt);  也得不到解。原程序在压缩文件中。
回复 不支持

使用道具 举报

发表于 2010-7-22 09:36:37 | 显示全部楼层 来自 日本
fsolve能同时求解两个变量么?
回复 不支持

使用道具 举报

发表于 2010-7-22 09:40:07 | 显示全部楼层 来自 黑龙江哈尔滨
可以,二个以上的变量也可以求解

fsolve能同时求解两个变量么?
LiuFengz 发表于 2010-7-22 09:36

评分

1

查看全部评分

回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-10-6 21:23 , Processed in 0.032439 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表