24小时热门版块排行榜    

CyRhmU.jpeg
查看: 522  |  回复: 8
当前主题已经存档。
【有奖交流】积极回复本帖子,参与交流,就有机会分得作者 水月庵男主持 的 6 个金币 ,回帖就立即获得 2 个金币,每人有 1 次机会

水月庵男主持

银虫 (小有名气)

[交流] 【求助】求助非线性方程求解

一个式子,K=(x1+x2).*f(x1,x2)  f(x1,x2)是关于x1和x2算出来的一个数,K为常数,现在有一系列的x2,想算出对应的x1,请问程序怎么写,非常感谢!!!
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

prairie

木虫 (正式写手)


水月庵男主持(金币+2):谢谢参与
把f(x1,x2)写成函数,然后求解方程。
可用for循环所有的x2.
O(∩_∩)O~
2楼2009-12-29 20:21:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

prairie

木虫 (正式写手)

你要把f函数给出来才好写程序。f太复杂不一定好弄。
O(∩_∩)O~
3楼2009-12-29 20:27:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

水月庵男主持

银虫 (小有名气)

x1+2.*x2).*f1=72
f1=x1+x2
差不多这个会解决,复杂得就行了,关键不会写那程序....
4楼2009-12-29 20:29:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

水月庵男主持

银虫 (小有名气)

(x1+2.*x2).*f1=72
f1=x1+x2
5楼2009-12-29 20:29:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

prairie

木虫 (正式写手)

怎么又有一f1呢?没看明白。
给个f函数就行了。
要不我自己写一个。
O(∩_∩)O~
6楼2009-12-29 20:45:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

prairie

木虫 (正式写手)

★ ★
nono2009(金币+2,VIP+0):辛苦了! 12-29 23:02
我自己想的函数要么简单,直接就推出表达式了。要么复杂,不好写了。
可以查看一下solve函数和fsolve函数。
如果式子实在复杂,考虑用迭代法。
O(∩_∩)O~
7楼2009-12-29 21:01:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hitzhang

木虫 (正式写手)

★ ★ ★
水月庵男主持(金币+2):谢谢参与
nono2009(金币+2,VIP+0):辛苦了! 12-29 23:01
引用回帖:
Originally posted by 水月庵男主持 at 2009-12-29 20:14:
一个式子,K=(x1+x2).*f(x1,x2)  f(x1,x2)是关于x1和x2算出来的一个数,K为常数,现在有一系列的x2,想算出对应的x1,请问程序怎么写,非常感谢!!!

>> [x1 x2]=meshgrid(-10:10);
>> z=x1+x2;
>> K=0;
>> C=contour(x1,x2,z,[K K]);
>> C(:,1)=[]

C =

  Columns 1 through 21

    10     9     9     8     8     7     7     6     6     5     5     4     4     3     3     2     2     1     1     0     0
   -10    -9    -9    -8    -8    -7    -7    -6    -6    -5    -5    -4    -4    -3    -3    -2    -2    -1    -1     0     0

  Columns 22 through 40

    -1    -1    -2    -2    -3    -3    -4    -4    -5    -5    -6    -6    -7    -7    -8    -8    -9    -9   -10
     1     1     2     2     3     3     4     4     5     5     6     6     7     7     8     8     9     9    10

>>
8楼2009-12-29 22:53:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fireornight

★ ★ ★
水月庵男主持(金币+2):谢谢参与
nono2009(金币+2,VIP+0):谢谢应助!欢迎常来仿真模拟版。 12-30 09:35
建议用mathematica
NSolve[K=(x1+x2).*f(x1,x2),{x1,a}]
a随便设好了,是个尝试解。算法可能是牛顿迭代,满快的
9楼2009-12-30 00:15:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 水月庵男主持 的主题更新
提示: 如果您在30分钟内回复过其他散金贴,则可能无法领取此贴金币
普通表情 高级回复(可上传附件)
信息提示
请填处理意见