在mathematica中循环语句的问题

已知p[0],V,R,B[k],写一个循环语句使图中语句从初值p[0]开始,循环50次,最后输出p[50]R是16*16的矩阵,V和B[k]是4*4的矩阵,y[x]是16... 已知p[0],V,R,B[k],写一个循环语句使图中语句从初值p[0]开始,循环50次,最后输出p[50]
R是16*16的矩阵,V和B[k]是4*4的矩阵,y[x]是16*1的矩阵
急急急!!!
展开
 我来答
frokaikan
推荐于2016-05-22 · TA获得超过109个赞
知道小有建树答主
回答量:57
采纳率:0%
帮助的人:51.1万
展开全部
LZ你前面的定义有些问题,B1、B2等需要写作B[1]、B[2]这样的形式,最后循环那段这么写就好(用的Do,这里感觉Nest不太方便)

Do[p[i] = \!\(
\*UnderoverscriptBox[\(\[Sum]\), \(k =
1\), \(16\)]\((\(\(NDSolveValue[{\(y'\)[x] == R . y[x],
y[0] == Table[
Tr[V . p[i - 1] . ConjugateTranspose[V] . B[k]]/4, {k,
16}]}, y, {x, 0, 2}]\)[1.5]\)[\([k]\)]*B[k])\)\), {i, 1,
50}]; p[50]//Chop

{{-1057.12, 0, 0, 0}, {0, -11.2151, 0, 0}, {0, 0, 379.48, 0}, {0, 0,
0, 689.859}}
NDSolveValue的好处就是不用替换直接得到结果...
另外不保证不会由于误差累计导致最后结果总误差较大
matlabfunc
2015-05-30 · TA获得超过1197个赞
知道小有建树答主
回答量:1004
采纳率:0%
帮助的人:589万
展开全部
题目很难读懂
更多追问追答
追问
是图片中的难懂还是文字没叙述清楚?
追答
文字,把内容直接拷贝上,不要用图片。NDSolve直接返回的是积分值,不知道P[50]是啥。

你的意思是这样?

NDSolve[{y'[x] == y[x] Cos[x + y[x] + P[i]], y[0] == 1}, y, {x, 0, 30}]

里面的P[i] 从0到50?求出每个P[i]对应的解?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式