一元高次方程的问题!!!!!!!!!

use_zj 2009-12-23 04:25:06
方程:y=a1 + a1*x + a2*x^2 + a3*x^3.......

首先输入最高次方, 然后输入x,y的值(最少要几组?才能求得a,a1,a2...)
求a,a1,a2...

感觉挺难的.。。

说具体点方程程序的实现
...全文
270 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
use_zj 2009-12-25
  • 打赏
  • 举报
回复
熊猫的方法很好,相当不错,特别是思路
c#运行通过,vb。net 改成Dim t As Integer = (y \x)

巫师 不要出来捣蛋,头像有个性,我喜欢



水如烟 2009-12-24
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 use_zj 的回复:]
不会吧 我这有人家写的  好像很久前的  代码不多  也就150行代码  我看到用了不少goto 那种代码
[/Quote]
那150行代码估计是Fortran语言写的.解方程的数学方法有很多种,可惜我也忘得差不多了.

你将这150行贴出来,看看能否给你转成net的.
wanghui0380 2009-12-24
  • 打赏
  • 举报
回复
人要是懒了就没救了。

计算机原理的第一章:10进制到2进制转换,10进制到16进制转换,10进制到任意进制转换----你是咋学的,你的老师怎么就让你过关了滴。
贝隆 2009-12-24
  • 打赏
  • 举报
回复
晕!连殴拉和高斯都不知道,看来你数学肯定很差
wanghui0380 2009-12-24
  • 打赏
  • 举报
回复
哦,你要vb的,我来翻一下把

  Dim y As Integer = 350
Dim x As Integer = 4
Dim res As New List(Of Integer)
Me.getRes(y, x, (res))

Private Sub getRes(ByVal y As Integer, ByVal x As Integer, ByRef res As List(Of Integer))
Dim s As Integer = (y Mod x)
Dim t As Integer = (y / x)
res.Add(s)
If (t <> 0) Then
Me.getRes(t, x, (res))
End If
End Sub
wanghui0380 2009-12-24
  • 打赏
  • 举报
回复
放了1天了,都提示到这个份上了,你都懒的写啊

算了,我来写把!


            int y = 350;
int x = 4;
List<int> res = new List<int>();
getRes(y, x, ref res); //这个res集合就是你要的

private void getRes(int y,int x,ref List<int> res)
{
int s = y % x;
int t = y / x;
res.Add(s);
if (t!=0)
{
getRes(t, x, ref res);
}

}
wanghui0380 2009-12-24
  • 打赏
  • 举报
回复
哎,lz请换个问题问吧,半个小时内就会有答案

请问:如何用程序实现从10进制数据到任意进制数据的转换。
比如:10进制350到4进制数的转换。 350等与4进制的11132

既 350=1*4^4+1*4^3+1*4^2+3*4+2

按你的原题:y=350 ,x=4
a1=1
a2=1
a3=1
a4=3
a5=2

题目不难,理解意思了,递归既可
use_zj 2009-12-24
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 use_zj 的回复:]
问题划分的简单些吧
方程是:
y=a1 + a1*x + a2*x^2 + a3*x^3+ a4*x^4+ a5*x^5

现在知道了5组(x,y)的值,求a1,a2,a3,a4,a5

哪位大大能提供点思路啊
[/Quote]
这个方程是能用5重循环求出a1,a2,a3,a4,a5,
方程次数从外部取到的话循环就不知道怎么下手了
use_zj 2009-12-24
  • 打赏
  • 举报
回复
10 input"point divit=";N:N=N-1
20 input"power=";M
30 input"Ymax=";YH
50 dim x(N),Y(N),E(M,M+1),A(M+1,M+2),D(7),Y1(N),Y2(N)
70 for I=0 To N
80 print"X(";I;")=";
90 input X(I)
100 print
110 print"Y(";I;")=";
120 inputY(I)
130 print
140 next I
150 E(0,0)=0
160 for k=0 to n
170 for i=0 to n

不敲了,总共870这样的代码 看着就像vb啊?
wuyq11 2009-12-23
  • 打赏
  • 举报
回复
结合matlab
墨水鱼 2009-12-23
  • 打赏
  • 举报
回复
一元n次方程需要n组<x,y>的值能求出来。程序解可以看线性代数里的公式。
use_zj 2009-12-23
  • 打赏
  • 举报
回复
问题划分的简单些吧
方程是:
y=a1 + a1*x + a2*x^2 + a3*x^3+ a4*x^4+ a5*x^5

现在知道了5组(x,y)的值,求a1,a2,a3,a4,a5

哪位大大能提供点思路啊
use_zj 2009-12-23
  • 打赏
  • 举报
回复
不会吧 我这有人家写的 好像很久前的 代码不多 也就150行代码 我看到用了不少goto 那种代码
silentwins 2009-12-23
  • 打赏
  • 举报
回复
假若你的编译原理不行,我劝你还是放弃上来求方案代码之类的吧,光实现算术表达式就已经让人吐血了
use_zj 2009-12-23
  • 打赏
  • 举报
回复
自己顶~~~
mngzilin 2009-12-23
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 use_zj 的回复:]
哪个欧拉?
[/Quote]

就是那个让无数大学生“讨厌”的人物。

欧拉教会你什么是"谈拉色变"

只要遇见欧拉,你的生活不再噢啦
use_zj 2009-12-23
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 chengcheng1253 的回复:]
N 元1次方程啊 ~~我晕 N个元素 需要N个方程~
[/Quote]
是一元N次方程 要什么N个元素哦
方法就是知道了n组x,y的值 求a,a1,a2.。。的值,这块数学是不难的,笔算都不要多少时间,
就是用程序如何实现这个问题?
use_zj 2009-12-23
  • 打赏
  • 举报
回复
大家不要想复杂,数学公式就这样,要考虑的是:如何把这个求解的方法输入计算机
wanghui0380 2009-12-23
  • 打赏
  • 举报
回复
哎,基本数学知识啊

你没觉着这个东西看起来很像 任意进制间的转换公式
chengcheng1253 2009-12-23
  • 打赏
  • 举报
回复
N 元1次方程啊 ~~我晕 N个元素 需要N个方程~
加载更多回复(3)

16,720

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧