打印

求助这个方程如何解啊

[复制链接]
2564|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
forsuccess|  楼主 | 2007-4-10 18:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
王紫豪| | 2007-4-10 21:52 | 只看该作者

我晕,你真懒。。

使用特权

评论回复
板凳
forsuccess|  楼主 | 2007-4-11 08:12 | 只看该作者

******

不是懒啊,真的不会解啊。问了几个人都不会所以才求助的。

使用特权

评论回复
地板
xzl| | 2007-4-11 08:22 | 只看该作者

自己去看高中的三角函数去吧

使用特权

评论回复
5
forsuccess|  楼主 | 2007-4-11 18:40 | 只看该作者

******

我狂晕!!!这是高中的吗???明显反三角,可能还要用什么泰勒公式展开之类的。这是高中的吗???

使用特权

评论回复
6
thw| | 2007-4-12 03:08 | 只看该作者

...

a+b
a-b

我也狂晕....还用泰勒公式....

使用特权

评论回复
7
forsuccess|  楼主 | 2007-4-12 08:15 | 只看该作者

******

呵呵,要不帮我试试啊,谢谢了。我太笨了,问了别人也还是不会。关键是要知道φ是未知的,而且只知道m-n的值.
你说的方法表达式中不但引入了φ,而且引入了

使用特权

评论回复
8
zhangchn| | 2007-4-12 11:48 | 只看该作者

试验一下

1)arccos(a/k)=wm+alpha;
2)arccos(b/k)=wn+alpha;
3) 1)-2) ==> arccos(a/k)-arccos(b/k)=w(m-n)
4)函数y=arccos(a/x)-arccos(b/x)-w(m-n),用程序数值运算y=0时x值
5)可以用Matlab计算,
也可以先用Matlab画个图估计一下大致位置,再编个程序for循环逼近一下。

使用特权

评论回复
9
xuyaqi| | 2007-4-12 11:53 | 只看该作者

不知你的数学问题实际工程应用是什么,应根据实际应用

不知你的数学问题实际工程应用是什么,应根据实际应用限定已知条件,缩小解的范围,否则就成了数学家研究的课题,那也太大了。

使用特权

评论回复
10
forsuccess|  楼主 | 2007-4-13 08:33 | 只看该作者

回各位,希望继续帮助啊

回9楼,工程应用是:
对某一时刻一个比较稳定的正弦波采样,期望得到其幅值。

8楼最后得到结果是:
w(m-n)=arccos(a/k)-arccos(b/k)
在这个表达式中只含有一个未知变量k,关键是这个表达式不是K的表达式,
编程也不太好编程吧。

另外6楼仁兄用初等数学帮帮啊,能用初等数学做出来就好了,也不用浪费我
芯片很多时间,我芯片速度不快的啊。。。。。。

另外不知道有仁兄用过matlab没有,可否用它来仿真一下呢?

使用特权

评论回复
11
gusto| | 2007-4-13 10:09 | 只看该作者

不是任何函数都有初等解


能写成函数形式 Y = fun(X)的变量 y 叫有初等解,但大多数工程问题是得不到的。

显然可以得到公式: w(m-n)=arccos(a/k)-arccos(b/k)          --(1)

你的问题中,你要研究一下 a 和 b 有什么关系(他们是两倍吗?还是正负关系?只有利用这些特殊条件,有可能得到 K 的初等解)

那么如果a,b 没有任何关系,而且数字也很一般,比如 a=0.3452, b=4.234
怎么办? 一般都是有数值分析方法,实际上是逼近法把他转化成高阶方程,然后用计算机来解这个高阶方程。根据要求的精确度来确定展开系数。

我们知道,任何函数都可以用泰勒展开,或牛顿展开。
所以
       arccos(a/k) = a0 + a1(a/k) + a2(a/k)^2 + a3(a/k)^3 +.... (2)
       arccos(b/k) = b0 + b1(b/k) + b2(b/k)^2 + b3(b/k)^3 + ... (3)
你已经知道a,b 随便翻一本数学书推导一下都可以知道 a0,a1,a2,a3,b0,b1,b2,b3...
所以,假定你要求的精确度不高,(2)(3)只取到 a4,b4 ,后面的忽略,你的方程(1)会变为:

     c4(k)^4 + c3(k)^3 + c2(k)^2 + c0(k) + c0 = 0;             (4)

其中 c0 与 w(m-n) 和 a0,b0 都有关系,c1,c2,c3,c4等都可以根据a0,a1,a2,b0,b1,b2...等求出来。

总之,方程 (4)的系数是都可以求出的。如果你精确度要求很高,那么可以得到5阶的方程,6阶的方程。 阶数越高,计算机求解工作量越大。

那么怎么求方程 (4)呢?翻看任何一本《数值分析》课本,都有。网上还有C语言写的原程序。

这样,你就得到了 k 了。 

使用特权

评论回复
12
forsuccess|  楼主 | 2007-4-13 14:10 | 只看该作者

感谢了!

gusto这位仁兄分析的好!我明白怎么做了,非常感谢!!!也感谢其它热心回复的朋友!!!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

34

主题

70

帖子

0

粉丝