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

用finverse反函数求不出来,想用插值算,请高手指点

[复制链接]
发表于 2012-4-9 09:52:50 | 显示全部楼层 |阅读模式 来自 陕西西安
悬赏20仿真币已解决
求1.5*t-2*sin(0.05*t)*tan(0.05*t)=0的值

最佳答案

查看完整内容

首先用ezplot做出曲线,再选择合适的初值获取数值结果
发表于 2012-4-9 09:52:51 来自手机 | 显示全部楼层 来自 山东青岛
Simdroid开发平台
首先用ezplot做出曲线,再选择合适的初值获取数值结果
回复

使用道具 举报

发表于 2012-4-9 13:14:47 | 显示全部楼层 来自 湖北武汉
syms t  x

eq=1.5*t-2*sin(0.05*t)*tan(0.05*t);
x=solve(eq,t)
结果
x =

matrix([[0]])
回复

使用道具 举报

 楼主| 发表于 2012-4-9 14:44:03 | 显示全部楼层 来自 陕西西安
andm 发表于 2012-4-9 13:14
syms t  x

eq=1.5*t-2*sin(0.05*t)*tan(0.05*t);

除了0以外的答案
回复

使用道具 举报

 楼主| 发表于 2012-4-10 16:21:36 | 显示全部楼层 来自 陕西西安
求方程的值t=  (2* (1 –cos?( 0.1*t ) ))/y, 其中,y=[1.5  -0.4  -1.5  -1.3];求t?
算法一:syms t
>> y=2*(1-cos(0.1*t))/t;
finverse(y,t)

ans =

0

算法二:syms  p;
>> g=solve('1.5-2*p*(1-cos(0.1/p))=0')
Warning: Explicit solution could not be found.
> In solve at 140

g =

[ empty sym ]
没出错,但没结果。
算法三:syms  t ;
s=dsolve('1.5*t-2*(1-cos(0.1*t))=0','t');
??? Error using ==> maple
at offset 2, `}` unexpected

Error in ==> dsolve at 147
var_set = maple([var_set ' intersect ' var_set]);
回复

使用道具 举报

 楼主| 发表于 2012-4-10 16:23:14 | 显示全部楼层 来自 陕西西安
银杏树之舞 发表于 2012-4-10 16:21
求方程的值t=  (2* (1 –cos?( 0.1*t ) ))/y, 其中,y=[1.5  -0.4  -1.5  -1.3];求t?
算法一:syms t
>>  ...

大虾帮忙看看
回复

使用道具 举报

 楼主| 发表于 2012-4-10 16:36:03 | 显示全部楼层 来自 陕西西安
银杏树之舞 发表于 2012-4-10 16:21
求方程的值t=  (2* (1 –cos?( 0.1*t ) ))/y, 其中,y=[1.5  -0.4  -1.5  -1.3];求t?
算法一:syms t
>>  ...

三种算法都不行,请大虾指点
回复

使用道具 举报

 楼主| 发表于 2012-4-14 11:55:07 | 显示全部楼层 来自 陕西西安
liuyalong008 发表于 2012-4-13 15:22
首先用ezplot做出曲线,再选择合适的初值获取数值结果

呵呵,迭代太麻烦了,我已经用taylor公式简化公式了
回复

使用道具 举报

发表于 2012-4-17 16:34:34 | 显示全部楼层 来自 天津
银杏树之舞 发表于 2012-4-14 11:55
呵呵,迭代太麻烦了,我已经用taylor公式简化公式了

泰勒展开  你在哪个数值附近展开的??   那样只会有一个值
我用EZPLOT测试过了,没有问题,基本都可以解出来
回复

使用道具 举报

 楼主| 发表于 2012-4-18 09:10:58 | 显示全部楼层 来自 陕西西安
liuyalong008 发表于 2012-4-17 16:34
泰勒展开  你在哪个数值附近展开的??   那样只会有一个值
我用EZPLOT测试过了,没有问题,基本都可以解 ...

我试出来了,呵呵,谢谢:)
回复

使用道具 举报

 楼主| 发表于 2012-4-18 09:32:05 | 显示全部楼层 来自 陕西西安
liuyalong008 发表于 2012-4-17 16:34
泰勒展开  你在哪个数值附近展开的??   那样只会有一个值
我用EZPLOT测试过了,没有问题,基本都可以解 ...

还有个问题请教一下:问题一:
z1=[0.00003 0.00033 0.00034];
for z=0:0.000001:0.00034
if z>=0&z<z1(1,1)
f(z)=s(1,1);
else if z>=z1(1,1)&z<z1(1,2)
f(z) = s(1,2);
else
f(z) =s(1,3);
end
end
plot(z,f(z));

这个程序没有运行结果,why?
问题二:

f=@(x)0*(x<=-1)+(2*x+1)*(x>-1&x<1)+1*(x>=1);
fplot(f,[-2 2])
为何要加@(x)?

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 20:07 , Processed in 0.037240 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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