声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1974|回复: 4

[编程技巧] 用solve可否求解含贝塞尔函数的方程

[复制链接]
发表于 2010-4-17 16:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
程序如下:
syms  x y v a b s D E h
J0=besselj(0,x); Y0=bessely(0,x); %第一、二类贝塞尔函数
I0=besseli(0,x); K0=besselk(0,x); %第一、二类修正贝塞尔函数
J1=besselj(1,y); Y1=bessely(1,y);
I1=besseli(1,y); K1=besselk(1,y);
x=0.02*s;y=0.1*s;
%D=E*h^3/(12*(1-v^2));
A=[J0 I0 Y0 K0;
   -J1 I1 -Y1 -K1;
   J0-(1-v)*J1/y -(I0-(1-v)*I1/y) Y0-(1-v)*Y1/y -(K0+(1-v)*K1/y);
   -y*J1 -y*I1 -y*Y1 y*K1];
Q=det(A);
a=0.02;b=0.1;h=0.002;v=0.3;E=110e+9;p=8500;
EQ=subs(Q);
s=solve(EQ,'s')

运行后出现:
Warning: Warning, solutions may have been lost

s =

                                                                          0
-.28520623831532364547345649892785e-37-14.117914639343273102748346261382*i
                                         -14.117914639343273102748346261382
结果不对呀!是不是不能用solve解?
请高手指点指点!
回复
分享到:

使用道具 举报

发表于 2010-4-17 23:10 | 显示全部楼层

回复 楼主 minzhang1999 的帖子

个人水平专业有限, 数学方面忘干净了
但瞄了下, 总直觉直接使用数值计算即可!  不行吗?
 楼主| 发表于 2010-4-18 10:02 | 显示全部楼层
我要的结果应该是正的,但计算出的是负的,很困惑。
发表于 2010-4-18 11:44 | 显示全部楼层
其实昨晚我是有试跑过, 但没有Warning而且仅s=0
版本是2009a
 楼主| 发表于 2010-4-21 14:15 | 显示全部楼层
我用的版本是2007a,问题还是没解决!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-6-17 12:46 , Processed in 0.054670 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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