24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 2539  |  回复: 22

xzczd

木虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
loujing: 金币+20, ★★★★★最佳答案 2016-01-11 09:34:03
引用回帖:
20楼: Originally posted by loujing at 2016-01-08 18:15:38
追问一下,在得到这里的联立方程组后,符号推导的工作是不是就可以算结束了?

如果接下来,我给出具体的一组(x_i,y_i),如何再利用这里的推导,计算出具体的w_j?...

说结束也算结束了,说没结束也没结束,4楼的推导在这之后又多了一步,是把之前的结果写成了矩阵乘法的形式,这个其实是矩阵点乘规则的直接应用,,但是如果你想把这步也交给软件推导的话,我可以告诉你这个规则又是没在Mathematica里内置的。用上面提及的模式匹配当然可以进一步变形……不过,硬变过去真没啥意思(两者在编程实现上的区别也不算很大,而且如果对线代熟悉的话这步变形实际上靠目视即可确认)所以这里就不弄了。

其实,如果一开始的目标就是数值解,或者点数和多项式阶数都是具体的数的解析解的话,整个问题的求解会简单很多……不过既然你非要利用这里的推导的话:
CODE:
(*之前的代码我就不复制了*)
n = 3; m = 2;
points = RandomReal[1, {n, 2}];

{x[i_], y[i_]} := {points[[i, 1]], points[[i, 2]]};

var = w /@ Range[0, m];
Solve[Table[eqn, {j, 0, m}], var][[1]]
(var /. %).x^Range[0, m]
Show[Plot[%, {x, Min[points[[All, 1]]], Max[points[[All, 1]]]}], ListPlot[points],
PlotRange -> All]
Clear[x, y]

如果要用矩阵形式的那个公式的话:
CODE:
{xlist, ylist} = points\[Transpose];
With[{xm = #^Range[0, m] & /@ xlist}, Solve[ylist.xm == var.xm\[Transpose].xm, var]]

最后,如果一开始就定了阶数的话:
CODE:
f[i_, m_, x_] := Sum[w@j*x[[i]]^j, {j, 0, m}]
l[m_, n_, x_, y_] := 1/2 Sum[(f[i, m, x] - y[[i]])^2, {i, n}];
n = 4; m = 2;
var = w /@ Range[0, m];
{xlist, ylist} = Transpose@RandomReal[1, {n, 2}];
NSolve[D[l[m, n, xlist, ylist], {var}], var]
Show[ListPlot[Transpose[{xlist, ylist}]],
Plot[Evaluate[var.x^Range[0, m] /. %], {x, 0, 1}], PlotRange -> All]

最后的最后,虽然知道你是在学习这种方法所以大概对此不太关心,但是,线性拟合在Mathematica里是内置的,你可以看看Fit和LinearModelFit的帮助。
小木虫Mathematica版块已毁(当然原本也不咋的),建议大家前往百度贴吧或Stackexchange。
21楼2016-01-08 21:36:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xzczd

木虫 (小有名气)

【答案】应助回帖

引用回帖:
21楼: Originally posted by xzczd at 2016-01-08 21:36:58
说结束也算结束了,说没结束也没结束,4楼的推导在这之后又多了一步,是把之前的结果写成了矩阵乘法的形式,这个其实是矩阵点乘规则的直接应用,,但是如果你想把这步也交给软件推导的话,我可以告诉你这个规则又是 ...

啊,第一段代码漏贴了eqn的定义:
CODE:
eqn = (D[l /. rulej1[w@j], w[j]] /. {rulej2, rulej3} //. {ruleExpand, ruleDistribute,
      ruleExtract} // Expand) == 0

小木虫Mathematica版块已毁(当然原本也不咋的),建议大家前往百度贴吧或Stackexchange。
22楼2016-01-08 21:45:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhuxm888

铁虫 (初入文坛)

引用回帖:
18楼: Originally posted by xzczd at 2016-01-08 17:59:09
……刚发现我为了凑出和你的顶楼相似的结果犯了个错误。盯着四楼的图看了半天(真伤眼),现在我基本确定,正确的推导是:

f := Sum
l = 1/2 Sum;

rulej1 := Sum /; ! FreeQ :> sum
rulej2 = sum' :> ...

ruleDistribute =
  Sum[expr1_ + expr2_, i_] :> Sum[expr1, i] + Sum[expr2, i];
运行这句的时候,为什么我用的mathematica 7.0 显示
Rule::rhs: Pattern i_ appears on the right-hand side of rule i_->1+i_. >>
一个坚强的小虫
23楼2017-03-20 15:23:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 loujing 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 071000生物学调剂 +6 拉提桃 2026-04-06 6/300 2026-04-06 12:33 by ilovexiaobin
[考研] 专硕0854初试考材科基,求调剂 +6 3220548044 2026-04-06 9/450 2026-04-06 10:26 by barlinike
[考研] 调剂 一志愿吉林大学357分 +5 .Starry. 2026-04-04 5/250 2026-04-06 09:28 by cql1109
[考研] 328分调剂 +6 门men 2026-04-04 6/300 2026-04-05 13:40 by imissbao
[考研] 一志愿电子科技大学085600材料与化工 329分求调剂 +10 Naiko 2026-04-04 10/500 2026-04-05 09:40 by sam3303
[考研] 306求调剂 +3 hyb上名工 2026-04-02 3/150 2026-04-04 18:12 by 热情沙漠
[考研] 0703求调剂 +6 zizimo 2026-03-31 6/300 2026-04-04 14:16 by 无际的草原
[考研] 求调剂,一志愿北京中医药大学 +3 小小达不溜 2026-04-02 3/150 2026-04-03 22:55 by 冲矢昴星团
[考研] 数二英二348求调剂 +4 hxdzj1 2026-04-03 5/250 2026-04-03 21:25 by zhq0425
[考研] 334求调剂 +9 Trying] 2026-03-31 9/450 2026-04-03 15:18 by 琢珥丶
[考研] 11408,284分,二战真诚求调剂 +4 12.27 2026-04-02 4/200 2026-04-03 14:14 by dxiaoxin
[考研] 求调剂 +7 Aniyaio 2026-04-02 7/350 2026-04-02 16:42 by zzsw+
[考研] 调剂 +3 好好读书。 2026-04-01 6/300 2026-04-02 15:49 by liumengping
[考研] 材料化工340求调剂 +5 jhx777 2026-03-30 5/250 2026-04-02 12:45 by smileboy2006
[考研] 298求B区调剂 +4 zzz,,r 2026-04-02 5/250 2026-04-02 12:17 by 土木硕士招生
[考研] 286求调剂 +5 Sa67890. 2026-04-01 7/350 2026-04-01 19:50 by 6781022
[考研] 353求调剂 +4 拉钩不许变 2026-04-01 4/200 2026-04-01 18:10 by 记事本2026
[考研] 267求调剂 +13 uiybh 2026-03-31 13/650 2026-04-01 10:25 by 探123
[考研] 考研材料工程351分调剂 +5 整个好的 2026-03-31 5/250 2026-04-01 09:36 by topgun2009
[考研] 339求调剂 +5 zjjkt 2026-03-31 5/250 2026-04-01 09:18 by JourneyLucky
信息提示
请填处理意见